Course FormatCourse Goals
Textbooks and References
Prerequisites by Topic
Major Topics Covered in Course
Discusses how a computer system works and why it performs as it does. Topics include assembly language (programs, call/return, stack frames), arithmetic (representations and algorithms), digital design (implementation of an RISC subset), and organization (memory hierarchy).
4 QH credit
Prerequisite: COM 1101 COM 1101 or permission of the instructor.
BSCS03 required course
BSCS04 Systems core
BACS elective course
BSIS general elective
This course focuses on the internal workings of a computer. Students work on small programming projects using an assembly language simulator and conduct some performance analysis exercises.
Professor John Casey
David A. Patterson and John L. Hennessy. Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann, San Mateo, 1998. COM1130 packet: The lectures, plus introductions to some course tools: Xemacs, emacs, and the official debugger.
(Recommended) Brian Kernighan and Dennis Ritchie. The C Programming Language: Second Edition. Prentice Hall, 1988.
References (All on reserve in Snell library):
- David A. Patterson and John L. Hennessy. Computer Architecture: a quantitative approach. Second edition. Morgan-Kaufmann, c1996.
- Gerrit Blaauw and Frederick P. Brooks, Jr. Computer Architecture: concepts and evolution. Addison-Wesley, c1997.
- Mark D. Hill, Norman P. Jouppi, and Gurindar S. Sohi. Readings in Computer Architecture. Morgan Kaufmann, 2000.
The MIPS family of chips:
- Martin Campbell-Kelly and William Aspray. Computer: a history of the information machine. Basic Books, 1996.
- Tracy Kidder. The Soul of a New Machine.Little-Brown, 1981.
- Maurice Wilkes. Memoirs of a computer pioneer. MIT Press, 1985.
- Dennis Shasha and Cathy Lazere. Out of Their Minds: the lives and discoveries of 15 great computer scientists. Copernicus, c1995.
- Gerry Kane and Joe Heinrich. MIPS RISC Architecture. Prentice-Hall, 1992.
- Joe Heinrich. MIPS R4000 user's manual. Prentice-Hall, c1993.
- Dominic Sweetman. See MIPS Run. Morgan Kaufmann, c1999.
- Niklaus Wirth. Digital Circuit Design for Computer Science Students. Springer, c1995.
- Randy Katz. Contemporary Logic Design. Benjamin/Cummings, 1994.
- Franklin Prosser and David Winkel. The Art of Digital Design: an introduction to top-down design.
- John Wakerly. Digital Design: principles and practices. Second edition. Prentice-Hall, 1994.
- Edward McCluskey. Logic Design Principles: with emphasis on testable semicustom circuits. Prentice-Hall, 1986.
- Stephen Ward. Computation Structures. McGraw-Hill, 1990.
- Systems Design:
- David Culler and Jaswinder Pal Singh, with Anoop Gupta. Parallel Computer Architecture: a hardware/software approach. Morgan Kaufmann, 1999.
- Carver Mead and Lynn Conway. Introduction to VLSI Systems. Addison-Wesley, 1980.
Some programming experience, or a course like COM1100, plus some data structures, at the level of COM1101.
Several programming projects.