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, Aug 27, 2024
- Midterm I: Fri, Oct 4, 2024
- Midterm II: Fri, Nov 8, 2024
- Final: Sat, Dec 14, 2024
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 Fall 2024 semester.