TretrisOS and BreakoutOS: Assembly Language Projects for Computer Organization
TetrisOS and BreakoutOS are projects developed for a sophomore-level computer organization course. Each project teaches a wide range of x86 assembly language topics, including iteration, function calls, data storage, segmentation, communication with devices, and polling-based and interrupt-based I/O. They run "bare-metal" and avoid system calls. Each game can run natively on any PC and boot from a USB stick. The projects were tested on six classes of students over three semesters at two universities, and though rigorous, had a high completion rate.
Black, M. (2017). TretrisOS and BreakoutOS: Assembly Language Projects for Computer Organization. ITiCSE '17: Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education (pp. 88-89). New York: ACM. https://doi.org/10.1145/3059009.3072976
Virtual Commons Citation
Black, Michael (2017). TretrisOS and BreakoutOS: Assembly Language Projects for Computer Organization. In Computer Science Faculty Publications. Paper 16.
Available at: http://vc.bridgew.edu/compsci_fac/16