SPIMbot: an engaging, problem-based approach to teaching assembly language programming

  • Authors:
  • Craig Zilles

  • Affiliations:
  • University of Illinois at Urbana-Champaign, IL

  • Venue:
  • Proceedings of the 36th SIGCSE technical symposium on Computer science education
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes SPIMbot, an extension to James Larus's widely-used MIPS simulator SPIM, that allows virtual robots to be controlled by writing programs in the MIPS assembly language. SPIMbot was written to provide an engaging environment to motivate students to learn assembly language concepts. The SPIMbot tool allows the development of scenarios---in which students must program the robot to perform certain tasks---and provides the means to compete two robots against each other.In our sophomore/junior-level class, we structure the programming component as a collection of structured assignments that produce sub-components for the robot; these sub-components are then used in a final open-ended programming assignment to produce an entry for a SPIMbot tournament. In our experience, this has been an effective means of engaging students, with many students investing time to aggressively optimize their implementations. SPIMbot has been effectively used in large classes and its source code is freely available [7].