CS 241: System Programming
Due: Week 15 · 2021-11-15 23:59
Due: Week 16 · 2021-12-08 23:59
This course is designed to challenge you as a programmer and new computer scientist at the University of Illinois at Urbana-Champaign. Rather than the sand-boxed, contained, and simple problems of your previous courses that used significant scaffolding and pre-built libraries, you will be interacting with a much more complex environment: the entire system and even computing networks.
You will need to fully understand how memory is allocated, used, and re-used within a process.
You will also need to know how input and output can be optionally buffered between processes and files.
In short, it is time to remove the training wheels off and instead fling open the doors, welcoming you to the big, wide world of computing.
Oh, and did we mention the challenge of concurrency and solving asynchronous problems, so that your program can take advantage of the multi-core CPU inside each machine?
Time and Location
Instructor: Lawrence Angrave (email@example.com)
Peer tutoring and Office hours will be announced in week 2: here. Prof. Angrave's in-person office hour is Mondays 10:30 - 11:30 in SC2217, and also immediately after every lecture in ECEB. Other times by appointment.
Recorded Lecture: : See Schedule
Location: Online (AL1), 1002 ECEB (AL2)
You can find a full list of times and locations on our peer tutoring calendar.
Please read our forum policy, before posting.
Please read our mental health statement.
Grading Policy (subject to minor changes)
Machine Problems: 40% (weekly)
Labs: 17% (weekly, lowest lab dropped)
Lab Attendance: 3% (2 drops)
Quizzes: 15% (7 quizzes, lowest dropped). At PrairieLearn; Available until Reading Day.
Final Exam: 25% (comprehensive)
CS 225: Data Structures
CS 233: Computer Architecture
Covid-19 and CS241
We will follow all the UIUC COVID-19 recommendations. For the on-campus instruction please see the following instructions. This course is designed to help you succeed whether you attend in person or learn virtually. If you prefer or are unable to attend in person you may attend online and use online resources. Zoom links for the sections will be posted in Ed.