Please register online for a lecture section, a discussion session, and the quiz timeslot. And grab a copy of our textbook, Computer Systems: A Programmer's Perspective by Bryant and O'Hallaron (3rd edition, Pearson, 2015).
Course Overview
This course covers information representations (integers, floats, strings), x86 and ARM assembly, buffer overflow attacks, cache organization, virtual memory, CPU architecture (out-of-order execution, static/dynamic scheduling) along with compilation and system software concepts such as linking and heap management.
The goal is to improve your understanding of what a computer does to execute a program, and your ability as a programmer.
This course can serve as a basis for CSCI 350 (Operating Systems), CSCI 450 (Computer Networks), CSCI 457 (Computer Systems Organization), EE 451 (Parallel and Distributed Computation)
Important Dates
- First lecture: Tue, Jan, 13, 2026
- Midterm I: Fri, Feb 20, 2026
- Midterm II: Fri, Apr 3, 2026
- Final: Mon, May 11, 2026
Cloud Resources
This class provides access to a cloud server; this will allow you to complete assignments on x86-64 assembly even if your laptop has an ARM processor (e.g., Apple Silicon).
Announcements
- Registrations are open online.
- Classes and exams will be held in person for the Spring 2026 semester.