IBCM: the itty bitty computing machine a one-week module to teach machine language in computing courses

  • Authors:
  • Aaron Bloomfield;William Wulf

  • Affiliations:
  • University of Virginia, Charlottesville, VA, USA;University of Virginia, Charlottesville, VA, USA

  • Venue:
  • Proceedings of the 42nd ACM technical symposium on Computer science education
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present the development and implementation of the Itty Bitty Computing Machine (IBCM), a machine language designed specifically to be taught to lower-level undergraduate students. The presentation of the material takes about one-week of lecture, and allows understanding of all the concepts of machine language without having to deal with the complexity of modern machine language implementations, such as x86 and MIPS. A number of pedagogical aspects are addressed concisely via IBCM, such as treating all data as untyped and performing arithmetic on instructions. While we are not the first to introduce a short machine language module, we do provide a number of benefits over older versions: a modern browser-based implementation, a full set of pedagogical tools, and a decade of experience teaching this module. All of the necessary materials, including compilers, simulators, and documentation, are available online and licensed through Creative Commons licenses.