ECE 252: Systems Programming and Concurrency
👥 Enrolled Students: 120/150
⭐ TA Rating: ★★★★☆ (--.--/5)
Course Description
View on UWaterlooThis course covers Processes and threads (pthreads); system calls; concurrency (semaphore, mutex, monitors, and barrier synchronization); user-level memory management. Performance and correctness of concurrent systems. Deadlock detection and recovery; file systems.
Antirequisites
- CS 343, CS 350, ECE 254, SE 350
Resources
- Course Resources: GitHub
- Optional Reference: Michael Kerrisk, The Linux Programming Interface
Evaluation
| Component | Weight |
|---|---|
| In-class Exercises | 4% |
| Lab Projects | 30% |
| Midterm Exam | 21% |
| Final Exam | 45% |
Lab Instructor
| Dr. Mojtaba Aajami, Ph.D. | Lab Instructor | mojtaba.aajami@uwaterloo.ca |