Machine Learning Applications Supporting Large Scale Programming Education

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
School of Science | Doctoral thesis (article-based) | Defence date: 2024-04-26
Date
2024
Major/Subject
Mcode
Degree programme
Language
en
Pages
135 + app. 173
Series
Aalto University publication series DOCTORAL THESES, 47/2024
Abstract
Providing effective individualized education at scale has been a widely explored topic in education research, and the advancement of recent machine learning methods have made it possible to develop increasingly effective adaptive and intelligent learning systems. In particular, the emergence of deep learning models, and most recently large language models, has propelled the educational field forward, providing both new challenges and opportunities for educators. This dissertation addresses some of these challenges and opportunities, focusing on machine learning methods as a means to enhance large scale programming education. We first present methodological considerations for identifying learners at risk of dropping out, and empirical evaluation of modern machine learning approaches for evaluating student mastery of skills. Then, we analyse features that relate to students continuing in a series of open online courses for introductory programming. Relating to the constant need to produce new learning materials to keep course content relevant in the rapidly evolving landscape of programming and computer science, and the fact that producing such mterials with appropriate quality can be a highly time-consuming task for educators, we propose and evaluate a novel approach that leverages large language models to create learning materials, particularly programming exercises and code explanations, which can be personalized for student needs and interests for increased engagement. The approach shows promising results in generating diverse, coherent, and relevant content. Most of the generated exercises were considered sensible, novel, and adhering to given themes and concepts. Further, we evaluate automatically generated code explanations in real educational settings and show that students tend to rate automatically generated explanations useful for their learning, even higher than those of their peers. As means to help students, this dissertation looks into improving the timeliness of feedback, a key aspect in the effectiveness of feedback. This is done through proposing a framework that in-cludes a machine learning step for speeding up automated assessment, which consequently speeds up assessment feedback, and constructing annotated datasets of when and how experts provide feedback and hints to learning programmers that can be used as a reference on when and how future machine learning models or other automated methods should provide feedback. As a whole, the scope of the dissertation encompasses much of the entire educational process, spanning from (1) identifying learners needs and those who would benefit from additional assis-tance, to (2) educators designing content for learning and practice to (3) helping learners through timely and meaningful feedback for learners. The results in this dissertation showcase both methodological issues as well as new avenues for enhancing large scale computing education through machine learning methods.

Oppilaiden yksilöllisten tarpeiden huomioiminen laajamittaisen opetuksen toteuttamisessa on haastava ongelma, jota varten on kehitetty erilaisia tekoälyn avulla toimivia työkaluja ja älykkäita oppimisjärjestelmiä. Viimeaikoina erityisesti syväoppimismallit ja laajat kielimallit ovat vieneet teköälyn kehitystä eteenpäin avaten sekä uusia mahdollisuuksia että haasteita opettajille ja opetuksen kehittäjille. Tässä väitöskirjassa tutkitaan koneoppimismenetelmiä, jotka tarjoavat keinoja laajan mittakaavan ohjelmointikoulutuksen edistämiseen. Väitöskirjassa käydään ensin läpi menetelmällisiä ongelmia kurssilta putoamisvaarassa olevien oppilaiden tunnistamisessa sekä opiskelijoiden taitojen automaattisessa mallintamisessa, minkä jälkeen tarkastellaan miten erilaiset opiskelijoiden piirteet vaikuttavat heidän jatkamiseensa avoimessa aloittelijatason ohjelmoinnin verkkokurssien sarjassa, joka on suunnattu elinikäisille oppijoille. Tämän jälkeen, oppimateriaalien kehittämisen tueksi, esittelemme uuden laajoja kielimalleja hyödyntävän menetelmän. Menetelmän avulla voidaan tuottaa opiskelijoiden tarpeiden ja mielenkiinnon mukaan räätälöityjä ohjelmointiharjoitustehtäviä sekä ohjelmakoodin selityksiä. Lisäksi työssä kehitettiin automaattisesti tuotettuja ohjelmakoodin selityksiä oppimisympäristöihin ja havaitsimme, että opiskelijat pitivät automaattisesti luotuja ohjelmakoodin selityksiä oppimiselleen hyödyllisinä ja arvostelivat ne jopa paremmiksi kuin vertaisopiskelijoiden laatimat selitykset. Lopuksi väitöskirjassa tarkastellaan opiskelijan ohjelmointityöstä annetun palautteen nopeutta. Ohjelmointitehtävien tarkastamiseen liittyen esittelemme koneoppimista hyödyntävän automaattisen tarkastamisen viitekehyksen, joka nopeuttaa palautteenantamista verrattuna perinteiseen tapaan arvioida ohjelmia automaattisesti. Opiskelijat eivät myöskään aina pyydä apua tai palautetta etenemisestään, vaikka avunpyytäminen olisi tarpeellista. Tähän liittyen laadimme asiantuntijoiden kommentoimia aineistoja, jotka voivat toimia viitteenä koneoppimismalleille tai muille menetelmille siitä, milloin ja miten ohjelmoinnin oppijoille kannattaa antaa palautetta tai vihjeitä heidän ohjelmointitehtävissä etenemisensä perusteella. Yhteenvetona väitöskirja kattaa koneoppimismenetelmien tutkimusta opetuksen edistämiseen ulottuen (1) opiskelijoiden tarpeiden tunnistamisesta ja lisäavun oikein kohdentamisesta, (2) opettajien sisällöntuottamisen helpottamisesta (3) palautteen antamiseen. Näihin liittyen väitöskirjassa käsitellään sekä menetelmällisiä ongelmia että uusia mahdollisuuksia edistää laajamittaista ohjelmoinnin koulutusta koneoppimismenetelmien avulla.
Description
Supervising professor
Malmi, Lauri, Prof., Aalto University, Department of Computer Science, Finland
Thesis advisor
Hellas, Arto, Dr., Aalto University, Department of Computer Science, Finland
Leinonen, Juho, Dr., Aalto University, Department of Computer Science, Finland
Keywords
computer science education, learning analytics, machine learning, large language models, learner modeling, automated feedback, robosourcing, tietokniikan opetus, oppimisanalytiikka, koneoppiminen, laajat kielimallit, oppijan mallintaminen, automaattinen palaute, automaattinen sisällöntuottaminen
Other note
Parts
  • [Publication 1]: Charles Koutcheme, Sami Sarsa, Arto Hellas, Lassi Haaranen, Juho Leinonen. Methodological considerations for predicting at-risk students. In ACE ’22: Proceedings of the Twenty-Fourth Australasian Computing Education Conference on Australasian Computing Education, pages 105-113, February 2022.
    DOI: 10.1145/3511861.3511873 View at publisher
  • [Publication 2]: Sami Sarsa, Juho Leinonen, Arto Hellas. Empirical Evaluation of Deep Learning Models for Knowledge Tracing: Of Hyperparameters and Metrics on Performance and Replicability. JEDM: Journal of Educational Data Mining, Volume 14 No. 2: EDM Journal Track Special Issue, October 2022.
    DOI: 10.5281/zenodo.7086179 View at publisher
  • [Publication 3]: Sami Sarsa, Arto Hellas, Juho Leinonen. Who Continues in a Series of Lifelong Learning Courses?. In ITiCSE ’22: Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol 1, pages 47-53, July 2022.
    DOI: 10.1145/3502718.3524752 View at publisher
  • [Publication 4]: Sami Sarsa, Paul Denny, Arto Hellas, Juho Leinonen. Automatic Generation of Programming Exercises and Code Explanations Using Large Language Models. In ICER ’22: Proceedings of the 2022 ACM Conference on International Computing Education Research - Volume 1, pages 27-43, August 2022.
    DOI: 10.1145/3501385.3543957 View at publisher
  • [Publication 5]: MacNeil, Stephen and Tran, Andrew and Hellas, Arto and Kim, Joanne and Sarsa, Sami and Denny, Paul and Bernstein, Seth and Leinonen, Juho. Experiences from Using Code Explanations Generated by Large Language Models in aWeb Software Development E-Book. In SIGCSE ’23: Proceedings of the 54th ACM Technical Symposium on Computer Science Education Vol. 1, pages 931-937, March 23.
    DOI: 10.1145/3545945.3569785 View at publisher
  • [Publication 6]: Leinonen, Juho and Denny, Paul and MacNeil, Stephen and Sarsa, Sami and Bernstein, Seth and Kim, Joanne and Tran, Andrew and Hellas, Arto. Comparing Code Explanations Created by Students and Large Language Models. In ITiCSE ’23: Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1, pages 124-130, June 2023.
    DOI: 10.1145/3587102.3588785 View at publisher
  • [Publication 7]: Sami Sarsa, Juho Leinonen, Charles Koutcheme, Arto Hellas. Speeding Up Automated Assessment of Programming Exercises. In UKICER ’22: Proceedings of the 2022 Conference on United Kingdom & Ireland Computing Education Research, Article 3, pages 1-7, September 22.
    DOI: 10.1145/3555009.3555013 View at publisher
  • [Publication 8]: Johan Jeuring, Hieke Keuning, Samiha Marwan, Dennis Bouvier, Cruz Izu, Natalie Kiesler, Teemu Lehtinen, Dominic Lohr, Andrew Petersen, Sami Sarsa. Towards Giving Timely Formative Feedback and Hints to Novice Programmers. In ITiCSE ’23: Proceedings of the 2022 Working Group Reports on Innovation and Technology in Computer Science Education, pages 95-115, December 2022.
    DOI: 10.1145/3571785.3574124 View at publisher
Citation