Course Description
System programming with emphasis on processes, memory management, multithreaded programming, synchronization and deadlocks, interprocess communication, parallel and distributed computing, networking, files systems, security, signals, and virtualization containers. Prerequisite: Grade of C- or better in CSC 230 and CSC 261, or permission of instructor.
Syllabus
Student Learning Outcomes, Goals, Objectives:
This class is a programming-focused class, exploring how programs interact with the operating system and use system and related services.
Students successfully completing this course will be able to:
diagram basic process structure and resources, including memory segments, file handles, user/ownership;
use manual memory management techniques for dynamic memory allocation in a program;
create programs that use threads for parallel processing;
create programs that use network sockets for inter-system communication;
create programs that use message passing between different systems for distributed computing;
explain basic security principles, including core goals of confidentiality, integrity, and availability, and subject/object access control;
use virtual machines and containers for isolation.
Course Grading Information:
Activity/Performance Measure | Percentage/Points |
|---|---|
In-class/participation | 10 % |
Solo Assignments | 25 % |
Collaborative Assignments | 30 % |
Tests | 35 % |
Grading Scale
Percentage | Letter Grade |
|---|---|
94-100 | A |
90-93 | A- |
87-89 | B+ |
84-86 | B |
80-83 | B- |
77-79 | C+ |
74-76 | C |
70-73 | C- |
67-69 | D+ |
64-66 | D |
60-63 | D- |
<59 | F |
Attendance/Participation:
Students are required to attend all classes. Accumulated absences more than 30% of total class hours without preapproval, it may lead to failure in the course.
Course Materials Purchased by the Students:
B. Venkatesh, L. Angrave, et al., System Programming Coursebook
Available at https://cs341.cs.illinois.edu/coursebook/index.html
Scholarly Perspectives
This course engages diverse scholarly perspectives to develop critical thinking, analysis, and debate and inclusion of a reading does not imply endorsement.