Introductory teaching of imperative programming through an anthropomorphic computation model

  • Authors:
  • Anthony Savidis

  • Affiliations:
  • Institute of Computer Science, Heraklion, Crete, Greece

  • Venue:
  • ACM SIGCSE Bulletin
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

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).