CS3130: Computer Systems and Organization
| Program start date | Application deadline |
| 2024-09-01 | - |
Program Overview
CS 3130 Fall 2024 Program Details
Overview
The CS 3130 Fall 2024 program is designed to provide students with a comprehensive understanding of core system architecture, real hardware, concurrency, virtual memory, practical networking, security, and ethical and legal issues.
Learning Outcomes
As a result of taking this course, students should learn:
- core system architecture, including DMA, interrupts, and cache coherency
- real hardware, including concurrency complexities and what makes SPECTRE work
- concurrency, including synchronization, mutual exclusion, coherency, and concurrency bugs
- virtual memory, including process isolation and shared memory
- practical networking, including familiarity with TCP/IP, DNS, snooping, spoofing, and TLS
- security, including unix permissions, privilege escalation, and modern exploits
- ethical and legal issues, including reporting
- a build system and practical command-line tools
Readings
The program includes several writeups, such as:
- CSO2 overview
- Building
- Compilation and Libraries
- Makefiles
- Kernels – Software for the Hardware
- Virtual Memory
- User Accounts
- File Permissions
- Buses (and networks)
- Networking Protocols
- Cryptographic protocols
- Caches – Keep a finger in it
- Processes and threads
- Synchronization primitives
- Using POSIX Threads
- Deadlock
- Consistency
- Processors
These writeups will be augmented with various examples, online articles, and other resources.
Environment for Assignments
Assignments will be tested on an environment similar to the department’s Linux machines that are accessible via SSH. Students are welcome to use an IDE of their choice, as long as their submission will work when tested from a command line-like environment.
Old Quizzes/Exams
Old exams and quizzes can be found on the study materials link.
Getting Help
Students can get help through:
- Office hours
- Piazza (linked off Collab site)
- Emailing the instructor (not preferred for course material questions)
Course Staff
The course staff includes:
- Charles Reiss — section 001
- Kevin Skadron — section 002
- Teaching Assistants:
- Agi Luong
- Akash Pamal
- Alex Ning
- Alexander Davis
- Alston Hou
- Alvin Huynh
- Andrew Ma
- Arjun Trivedi
- Ava Lipshultz
- Brandon Yuan
- Brian Bippert
- Chance Rose
- Divya Bagla
- Feyona Zhang
- Gary Huang
- Haizhou (Trevor) Yu
- Hieu
- Hugo Abbot
- Kevin Zhang
- Lars Christensen
- Miktad Cakmak
- Mohammadhosein (Hosein) Gholamrezaei
- Morteza Baradaran
- Nitya Khamar
- Paul Karhnak
- Riley Fletcher
- Shahryar Kiani
- Sri
- Tavis Palmer
- Tong Zhou
- Zhenxing
The program is released under the CC-BY-NC-SA 4.0 license.
