Bell Labs CARDIAC (“Cardboard Instructional Aid to Computing”) Simulator
This is a simulator I wrote in JavaScript for the CARDIAC produced by Bell Labs in 1968. The CARDIAC was sent to schools to provide computer science education to students before most industries, let alone classrooms, had direct access to computers. The CARDIAC simulated the fetch-execute cycle with a limited instruction set, all on a cardboard computer. I own an actual box of CARDIACs in their original packaging, just as they would have been shipped to a school from Bell Labs in the late 1960s.
I wrote this simulator for the benefit of my CPT301 Computer Organization and Architecture classes at the Forbes School of Business and Technology, University of Arizona Global campus (I’ve taught 20+ sections of this course).
MIPS32 Assembly Language Simulator
Like the CARDIAC above, I also developed a mostly complete MIPS32 Assembly Language Simulator for my students in CPT301. MIPS32 assembly is often taught in computer organization and architecture classes because of its relatively small RISC instruction set and its easy to understand five stage pipelining process. I also developed the MIPS32 simulator in JavaScript.
My GitHub page mostly contains starter code for the programming/computer science classes I teach.
Computer Science Courses I’ve Taught or Developed
- CPT301: Computer Organization and Architecture (University of Arizona Global Campus)
- CPT304: Operating Systems Theory and Design (University of Arizona Global Campus)
- CPT307: Data Structures and Algorithms (University of Arizona Global Campus)
- CPT320: C++ Programming (University of Arizona Global Campus)
- DATA5003: Data Analytics (American College of Education)
I am a member of the Association for Computing Machinery’s Computer Science Education Special Interest Group (SIGCSE).
