The use of board games for teaching introductory computer science is a promising recent avenue of research. The goal is to introduce computing concepts through their use in the implementations of simple games, thereby keeping students engaged through their learning process. However, there is a gap between students' algorithmic descriptions...
BoGL is a programming language created for the purpose of computer science education that is specific to the domain of board games. Although there is a language grammar and an existing implementation that is currently used by students, a complete and formal language standard does not yet exist. In the...
Spreadsheets are a pervasive technology throughout personal and industrial use. Often times, the user is not the author, contributing to a lack of understanding of the purpose and functionality of a spreadsheet. Furthermore, the lack of understanding is a major reason for mistakes in the use and maintenance of spreadsheets....
Correctness and efficiency are important properties of programs. However, to support maintenance and debugging, the programs should also be understandable. Program explanations also play a vital role in educational settings, enhancing the understanding of programs among students.
Proof trees provide a sound basis for generating dynamic explanations of programs. But...
Tracr is a modern browser-based user interface, designed to be used with languages that can generate customized explanations from execution traces. While Tracr is primarily designed for use with the Xtra language, Tracr defines a generalized interface that would allow it to be used with other languages as well. Explanations...
University students first learning about computer science (CS) can be intimidated and frustrated by programming. In addition, the general-purpose programming languages chosen for introducing students to programming contain several features that have the potential to overwhelm and distract them from focused curriculum topics, which can lead to reduced retention of...