CS 341: System Programming
Due: Week 11 · 2023-03-27 23:59
Due: Week 10 · 2023-03-29 23:59
Bring Your Own Laptop!
Bring your own Windows, Linux, or MacOSX laptop to your CS341 discussion sections because the lab will not have desktop machines. A Chromebook with Linux enabled and may work but it is unlikely to be sufficient. The recommended minimum laptop specification for CS341 is not difficult: i) If you just want to write code using VS Code locally but compile and test remotely using the CS Cloud then you don't need anything powerful - most 8 year old laptop will be sufficient! : VS Code minimum requirements. Your laptop should support Zoom for video conferencing and web browsing. Alternatively ii) If you want to write and test everything locally by running a Linux Virtual Machine on your laptop then you will need something newer and powerful e.g. i5 x64 4-core 8th generation (or similar) CPU, 8GB RAM (16GB recommended), 100 GB Disk Space, (SSD recommended). Heavy gaming laptops are not recommended because they are typically too heavy and bulky to carry and have poor battery life..
For students who need their laptop fixed or are waiting for a new laptop delivery there is the new loaner laptop program run by MediaCommons at the 3rd floor of the U of I Main Library (Room 306, ADA Map). You may borrow a laptop for up to 10 days while waiting for your laptop. A typical loaner laptop is a 2020 Windows Dell Latitude 5310, i5 Core 15-10210, 16GB, 512GB SSD with local admin rights to install software.
Need some help? The MediaCommons website will also have links to relevant financial aid information for laptop purchases.
There is also a limited laptop loaner program by EngrIT for students and faculty in the Grainger College of Engineering
This course is designed to challenge you as a programmer and new computer scientist at the University of Illinois 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 (firstname.lastname@example.org)
Peer tutoring and Office hours will be announced in week 2: here. Prof. Angrave's in-person office hours are Monday 10am in the ECEB atrium, and also immediately after every lecture. Other times by appointment at SC2217.
Recorded Lecture: : See Schedule
Class: ECEB 1002 MWF 11:00AM - 11:50AM
Lab Sections: See courses.illinois.edu
You can find a full list of times and locations on our peer tutoring calendar.
Please read our forum policy, before posting.
Grading Policy (subject to minor changes)
Machine Problems: 45% (weekly)
Labs: 17% (weekly, lowest lab dropped)
Quizzes: 15% (7 quizzes, multiple re-takes, no drops). At PrairieLearn; Available until Reading Day.
Final Exam: 23% ; however upto 3% can be pre-credited based on physical lab attendance i.e. the fractional contribution of the final exam can be reduced.
CS 225: Data Structures
CS 233: Computer Architecture
Covid-19 and CS341
We will follow 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 use online resources.
This course is optimized for on-campus in-person students. Though it will be possible to earn an A in CS341 without physically attending not all points and all experiences may be available online.
Equivalent lecture content is available on ClassTranscribe and also as the course book.
Mental Health, anti-racism and inclusivity, and CS Cares
Please see our important course statements on anti-racism and inclusivity, and information about CS Cares.