Roles of variables as seen by CS educators
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Self-efficacy and mental models in learning to program
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Rapidly implementing languages to compile as C++ without crafting a compiler
Software—Practice & Experience
Hi-index | 0.00 |
The introduction to imperative programming for computer science students that possess little or no programming knowledge, involves many teaching challenges to effectively deliver concepts such as algorithm, computation, program variable and program instruction. In this process, students are required to record and assimilate many new concepts and to manipulate symbols and rules having no evident real-world analogy. In this context, we have designed a programming language called Flip (i.e. Front-end language for introduction to programming) having a runtime model that reflects a real-world computation metaphor we call the "computational servant". All Flip instructions and definitions are documented as well-defined "bureaucratic-style" activities performed by the servant, involving typical office objects like pencil, notebook, eraser, clips, rolling paper and post-it labels. The key metaphoric characteristic of the Flip language is that it "uses" a traditional notebook with numbered pages and rows to store program content (including variables), while programs written in the Flip language can be directly compiled and run using a standard C++ compiler (as far as the Flip header file is included).