An Interactive C Code Execution and Visualization Tool for Online Learning
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
Department
Major/Subject
Security and Cloud Computing
Mcode
SCI3084
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
38
Series
Abstract
Introductory programming courses are notorious for their high drop-out rates and the C programming course at Aalto University is no exception. Studies have suggested that this phenomenon is caused by a combination of factors that result in students experiencing significant amounts of stress. Previous works have sought to address the problem by introducing new pedagogic methods and software. In addition, studies have found that intelligent tutoring can be as effective as traditional tutoring methods. This thesis presents a web-based software that seeks to reduce the stress factors associated with learning the C programming language. The goal of the work is to develop practical methods of generating and visualizing intelligent feedback. The presented tool is capable of analyzing, visualizing and evaluating simple user programs. Initial impressions suggest that the tool could reduce the stress factors significantly, but the implementation has significant limitations. Based on observations made in the implementation of this work, the development of an open-source framework for implementing similar tools is recommended.Ohjelmoinnin alkeiskurssit ovat tunnettuja tavallista korkeammasta keskeyttämisasteestaan, mikä on havaittu myös Aalto-yliopiston C-ohjelmoinnin peruskurssilla. Tutkimusten mukaan tämä ilmiö syntyy erilaisten kuormittavien tekijöiden yhteisvaikutuksena. Tätä kuormittavuutta on yritetty vähentää erilaisin kasvatustieteellisin ja teknisin keinoin. Tutkimuksissa on myös selvinnyt, että niin kutsuttu älykäs tuutorointi (engl. intelligent tutoring) on oppimisen apuvälineenä miltei yhtä tehokas kuin perinteinen tuutorointi. Tämä diplomityö esittelee verkkoympäristöön toteutetun tietokoneohjelman, joka pyrkii vähentämään kuormittavia tekijöitä C-ohjelmointikielen oppimisessa. Työn tavoitteena on kehittää käytännöllisiä keinoja älykkään palautteen tuottamiseen ja havainnollistamiseen. Toteutettu tietokoneohjelma kykenee analysoimaan, havainnollistamaan ja suorittamaan yksinkertaisia käyttäjän syöttämiä tietokoneohjelmia. Ensivaikutelmien perusteella ohjelma voisi vähentää kuormitusta merkittävästi, mutta toteutuksessa on käyttöä rajoittavia puutteita. Työssä tehtyjen havaintojen perusteella suositellaan toteutettavaksi avoimen lähdekoodin ohjelmakehystä, joka voisi tulevaisuudessa helpottaa vastaavien työkalujen toteuttamista.Description
Supervisor
Jäntti, RikuThesis advisor
Ali, YuseinKeywords
intelligent tutoring, visualization, tool, programming, novice programmer, introductory course