Visual Java Debugger for Computer Science Education
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
Helsinki University of Technology |
Diplomityö
Checking the digitized thesis and permission for publishing
Instructions for the author
Instructions for the author
Authors
Date
2003
Department
Major/Subject
Ohjelmistotekniikka
Mcode
Tik-106
Degree programme
Language
en
Pages
79
Series
Abstract
Tässä diplomityössä suunniteltiin ja toteutettiin ohjelmoinnin perusopetukseen ohjelmien visualisointityökalu. Tämän lisäksi suunniteltiin uusi diagramminotaatio olio-ohjelman ajonaikaisen tilan esittämiseen. Työ sisältää katsauksen oppimisteorioihin sekä nykyiseen opetukseen Teknillisessä Korkeakoulussa ja oppilaiden oppimisongelmiin kursseilla. Esitämme yhtenä ratkaisuna näihin ongelmiin visualisointityökalujen käyttämisen ohjelmoinnin opetuksessa; luennoilla kurssihenkilökunnan ja harjoituksissa opiskelijoiden itsensä toimesta. Oppilaiden ongelmat ohjelmointikursseilla liittyvät erityisesti olio-ohjelmoinnin keskeisiin käsitteisiin, kuten olioiden välisiin viittauksiin, olioiden luomiseen ja olio-ohjelman suorituksen etenemiseen ohjelman olioiden välillä. Näiden ongelmakohtien pohjalta asetettiin visualisointityökalulle joukko vaatimuksia, joiden perusteella tutkittiin olemassaolevien visualisointityökalujen soveltuvuutta tähän tarkoitukseen. Mikään arvioiduista, järjestelmistä ei täyttänyt kaikkia vaatimuksia, joten työssä päädyttiin toteuttamaan oma järjestelmä joka visualisoi esimerkkiohjelmien ja opiskelijoiden rakentamien ohjelmien suoritusta havainnollisella tavalla. Koska olioiden, viittausten ja metodikutsujen esittämiseen animoidussa muodossa ei löytynyt valmiita tunnettuja notaatioita, suunniteltiin työn osana myös uusi notaatio. Tämä notaatio - Program State Graph, pyrkii visualisoimaan opiskelijoiden hankaliksi kokemia ohjelmointikielen ominaisuuksia. Rakentamamme visualisointityökalu esittää ja ylläpitää edellämainitun notaation avulla mukaista diagrammia suoritettavasta ohjelmasta. Ohjelman suoritusta seurataan myös korostaen ohjelmakoodista suoritettavaa koodiriviä. Toteutettu ohjelma sisältää myös lähdekoodiparserin, jonka avulla koodista voidaan korostaa haluttuja elementtejä lukemisen helpottamiseksi.Description
Supervisor
Malmi, LauriThesis advisor
Malmi, LauriKeywords
programming, ohjelmointi, basic educatin, perusopetus, debug, debug, visualization, visualisointi, java, java