Combining reverse debugging and live programming towards visual thinking in computer programming

Date
2015-03
Journal Title
Journal ISSN
Volume Title
Publisher
Stellenbosch : Stellenbosch University
Abstract
ENGLISH ABSTRACT : Interaction plays a key role in the process of learning, and a learner’s abilities are enhanced when multiple cognitive functions work in parallel, especially those related to language and visuals. Time is the most fundamental variable that governs the interaction between programmer and computer, and the substantial temporal separation of cause and effect leads to poor mental models. Furthermore, programmers do not have means by which to express their mental models. The feasibility of combining reverse debugging and live programming was therefore investigated. This combination was found to be feasible, and a reverse debugger with higher levels of liveness was created for the Python programming language. It establishes a foundation for combining language and visual models as aids in computer programming education.
AFRIKAANSE OPSOMMING : Interaksie speel ’n belangrike rol in die proses van leer, en ’n leerder se vermoëns verbeter wanneer verskeie kognitiewe funksies in parallel opereer, veral dié wat verwant is aan taal en visuele denke. Tyd is die mees fundamentele veranderlike wat die interaksie tussen programmeerder en rekenaar reguleer, en die aansienlike temporele skeiding tussen oorsaak en gevolg lei tot swak kognitiewe modelle. Programmeerders het boonop nie middelle om kognitiewe modelle te artikuleer nie. Die uitvoerbaarheid van ’n kombinasie van terug-in-tyd ontfouting en lewendige programmering was daarom ondersoek. Daar was bevind dat so ’n kombinasie moontlik is, en ’n terug-in-tyd ontfouter met hoër vlakke van lewendigheid was geskep vir die Python programmeringstaal. Dit vestig ’n fondament om taal en visuele modelle te kombineer as hulpmiddels in rekenaarprogrammering onderwys.
Description
Thesis (MSc)--Stellenbosch University, 2015
Keywords
Live programming, Reverse debugging, Visual thinking, UCTD, Python (Computer program language), Computers -- Study and teaching, Computer-assisted instruction -- Computer programs
Citation