Ruby+ Blob: Crafting an app for teaching kids computational thinking

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
School of Arts, Design and Architecture | Master's thesis
Location:
P1 OPINNÄYTTEET D 2018 Niitamo
Date
2018
Major/Subject
Mcode
Degree programme
New Media Design and Production
Language
en
Pages
92
Series
Abstract
Computational thinking has experienced considerable growth in the last decade and its entry into K-12 education has been steadfast. Schools worldwide have begun implementing curricula based on computational thinking and programming in order to prepare students for a future with ubiquitous computing. Similarly, educational initiatives, policymakers and companies have followed suit to provide their own implementations. Coding education and computational thinking have also entered mobile apps, opening up a variety of opportunities for app developers. This production-based thesis explores the array of approaches with which computational thinking can be brought to consumer products, while at the same time promoting creativity and play. Additionally, it documents the development of Ruby+ Blob, a mobile app aimed at teaching computational thinking skills to children, aged three to eight years, through open-ended play. The design and utility of the app were informed by research conducted on the state and principles of computational thinking and by a benchmark of currently existing implementations. A literature review was carried out on the subject of computational thinking in order to present a comprehensive summary of the current state of the field. The review investigated its history, a concise definition of the term, core principles involved, educational developments and criticisms raised. Additionally, prominent existing implementations were examined to gain an understanding of the breadth of possible applications. Findings from these studies were utilized in creating the Ruby+ Blob app. The production steps were documented with comparisons to the implementations and assessments of the application of computational thinking principles. The research revealed the core concepts of computational thinking as decomposition, pattern recognition, abstraction and algorithmic thinking, and additional practices as debugging, tinkering and creating. Existing implementations benchmarked displayed a variety of approaches with trends, such as visual programming, or block code, instruction-based sequences, robotics and games, emerging. These insights were used to design, compare and assess the production.

Ohjelmoinnillinen ajattelu on viime vuosikymmenenä kokenut suurta kasvua ja sen laajeneminen peruskouluihin on ollut määrätietoista. Koulut ympäri maailmaa ovat alkaneet toteuttamaan ohjelmoinnilliseen ajatteluun ja ohjelmointiin perustuvia opintosuunnitelmia valmistellakseen opiskelijat tietokoneiden täyttämään tulevaisuuteen. Samaan aikaan, erinäiset koulutusaloitteet, lainsäätäjät ja yritykset ovat tuoneet tuotoksiaan julki. Koodausopetus ja ohjelmoinnillinen ajattelu on saapunut myös mobiilisovelluksiin, avaten eri mahdollisuuksia sovelluskehittäjille. Tämä projektipohjainen opinnäytetyö tutkii toteutuksien laajaa kirjoa, jolla ohjelmoinnillinen ajattelu voidaan tuoda kuluttajatuotteisiin, edistäen samalla luovuutta ja leikkiä. Lisäksi, työ dokumentoi tuotantoprosessin opetuksellisesta Ruby+ Blob mobiilisovelluksesta, joka pyrkii opettamaan 5-8-vuotiaille lapsille ohjelmoinnillisen ajattelun taitoja avoimen leikin avulla. Sovelluksen suunnittelu ja toiminta perustuu tutkimukseen ohjelmoinnillisen ajattelun nykytilasta ja historiasta sekä olemassa olevien toteutuksien toiminnalliseen vertailuun. Kyseiseen aihepiiriin kohdistuva kirjallisuuskatsaus suoritettiin esittääkseen kattava yhteenveto ohjelmoinnillisen ajattelun nykytilasta. Katsaus tutki alan historian, käsitteen termin yleisen määritelmän, keskeiset periaatteet, koulutusaloitteet sekä alaan kohdistuvan kritiikin. Alan merkittävimmät toteutukset käytiin myös läpi, jotta saataisiin kokonaiskuva alan laajamittaisista soveltuvuuksista. Tutkimuksen tuloksia käytettiin hyväksi Ruby+ Blob sovelluksen luomistyössä. Sovelluksen tuotannon työvaiheet dokumentoitiin toteutuksien toiminnallista vertailua ja ohjelmoinnillisen ajattelun periaatteiden arviointia hyödyntäen. Tuloksissa esiintyi ohjelmoinnillisen ajattelun konseptit: jakaminen osiin, kaavojen tunnistaminen, abstraktio ja algoritminen ajattelu, sekä harjoituksina virheiden tunnistaminen, kokeileminen ja luominen. Tutkitut toteutukset edustivat monipuolista sovellusten kattausta, jossa muodostuivat trendeiksi muun muassa visuaalinen ohjelmointi, ohjepohjaiset sekvenssit, robotiikka ja pelit. Näitä oivalluksia käytettiin tuotannon suunnitteluun, vertailuun sekä arvioimiseen.
Description
Supervisor
Leinonen, Teemu
Thesis advisor
Leinonen, Teemu
Keywords
computational thinking, computing education, programming, app development, K-12 education, digital toy
Other note
Citation