The course provides a first introduction to computer architecture. It covers the technical foundations of how a computing platform is designed from the bottom up. The focus is on fundamental techniques employed in the design of modern microprocessors and their hardware/software interface.

Course Goals:

Upon completion of the course, students should be able to:

  • Understand how a modern computer works underneath, from the bottom up.
  • Describe how conventional machine instructions operate in conjunction with the components of a computer.
  • Evaluate trade-offs of different designs and ideas.
  • Implement a simple microprocessor.
  • Program a microprocessor in assembly language.

Prerequisites: CSCE 211 (Digital Logic Design) and either CSCE 145 (Algorithmic Design I) or CSCE 206 (Scientific Applications Programming)


  • Lectures: Tuesdays and Thursdays, 1:15-2:30 pm
  • Location: Swearingen Engr Ctr; Room: 2A14
  • Discussion and Q&A: Piazza
  • HW submission: Gradescope
  • Contact: Students should ask all course-related questions on Piazza, where you will also find announcements. If you missed a class and want to know what has been taught, please use Piazza too! You can email the Instructor or the TA for external inquiries, personal matters, or emergencies.