Teaching Event-driven Programming for Novice Programmers: Challenges and Advances

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
School of Science | Doctoral thesis (article-based) | Defence date: 2022-08-26
Date
2022
Major/Subject
Mcode
Degree programme
Language
en
Pages
142 + app. 102
Series
Aalto University publication series DOCTORAL THESES, 94/2022
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.

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.
Description
Supervising professor
Malmi, Lauri, Prof., Aalto University, Department of Computer Science, Finland
Thesis advisor
Haaranen, Lassi, University lecturer, Aalto University, Finland
Keywords
event-driven programming, concepts, misunderstandings, contextualized teaching, visualization, introductory programming education, tapahtumapohjainen ohjelmointi, käsitteet, väärinymmärrykset, viitekehyksellistetty opetus, visualisointi, ohjelmoinnin alkeisopetus
Other note
Parts
  • [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 View at publisher
  • [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.
    DOI: 10.1145/3488042.3490170 View at publisher
  • [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
  • [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.
    DOI: 10.1145/3488042.3488051 View at publisher
  • [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 View at publisher
  • [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 View at publisher
Citation