skip to main content
10.1145/1953163.1953273acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

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

Published: 09 March 2011 Publication History

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.

References

[1]
B. Lewis Barnett, III. A visual simulator for a simple machine and assembly language. In SIGCSE '95: Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education, pages 233--237, New York, NY, USA, 1995. ACM.
[2]
Aaron Bloomfield. Itty bitty computing machine online. http://www.cs.virginia.edu/asb/ibcm/.
[3]
John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley Publishing Company, 3rd edition, 2006.
[4]
James Larus. SPIM: A MIPS32 Simulator. http://pages.cs.wisc.edu/ larus/spim.html.
[5]
Jerry E. Sayers and David E. Martin. A hypothetical computer to simulate microprogramming and conventional machine language. SIGCSE Bull., 20(4):43--49, 1988.
[6]
Delmar E. Searls. An integrated hardware simulator. SIGCSE Bull., 25(2):24--28, 1993.
[7]
Dale Skrien and John Hosack. A multilevel simulator at the register transfer level for use in an introductory machine organization class. SIGCSE Bull., 23(1):347--351, 1991.
[8]
Jeffrey A. Stone. Using a machine language simulator to teach cs1 concepts. SIGCSE Bull., 38(4):43--45, 2006.
[9]
Andrew Tanenbaum. Mic-1 download website. http://www.ontko.com/mic1/.
[10]
Andrew S. Tanenbaum. Structured Computer Organization. Prentice Hall PTR, Upper Saddle River, NJ, USA, 1984.
[11]
J. Stanley Warford and Chris Dimpfl. The pep/8 memory tracer: visualizing activation records on the run-time stack. In Proceedings of the 41st ACM technical symposium on Computer science education, SIGCSE '10, pages 371--375, New York, NY, USA, 2010. ACM.
[12]
J.S. Warford. Computer Systems. Jones & Bartlett Learning, 2009.
[13]
Jacob Welsh. JWelsh's useful programs. http://www.eemta.org/ jwelsh/progs/.
[14]
Wikipedia. Random access stored program machine. http://en.wikipedia.org/wiki/Random_access_stored_program_machine.
[15]
Wikipedia. Turing machine. http://en.wikipedia.org/wiki/Turing_machine.
[16]
Wikipedia. Turing machine examples. http://en.wikipedia.org/wiki/Turing_machine_examples.

Cited By

View all
  • (2023)Experiences with a Hardware Description Language for a CS-major's Computer Organization Course2023 IEEE Frontiers in Education Conference (FIE)10.1109/FIE58773.2023.10343254(1-9)Online publication date: 18-Oct-2023
  • (2013)Green16Proceedings of the South African Institute for Computer Scientists and Information Technologists Conference10.1145/2513456.2513501(81-84)Online publication date: 7-Oct-2013

Index Terms

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

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      SIGCSE '11: Proceedings of the 42nd ACM technical symposium on Computer science education
      March 2011
      754 pages
      ISBN:9781450305006
      DOI:10.1145/1953163
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 09 March 2011

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. machine language
      2. pedagogy

      Qualifiers

      • Research-article

      Conference

      SIGCSE '11
      Sponsor:

      Acceptance Rates

      SIGCSE '11 Paper Acceptance Rate 107 of 315 submissions, 34%;
      Overall Acceptance Rate 1,787 of 5,146 submissions, 35%

      Upcoming Conference

      SIGCSE TS 2025
      The 56th ACM Technical Symposium on Computer Science Education
      February 26 - March 1, 2025
      Pittsburgh , PA , USA

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 18 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2023)Experiences with a Hardware Description Language for a CS-major's Computer Organization Course2023 IEEE Frontiers in Education Conference (FIE)10.1109/FIE58773.2023.10343254(1-9)Online publication date: 18-Oct-2023
      • (2013)Green16Proceedings of the South African Institute for Computer Scientists and Information Technologists Conference10.1145/2513456.2513501(81-84)Online publication date: 7-Oct-2013

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media