Systems 1: Hardware Architecture and Design—From circuits to machine code (CS2114.01)

Darcy Otto

Have you ever wondered what a computer is and how it actually works?  In this course, we’ll answer the hardware half of this question.

Working from the ground up, we will start with basic circuits and develop elementary logic gates.  Taking these gates as our building blocks, we will construct the core components of a modern computer: the central processing unit, registers, and memory chips.  We will then follow the principles of modern hardware architecture to integrate these components into a general-purpose computer.  Our journey will culminate in using machine code to control the computer we have designed.

By the end of this course, you will understand what a computer is and how it actually works, from the perspective of hardware.  You will be able to explain how to go from basic circuits, to a working machine that responds to code you write.  You will also have completed the prerequisite for Systems 2, which explores the software architecture and design of a modern computer.

No previous experience in Computer Science is necessary to take this course, and you do not need any familiarity with programming.  However, your learning will be well-supported by experience in a course that emphasizes symbolic thinking.  You are encouraged to have completed (or be simultaneously enrolled in) a Computer Science or Mathematics course; but this is not a requirement for Systems 1.

Topics include: electronic circuits, combinatorial logic, sequential logic, chip design, hardware architecture, machine code, assembly language.

Evaluation will be based on active engagement, projects, and a comprehensive final examination.

Learning Outcomes:
-Understand Basic Electronics and Circuitry: By the end of the course, you will be able to describe the principles of electronic circuits and identify key components that allow for the flow and control of electricity.
-Design Elementary Logic Gates: You will be able to design and implement basic combinatorial and sequential logic gates, and explain their role in computer hardware operations.
-Construct Core Computer Components: Using elementary logic gates as building blocks, you will be able to design and explain the function of a central processing unit, registers, and memory chips.
-Integrate Hardware Components into a Functional Computer System: You will gain experience integrating the core components of a computer using principles of modern hardware architecture to create a general-purpose machine.
-Write Machine Code: You will showcase your ability to write simple machine code instructions and demonstrate how those instructions control and manipulate the computer system you’ve built.

Delivery Method: Fully in-person
Course Level: 2000-level
Credits: 4
M/Th 10:00AM - 11:50AM (Full-term)
Maximum Enrollment: 20
Course Frequency: Every 2-3 years

Categories: 2000 , All courses , Computer Science , Four Credit , Fully In-Person , New Courses , Updates