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

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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

Original languageEnglish (US)
Title of host publicationProceedings of the Thirty-Sixth SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2005
Pages106-110
Number of pages5
StatePublished - Jun 27 2005
EventProceedings of the Thirty-Sixth SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2005 - St. Louis, MO, United States
Duration: Feb 23 2005Feb 27 2005

Publication series

NameProceedings of the Thirty-Sixth SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2005

Other

OtherProceedings of the Thirty-Sixth SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2005
Country/TerritoryUnited States
CitySt. Louis, MO
Period2/23/052/27/05

Keywords

  • Assembly language programming
  • Education
  • MIPS

ASJC Scopus subject areas

  • Engineering(all)

Fingerprint

Dive into the research topics of 'SPIMbot: An engaging, problem-based approach to teaching assembly language programming'. Together they form a unique fingerprint.

Cite this