Combining reverse debugging and live programming towards visual thinking in computer programming
Date
2015-03
Authors
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.
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