Ten million users and ten years later: Python tutor's design guidelines for building scalable and sustainable research software in academia

P Guo - The 34th Annual ACM Symposium on User Interface …, 2021 - dl.acm.org
Research software is often built as prototypes that never get widespread usage and are left
unmaintained after a few papers get published. To counteract this trend, we propose a …

Engage against the machine: Rise of the notional machines as effective pedagogical devices

PE Dickson, NCC Brown, BA Becker - … of the 2020 ACM Conference on …, 2020 - dl.acm.org
The term" the machine" is commonly used to refer to the complicated physical hardware
running similarly complex software that ultimately executes programs. The idea that …

Rules of program behavior

R Duran, J Sorva, O Seppälä - ACM Transactions on Computing …, 2021 - dl.acm.org
We propose a framework for identifying, organizing, and communicating learning objectives
that involve program semantics. In this framework, detailed learning objectives are written …

Coupling programs and visualization for machine knitting

TC Yu, J McCann - Proceedings of the 5th Annual ACM Symposium on …, 2020 - dl.acm.org
To effectively program knitting machines, like any fabrication machine, users must be able to
place the code they write in correspondence with the output the machine produces. This …

Towards a notional machine for runtime stacks and scope: When stacks don't stack up

J Clements, S Krishnamurthi - Proceedings of the 2022 ACM Conference …, 2022 - dl.acm.org
Background and Context. Modern programming is replete with features like closures,
callbacks, generators, asynchronous functions, and so on. These features can be subtle in …

[BOK][B] Teaching and assessing programming language tracing

GL Nelson - 2021 - search.proquest.com
Learning to write programs is hard, but many fail to even learn basic program reading skills,
such as mentally tracing a program to predict its behavior. This dissertation argues a new …

[PDF][PDF] Sound Notional Machines

IM Santos, M Hauswirth, J Jeuring - 2023 - folia.unifr.ch
A notional machine is a pedagogic device that abstracts away details of the semantics of a
programming language to focus on some aspects of interest. A notional machine should be …

Taming nondeterminism: programming language abstractions and tools for dealing with nondeterministic programs

R Gurdeep Singh - 2022 - biblio.ugent.be
Computer programs need to deal with nondeterministic environments. This nondeterminism
may arise from many sources, like user input and concurrency for example. If program input …

Sound notional machines

I Moreno Santos - 2023 - folia.unifr.ch
A notional machine is a pedagogic device that abstracts away details of the semantics of a
programming language to focus on some aspects of interest. A notional machine should be …

[PDF][PDF] Runtime Visualization for Model-View-Update GUIs

G Litt - 2020 - geoffreylitt.com
Visualizing the runtime behavior of programs can help programmers with targeted
debugging and general understanding. For understanding complex programs, visualizations …