Computer Systems
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, x86 assembly, buffer overflow attacks, memory hierarchies, caches, virtual memory, out-of-order execution, 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, improving your ability as a programmer.
This course will also 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 14, 2025
- Midterm I: Fri, Feb 21, 2025
- Midterm II: Fri, Apr 4, 2025
- Final: Mon, May 12, 2025
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 2025 semester.