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, Aug, 25, 2026
- Midterm I: Fri, Oct 2, 2026
- Midterm II: Fri, Nov 6, 2026
- Final: Sat, Dec 12, 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).