Reducing Persisting Cognitive Dissonance and Computer Science 1 Drop-out Rates Using Visual Debugger Aid

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2015-02-09
Department
Major/Subject
Ohjelmistotekniikka
Mcode
T3001
Degree programme
Tietotekniikan koulutusohjelma
Language
en
Pages
76
Series
Abstract
Constructivism provides an excellent learning model but its methods are associated with high cognitive load, which is further increased by the inherent cognitive complexity of introductory computing courses (CS1). On the other hand, the introductory nature of CS1 means high variation in existing skills. This variation combined with external limitations and poor metacognitive skills can lead to unresolved conflicts and persisting cognitive dissonance. Persisting cognitive dissonance harmfully interacts with high cognitive load by further taxing working memory, preventing conflict resolution and leading into a vicious circle of accumulating cognitive dissonance. This work identifies three harmful interactions through which persisting dissonance damages learning in CS1 and further escalates the dissonance: resource depletion, excessive cognitive load and avoidance failure. The resulting accumulation of dissonance is destructive and inevitably leads to avoidance behavior that can culminate in the abandonment of the studies. Fortunately cognitive dissonance can be reduced by several techniques including positive framing and improving metacognitive skills. To demonstrate that many of these measures could be mediated by supporting scaffolds in the learning environment, this work proposes a prototype scaffold Eclipse DAPS (Debugging Assistant for Programming Students using Eclipse Python). DAPS provides assistance in debugging, one of the most difficult tasks a novice programmer must face. DAPS is a proof of concept intelligent tutoring system for teaching CS1 Python and aims to maintain student motivation by providing visualizations, metacognitive support and an integrated debugger. In addition, memorization techniques and easy repetition are used to improve knowledge encoding.

Konstruktivismi tarjoaa erinomaisen oppimismallin, mutta sen metodit liitetään korkeaan kognitiiviseen taakkaan, jota lisää myös ohjelmoinnin alkeiskurssien korkea kognitiivinen monimutkaisuus. Toisaalta ohjelmoinnin alkeiskursseilla opiskelijoiden taidot vaihtelevat huomattavasti. Yhdistettynä sopeutumisrajoituksiin ja heikkoihin metakognitiivisiin taitoihin tämä variaatio voi johtaa sevittämättömiin konflikteihin ja siten myös persistoivaan kognitiiviseen dissonanssiin. Persistoiva kognitiivinen dissonanssi vuorovaikuttaa vahingollisesti kognitiivisen taakan kanssa kuluttamalla työmuistia ja estäen konfliktien ratkaisua ja johtaa lisääntyvän dissonanssin noidankehään. Tämä työ tunnistaa kolme vahingollista vuorovaikutusta, joiden kautta persistoiva dissonanssi heikentää aloittelevien ohjelmoijien oppimista ja edelleen lisää heidän dissonanssiaan: resurssien loppuminen, liiallinen kognitiivinen taakka ja välttämisen epäonnistuminen. Lopputuloksena syntyvä dissonanssin kertyminen on tuhoisaa ja johtaa väistämättä välttämiskäyttäytymiseen, joka voi huipentua kurssin keskeyttämiseen. Onneksi kognitiivista dissonanssia voidaan vähentää useilla tekniikoilla mukaan lukien positiivinen kehystäminen ja metakognitiivisten taitojen kehittäminen. DAPS (Debugging Assistant for Programming Students, debuggausassistentti ohjelmoinnin opiskelijoille) on älykkään opastusjärjestelmän prototyyppi, joka pyrkii tarjoamaan demonstraation kyseisten tekniikoiden ohjelmallisesta implementaatiosta. DAPS auttaa aloittelevia ohjelmoijia Python-kielisten ohjelmien debuggauksessa ja ylläpitää motivaatiota visualisaatioilla ja metakognitiivisella tuella. Lisäksi muistinnustekniikoita ja helppoa toistoa käytetään tehostamaan informaation muistiin koodamista.
Description
Supervisor
Malmi, Lauri
Thesis advisor
Sorva, Juha
Keywords
introductory programming, CS1, persisting cognitive dissonance, cognitive dissonance, failure rate, debugging
Other note
Citation