8 research outputs found

    Nonlinear Storytelling Approach to Developing Computational Thinking Skills

    Get PDF
    Current methods for developing computational thinking skills usually have a technical and programming-centric approach and are not suitable for all people. In this research, the use of nonlinear storytelling as an educational method was examined. The specific interest was to analyze its relationship with the concept of computational thinking and to investigate if nonlinear storytelling can be used as a low-threshold method for teaching fundamental computational thinking skills. This research situates itself in computer science education. It consists of four independent studies. Study I investigates how nonlinear storytelling can be integrated into an adult education course for developing basic information technology skills. Special attention was given to understanding the role of storytelling in the process. The result of this study was a method that integrates nonlinear storytelling into educational game development. Study II studied the relationship between nonlinear stories and computational thinking by examining how typical computer programs are implemented using stories. The study shows that nonlinear stories are best suited for implementing finite state machine programs and programs that include interaction. The natural character of applicability indicates that nonlinear storytelling can improve students’ readiness for learning programming skills. In study III, experiences and observations made at the end of the aforementioned adult education course are reported. The technical quality of the stories collected (N = 14) was investigated and common challenges in the storytelling process such as understanding hyperlinking and its purpose in gamification were identified. In this study, a practical classification for storytelling software and metrics for analyzing stories were developed. Finally, study IV focused on investigating whether the concept of computational thinking allows broader interpretations compared to how it is traditionally used. The concept of computational thinking was explored by using the Extended Mind thesis by Clark and Chalmers. Analysis showed that it is reasonable to expand the concept beyond the traditional computer programming-based interpretation.Nykyiset menetelmät algoritmisen ajattelun opetuksessa ovat usein teknisiä ja ohjelmointikeskeisiä eivätkä ne sovi kaikille kohderyhmille. Tässä työssä selvitettiin epälineaaristen tarinoiden käyttöä opetuksessa. Erityinen kiinnostuksen kohde oli se, mikä on epälineaaristen tarinoiden suhde algoritmiseen ajatteluun ja voiko epälineaarisia tarinoita käyttää matalan kynnyksen menetelmänä algoritmisen ajattelun harjoittamiseen. Tämä tutkimus sijoittuu tietotekniikan opetuksen alalle. Työ koostuu neljästä osatutkimuksesta. Osatutkimuksessa I tutkittiin, miten epälineaarinen tarinankerronta voidaan ottaa osaksi tietotekniikkavalmiuksia kehittävää aikuiskoulutusta. Tutkimuksen tuloksena syntyi menetelmä, joka yhdistää epälineaarisen tarinankerronnan pelinkehitykseen. Osatutkimuksessa II tutkittiin epälineaaristen tarinoiden suhdetta algoritmiseen ajatteluun selvittämällä tyypillisten tietokoneohjelmien toteutuksia. Toteutuksista kävi ilmi, että epälineaariset tarinat sopivat erityisesti äärellisillä automaateilla esitettävissä olevien ohjelmien sekä interaktiivisten ohjelmien toteuttamiseen. Tarinallisten toteutusten luontevuus osoitti, että tarinoiden avulla voidaan harjoittaa opiskelijoiden ohjelmointivalmiuksia. Osatutkimuksessa III raportoitiin edellä mainitun tietotekniikkavalmiuksia kehittävän aikuiskoulutuksen aikana tehtyjä havaintoja ja saatuja kokemuksia hankkeen loputtua. Erityisesti selvitettiin hankkeessa kerättyjen tarinoiden (N = 14) teknistä laatua sekä yleisimpiä ongelmia hyperlinkkien toiminnan sekä pelillisen merkityksen ymmärtäminen kanssa. Osatutkimuksessa IV selvitettiin, miten algoritmisen ajattelun käsitettä voidaan tulkita sen perinteistä tulkintaa laajemmin. Problematiikkaa lähestyttiin Clarkin ja Chalmersin laajennetun mielen hypoteesia käyttäen. Epälineaaristen tarinoiden yhteyttä algoritmiseen ajatteluun ei ole tutkittu aiemmin, joten aihe on uusi. Tämän tutkimuksen perusteella epälineaarista tarinankerrontaa voidaan soveltaa algoritmisen ajattelun harjoittamiseen. Uudenlainen lähestymistapa kuitenkin haastaa algoritmisen ajattelun käsitteen, joka on perinteisesti ymmärretty ohjelmoinnin kautta

    Teaching programming for novices by designing computer games

    Get PDF
    Programiranje je apstraktno i teško, pogotovo za početnike na osnovnoškolskoj razini školovanja. Za „klasično“ poučavanje programiranja uglavnom se koriste tekstualni programski jezici, što dodatno otežava učenje početnicima zbog naglašenih problema sintakse. Osim toga, dodatni problem je kontekst programiranja koji se uglavnom svodi na rješavanje matematičkih problema, što pripadnicima digitalnog doba smanjuje motivaciju. Ublažavanje problema sintakse, ali i pomak konteksta programiranja sa matematičkih problema na npr. oblikovanje igara može se postići korištenjem vizualnih programskih jezika primjerenim uzrastu. Prema navedenom postavljena su tri osnovna cilja istraživanja: a) utvrditi utjecaj na poučavanje programiranja, kod početnika u osnovnoj školi, oblikovanjem igara u blokovski orijentiranom, vizualnom programskom jeziku, primjerenom dobi učenika; b) utvrditi utjecaj promjene konteksta učenja s matematičkih problema prema oblikovanju računalnih igara na razumijevanje koncepta petlje i motivaciju učenika u osnovnoj školi; c) osmisliti model poučavanja programiranja početnika u osnovnoj školi uz uporabu alata i zadataka primjerenim dobi učenika. Prema ciljevima osmišljeno je istraživanje u četiri faze koje se provodilo tijekom četiri školske godine u osnovnim školama. Rezultati cjelokupnog istraživanja pokazali su kako učenici postižu bolje rezultate kada se za poučavanje programiranja kod početnika u osnovnoj školi koristi kontekst oblikovanja igara te kada se za programiranje koristi vizualni-blokovski programski jezik primjeren dobi. Također je utvrđeno kako je stav prema programiranju bolji u odnosu na „klasično“ poučavanje programiranja. Rezultati istraživanja mogu biti smjernice za razvoj novih načina poučavanja programiranja početnika u osnovnim školama.Programming is abstract and hard, especially for beginners at the primary level of education. The traditional way of teaching programming is based on using text-based programming languages which further complicates learning for beginners by emphasizing syntax problems. Besides that, additional problem is the programming context which is mostly based on solving math problems, reducing the motivation for members of the digital age. Syntax problems can be reduced, but also context can be shifted from solving math problems towards the design of computer games, by using visual programming languages appropriate for target age. Per the above, three main goals were set: a) determine the appropriateness and effectiveness of using visual programming language for designing computer games for programming novices in the elementary school; b) determine the effectiveness of the understanding of repeating algorithm by designing games using visual programming languages; c) offer teaching model for programming novices at the elementary school level by using appropriate tools and tasks. According to set goals, the research is organized in four stages during four school years in elementary schools. The results of the revealed that students gain a better understanding of programming concepts by using visual programming languages appropriate for students age compared to the traditional way of teaching programming. Besides, students motivation toward programming is also improved by programming games using visual programming languages. According to the results, the new didactic strategy that will enrich the methodological knowledge will be proposed

    Teaching programming for novices by designing computer games

    Get PDF
    Programiranje je apstraktno i teško, pogotovo za početnike na osnovnoškolskoj razini školovanja. Za „klasično“ poučavanje programiranja uglavnom se koriste tekstualni programski jezici, što dodatno otežava učenje početnicima zbog naglašenih problema sintakse. Osim toga, dodatni problem je kontekst programiranja koji se uglavnom svodi na rješavanje matematičkih problema, što pripadnicima digitalnog doba smanjuje motivaciju. Ublažavanje problema sintakse, ali i pomak konteksta programiranja sa matematičkih problema na npr. oblikovanje igara može se postići korištenjem vizualnih programskih jezika primjerenim uzrastu. Prema navedenom postavljena su tri osnovna cilja istraživanja: a) utvrditi utjecaj na poučavanje programiranja, kod početnika u osnovnoj školi, oblikovanjem igara u blokovski orijentiranom, vizualnom programskom jeziku, primjerenom dobi učenika; b) utvrditi utjecaj promjene konteksta učenja s matematičkih problema prema oblikovanju računalnih igara na razumijevanje koncepta petlje i motivaciju učenika u osnovnoj školi; c) osmisliti model poučavanja programiranja početnika u osnovnoj školi uz uporabu alata i zadataka primjerenim dobi učenika. Prema ciljevima osmišljeno je istraživanje u četiri faze koje se provodilo tijekom četiri školske godine u osnovnim školama. Rezultati cjelokupnog istraživanja pokazali su kako učenici postižu bolje rezultate kada se za poučavanje programiranja kod početnika u osnovnoj školi koristi kontekst oblikovanja igara te kada se za programiranje koristi vizualni-blokovski programski jezik primjeren dobi. Također je utvrđeno kako je stav prema programiranju bolji u odnosu na „klasično“ poučavanje programiranja. Rezultati istraživanja mogu biti smjernice za razvoj novih načina poučavanja programiranja početnika u osnovnim školama.Programming is abstract and hard, especially for beginners at the primary level of education. The traditional way of teaching programming is based on using text-based programming languages which further complicates learning for beginners by emphasizing syntax problems. Besides that, additional problem is the programming context which is mostly based on solving math problems, reducing the motivation for members of the digital age. Syntax problems can be reduced, but also context can be shifted from solving math problems towards the design of computer games, by using visual programming languages appropriate for target age. Per the above, three main goals were set: a) determine the appropriateness and effectiveness of using visual programming language for designing computer games for programming novices in the elementary school; b) determine the effectiveness of the understanding of repeating algorithm by designing games using visual programming languages; c) offer teaching model for programming novices at the elementary school level by using appropriate tools and tasks. According to set goals, the research is organized in four stages during four school years in elementary schools. The results of the revealed that students gain a better understanding of programming concepts by using visual programming languages appropriate for students age compared to the traditional way of teaching programming. Besides, students motivation toward programming is also improved by programming games using visual programming languages. According to the results, the new didactic strategy that will enrich the methodological knowledge will be proposed

    Examining the Impact of Game-Based Learning on Student Engagement and Performance in an Introductory Computer Programming Course at the University of the Southern Caribbean (USC)

    Get PDF
    At the University of the Southern Caribbean (USC) students often struggle with learning programming. Because of this struggle, they often become disengaged with the programming courses, with some transferring to other degree programmes or withdrawing from the programme. While several strategies have been used to ensure that students can problem- solve, design, and develop coded solutions, it has not been enough to alleviate the issues. Game- based learning (GBL) emerged as a possible strategy that can potentially help students develop these skills while keeping them engaged with the course content. Implementing such a strategy within the department requires evidence that it can be an effective technique for teaching and learning programming. Therefore, the aim of this study is to evaluate the impact of GBL on student engagement and overall performance in an introductory programming course. The research was designed as a deductive exploratory single case study research strategy and method. It approaches the aims and objectives from a pragmatic perspective, and as a result, uses a mixed methodological approach to data collection and analysis. The findings show that while GBL does not alleviate the common negative reactions to learning programming, it does provide a learning environment engaging enough for students to overlook these. This results in students having an enhanced perception of the knowledge and improved performance. In implementing GBL in other programming courses, some features that are potentially the most impactful on students learning are immediate feedback, freedom to fail, user interface, code without limitations, and a visual representation of progress

    Extending Text-Based Programming Languages to Embed Computing into Middle School Science Classrooms:

    Get PDF
    Thesis advisor: C. Patrick . ProctorThe demand for talent in the technology sector and the notion of computational thinking as everyday skills propel computing to enter middle school classrooms. The growing popularity of physical computing in educational spaces also infuses computing with elements of creativity and joy. Despite these recent movements, computing remains primarily in informal spaces due to a shortage of computer science teachers and the increasing focus on standardized testing. Arguing that computing and science share practices, this study views computing as problem-solving tools for science and proposes an integrated approach to teaching computing in science classrooms that takes advantage of the affordances of modern physical computing devices. Based on this perspective, a set of physical computing tools was developed to de-emphasize the mechanisms of computer science and shift focus to problem-solving and authentic scientific practices. This study aims to investigate the experiences of two science teachers and 16 students who learned to build self-regulated smart tabletop greenhouses with these tools as complete novices and critically evaluate the principles that undergird the design of the tools. With a qualitative, multiple case study design, this study answers two questions: 1) how did the teachers implement and reflect on their instruction? 2) how did the students engage with computing and science? Data from interviews and observations suggest that although the teachers shared similar instructional practices, their conceptualizations of the interplay between computing and science differed initially. They also had different instructional focuses and followed different trajectories in teaching, which may have produced subtly different understandings of computing-science relationships from their students. Despite these differences, all participants’ understandings of computing-science relationship conformed to a reciprocal pattern, which augmented the shared-practice argument for the integrated approach found in the literature. The challenges that the participants experienced contributed to the revision of the design of the computing tools. Based on these findings, the study recommends future directions in disambiguating the role of computing in middle school classrooms and in working with science teachers who are often simultaneously content experts and computing novices.Thesis (PhD) — Boston College, 2019.Submitted to: Boston College. Lynch School of Education.Discipline: Teacher Education, Special Education, Curriculum and Instruction

    Using elementary patterns to analyse Scratch programs.

    Get PDF
    Teaching programming to school children is a challenging task, and this re- search contributes in two dimensions. First, it explores issues around “code smells,” such as object naming, long and repeated code, and unused and illogical code, in relation to block-based languages. Second, the suitability of “elementary patterns” as a potential teaching pedagogy to overcome the issues caused by code smells is investigated at a large scale. Elementary patterns such as Whether-or-Not, Alternative-Action, Linear-Search, and Loop-and-a- Half provide a structured approach to teaching programming using recommended practices based on experience gained through worked solutions. Elementary patterns are used as a benchmark in each of the studies re- ported in this thesis: finding code smells in students’ work, analysing the frequency of patterns in users’ projects, measuring progression in skills of Scratch users, the impact of remixing on learning, and evaluation of a selection of resources used for teaching programming. Millions of Scratch programs are analysed by software that reports on the various facets of the use of block-based languages, using programs posted to the online Scratch community as a sample. The results showed little use of modular approaches, infrequent use of variables and collections, and only very light usage of elementary patterns and programming elements in relation to problem solving in students’ work, even after a student has been program- ming in Scratch for many years. Remixing is one of the attractive features in Scratch that aims to support learning by collaboration, where students can take a copy of an existing project and develop it further themselves. The use of remixing was examined to evaluate if it leads to learning and plays any part in improving programming skills. There were no clear signs of progression in children’s depth of understanding with or without remixing. In principle the Scratch language can be used for students to explore elementary patterns, so we explore the teaching resources available in the community to see if they take advantage of this. We find that for novices, most resources covered only introductory ideas when evaluated as a means to teach the fundamentals of programming. This suggests a culture that has developed around Scratch, and potentially other block-based programming languages, that has led to them being regarded as a “toy” system and not taken seriously despite having the full power of programming. This does not necessarily mean that the programming that students do in Scratch is not worthwhile, but it gives some insight into how far most students progress, possibly moving to other languages to learn concepts that are nevertheless supported in Scratch
    corecore