Teaching Event-driven Programming for Novice Programmers: Challenges and Advances
dc.contributor | Aalto-yliopisto | fi |
dc.contributor | Aalto University | en |
dc.contributor.advisor | Haaranen, Lassi, University lecturer, Aalto University, Finland | |
dc.contributor.author | Lukkarinen, Aleksi | |
dc.contributor.department | Tietotekniikan laitos | fi |
dc.contributor.department | Department of Computer Science | en |
dc.contributor.lab | Learning + Technology Research Group (LeTech) | en |
dc.contributor.school | Perustieteiden korkeakoulu | fi |
dc.contributor.school | School of Science | en |
dc.contributor.supervisor | Malmi, Lauri, Prof., Aalto University, Department of Computer Science, Finland | |
dc.date.accessioned | 2022-07-27T09:00:07Z | |
dc.date.available | 2022-07-27T09:00:07Z | |
dc.date.defence | 2022-08-26 | |
dc.date.issued | 2022 | |
dc.description.abstract | Many computer applications receive information about external events and produce responses. Such applications include web server software, many services used via Internet browsers, as well as most graphical user interfaces in devices from mobile phones and home appliances to general-purpose computers and industrial applications. The development of such applications is often called event-driven programming (EDP). Despite the continuously increasing importance of event-driven applications in the modern society, only a little published experimental research has been targeted at teaching and learning EDP. This dissertation addresses this research gap. The dissertation has two major parts, of which the first one addresses understanding EDP. As an introduction, it reflects on the difficulty of defining the term event-driven programming and continues by presenting a mapping review regarding published research on teaching and learning EDP. From there, it proceeds to explore students’ perceptions of concepts such as a button, an event, and an event handler. This discussion is based on three studies that involved questionnaires and exercises for students of two online courses. A few questions included reading program code, and in one exercise, the participants were asked to answer using a concept map. The analysis of these answers revealed fundamental misunderstandings regarding EDP and user interfaces. Based on them, the dissertation offers practical suggestions for improving the teaching practice. The second major part of the dissertation addresses teaching EDP from two perspectives. First, it explores contextualization of teaching EDP and focuses on tools and exercises of an approach called media computation. Second, it presents a prototype of a tool that can be used for visualizing high-level concepts in many online learning materials. This tool supports logging users’ actions, plays well together with version control systems, has a relatively low learning curve for teachers of computer science, as well as is open source and free to use. The tool was evaluated in a small-scale pilot study, which demonstrated its suitability for its intended usage environment. | en |
dc.description.abstract | Monet tietokonesovellukset vastaanottavat tietoa ulkoisista tapahtumista ja tuottavat vasteita. Tällaisia sovelluksia ovat esimerkiksi web-palvelimet, monet Internet-selaimilla käytettävät palvelut sekä useat graafiset käyttöliittymät matkapuhelimista ja kodinkoneista yleiskäyttöisiin tietokoneisiin ja teollisuussovelluksiin. Tällaisten sovellusten kehittämistä kutsutaan usein tapahtumapohjaiseksi ohjelmoinniksi. Tapahtumapohjaisten sovellusten tärkeys yhteiskunnassa kasvaa jatkuvasti, mutta kokeellista tutkimusta tapahtumapohjaisen ohjelmoinnin opettamisesta ja oppimisesta ei juurikaan ole julkaistu. Tämä väitöskirja tutkimuksineen edistää tietämystä tuolla alueella. Tässä väitöskirjassa on kaksi aihekokonaisuutta, joista ensimmäisessä tarkastellaan tapahtumapohjaisen ohjelmoinnin ymmärtämistä. Aluksi käsitellään käsitteen tapahtumapohjainen ohjelmointi täsmällisen määrittelyn vaikeutta sekä tapahtumapohjaisen ohjelmoinnin opettamista ja oppimista koskevan tutkimuksen nykytilaa. Näistä siirrytään tarkastelemaan opiskelijoiden ymmärrystä käsitteistä kuten painike, tapahtuma ja tapahtumakäsittelijä. Tämä tarkastelu pohjautuu kolmeen tutkimukseen, joissa kahden verkossa suoritettavan kurssin opiskelijat vastasivat kyselyihin ja tehtäviin. Joihinkin kysymyksiin sisältyi ohjelmakoodin ymmärtämistä, ja yhdessä tehtävässä opiskelijoilta pyydettiin vastauksena käsitekarttaa. Opiskelijoiden vastauksista paljastui tapahtumapohjaiseen ohjelmointiin ja käyttöliittymiin liittyviä väärinkäsityksiä, joiden pohjalta väitöskirja tarjoaa käytännönläheisiä ehdotuksia opetuksen parantamiseen. Väitöskirjan toinen aihekokonaisuus käsittelee tapahtumapohjaisen ohjelmoinnin opettamista kahdesta näkökulmasta. Niistä ensimmäinen tarkastelee opetuksen viitekehyksellistämistä ja keskittyy erityisesti medialaskennan työkaluihin ja harjoituksiin. Jälkimmäinen näkökulma on prototyyppi työkalusta, joka soveltuu korkean tason käsitteiden visualisointiin monien verkossa suoritettavien kurssien oppimateriaaleissa. Työkalu tukee käyttäjien toimien kirjaamista ja sopii käytettäväksi versionhallintajärjestelmien kanssa. Lisäksi sen oppimiskynnys on tietotekniikkaa opettavalle suhteellisen matala. | fi |
dc.format.extent | 142 + app. 102 | |
dc.format.mimetype | application/pdf | en |
dc.identifier.isbn | 978-952-64-0866-8 (electronic) | |
dc.identifier.isbn | 978-952-64-0865-1 (printed) | |
dc.identifier.issn | 1799-4942 (electronic) | |
dc.identifier.issn | 1799-4934 (printed) | |
dc.identifier.issn | 1799-4934 (ISSN-L) | |
dc.identifier.uri | https://aaltodoc.aalto.fi/handle/123456789/115577 | |
dc.identifier.urn | URN:ISBN:978-952-64-0866-8 | |
dc.language.iso | en | en |
dc.opn | Ihantola, Petri, Assoc. Prof., University of Helsinki, Finland | |
dc.publisher | Aalto University | en |
dc.publisher | Aalto-yliopisto | fi |
dc.relation.haspart | [Publication 1]: Aleksi Lukkarinen, Lauri Malmi, Lassi Haaranen. Event-driven Programming in Programming Education: A Mapping Review. ACM Transactions on Computing Education, Vol. 21, Issue 1, Art. 1, 31 + 15 pp., March 2021. Full text in Acris/Aaltodoc: http://urn.fi/URN:NBN:fi:aalto-202103312716. DOI: 10.1145/3423956 | |
dc.relation.haspart | [Publication 2]: Aleksi Lukkarinen, Arto Hellas, Lassi Haaranen. A Kingdom for a Button: Students’ Thoughts about Buttons. In Proceedings of the 21th Koli Calling International Conference on Computing Education Research, Art. 21, 6 pp. A virtual event, Koli, Lieksa, Finland, November 18–21, 2021. Full text in Acris/Aaltodoc: http://urn.fi/URN:NBN:fi:aalto-2021120110522. DOI: 10.1145/3488042.3490170 | |
dc.relation.haspart | [Publication 3]: Teemu Lehtinen, Aleksi Lukkarinen, Lassi Haaranen. Students Struggle to Explain Their Own Program Code. In Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education V. 1 (ITiCSE 2021), 7 pp. A virtual event, Germany, June 26–July 1, 2021 | |
dc.relation.haspart | [Publication 4]: Aleksi Lukkarinen, Teemu Lehtinen, Lassi Haaranen, Lauri Malmi. An Event Listener or an Event Handler? Students Explain Event-drivenness in JavaScript. In Proceedings of the 21th Koli Calling International Conference on Computing Education Research, Art. 23, 10 pp. A virtual event, Koli, Lieksa, Finland, November 18–21, 2021. Full text in Acris/Aaltodoc: http://urn.fi/URN:NBN:fi:aalto-2021120110520. DOI: 10.1145/3488042.3488051 | |
dc.relation.haspart | [Publication 5]: Aleksi Lukkarinen, Juha Sorva. Classifying the Tools of Contextualized Programming Education and Forms of Media Computation. In Proceedings of the 16th Koli Calling International Conference on Computing Education Research, pp. 51–60. Koli, Lieksa, Finland, November 24–27, 2016. DOI: 10.1145/2999541.2999551 | |
dc.relation.haspart | [Publication 6]: Aleksi Lukkarinen, Lassi Haaranen, Lauri Malmi. Scripted Step-based Visualizations: A Pilot Study. In Proceedings of the 13th International Conference on Computer Supported Education (CSEDU 2021), 8 pp. A virtual event, April 23–25, 2021. Full text in Acris/Aaltodoc: http://urn.fi/URN:NBN:fi:aalto-202108048240. DOI: 10.5220/0010454502400247 | |
dc.relation.ispartofseries | Aalto University publication series DOCTORAL THESES | en |
dc.relation.ispartofseries | 94/2022 | |
dc.rev | Santos, André L., Asst. Prof., ISCTE – Instituto Universitário de Lisboa, Portugal | |
dc.rev | Falkner, Nickolas, Assoc. Prof., University of Adelaide, Australia | |
dc.subject.keyword | event-driven programming | en |
dc.subject.keyword | concepts | en |
dc.subject.keyword | misunderstandings | en |
dc.subject.keyword | contextualized teaching | en |
dc.subject.keyword | visualization | en |
dc.subject.keyword | introductory programming education | en |
dc.subject.keyword | tapahtumapohjainen ohjelmointi | fi |
dc.subject.keyword | käsitteet | fi |
dc.subject.keyword | väärinymmärrykset | fi |
dc.subject.keyword | viitekehyksellistetty opetus | fi |
dc.subject.keyword | visualisointi | fi |
dc.subject.keyword | ohjelmoinnin alkeisopetus | fi |
dc.subject.other | Computer science | en |
dc.title | Teaching Event-driven Programming for Novice Programmers: Challenges and Advances | en |
dc.title | Tapahtumapohjaisen ohjelmoinnin opettaminen ohjelmoinnin alkeisopetuksessa: Haasteita ja parannuksia | fi |
dc.type | G5 Artikkeliväitöskirja | fi |
dc.type.dcmitype | text | en |
dc.type.ontasot | Doctoral dissertation (article-based) | en |
dc.type.ontasot | Väitöskirja (artikkeli) | fi |
local.aalto.acrisexportstatus | checked 2022-09-02_1539 | |
local.aalto.archive | yes | |
local.aalto.formfolder | 2022_07_27_klo_10_07 |