Schedule

Content

Course Schedule#

If you added late, check this page to get caught up.

The general structure of the course has MP assignments due on Mondays at 11:59 PM and Lab assignments due on Wednesdays at 11:59 PM. These repeat weekly - some MPs are multi-week but have checkpoints weekly.

The handouts for the lectures, as well as all demo source code, can be obtained here.

Week 1

Highlights: Read the course book background. Work on Homework 0. Sign up Quiz 1 slot (when available). Watch online lectures 2 and 3 when they are published. First lab on Thursday.

  • Mon 8/25. Lecture 1. DCL1320 (9am or 10am) Welcome to C and System Programming

  • Wed 8/27. Lecture 2 “See C Crash” 14 minivideos at classtranscribe.ncsa.illinois.edu. Supplemental code and handouts are at https://github-dev.cs.illinois.edu/angrave/cs241-lectures
  • Wed 01/16. Angrave’s Optional review section/Office Hours in ECEB1002 8am - 9am; Additional Angrave office hours 9-9:30 ECEB atrium.

  • Thu 8/28. Lab sections in Siebel Basement SC0218/SC0222. Schedule

  • Fri 8/29. Lecture 3 “A Day At The C side”

  • Sign up this week your 50 minute slot for next week’s CBTF Quiz 1

  • Weekend target: Finish HW0. Finish Chapters 2 (Background) and 3 (C Programming Language). This will ensure you are ready for the first quiz (see the quiz page for topics)

Week 2

  • Mon 9/2. Labor Day. Mp Extreme Edge Cases assigned.

  • Wed 9/4. Lecture 4 “Scanf, Getline”. Lab Luscious Locks due. Lab Perilous Pointers assigned. Lab sections in Siebel Basement SC0218/SC0222. Schedule

  • Thu 9/5. Lab sections in Siebel Basement SC0218/SC0222. Schedule.

  • Fri 9/6. Lecture 5 “Exec, Fork, Environ”.

Week 3

  • Mon 9/9. Lecture 6 “Fork, Exec, Wait”. Mp Extreme Edge Cases due. Mp Vector assigned.

  • Wed 9/11. Lecture 7 “Signals”. Lab Perilous Pointers due. Lab Utilities Unleashed assigned. Lab sections in Siebel Basement SC0218/SC0222. Schedule

  • Thu 9/12. Lab sections in Siebel Basement SC0218/SC0222. Schedule.

  • Fri 9/13. Lecture 8 “Heap”.

  • Quiz 2 running from Fri 9/13 through Mon 9/16

Week 4

  • Mon 9/16. Lecture 9 “Allocator”. Mp Vector due. Mp Shell Part 1 and 2 assigned.

  • Wed 9/18. Lecture 10 “Allocator - Part 2”. Lab Utilities Unleashed due. Lab Mini Memcheck assigned. Lab sections in Siebel Basement SC0218/SC0222. Schedule

  • Thu 9/19. Lab sections in Siebel Basement SC0218/SC0222. Schedule.

  • Fri 9/20. Lecture 11 “Threads”.

Week 5

  • Mon 9/23. Lecture 12 “Threads and Memory”. Mp Shell Part 1 due.

  • Wed 9/25. Lecture 13 “Pthreads”. Lab Mini Memcheck due. Lab Teaching Threads assigned. Lab sections in Siebel Basement SC0218/SC0222. Schedule

  • Thu 9/26. Lab sections in Siebel Basement SC0218/SC0222. Schedule.

  • Fri 9/27. Lecture 14 “Pthreads and Locks”.

  • Quiz 3 running from Fri 9/27 through Mon 9/30

Week 6

  • Mon 9/30. Lecture 15 “Condition Variables”. Mp Shell Part 2 due. Mp Malloc Part 1 and 2 assigned.

  • Wed 10/2. Lecture 16 “Counting Semaphores”. Lab Teaching Threads due. Lab Critical Concurrency assigned. Lab sections in Siebel Basement SC0218/SC0222. Schedule

  • Thu 10/3. Lab sections in Siebel Basement SC0218/SC0222. Schedule.

  • Fri 10/4. Lecture 17 “Producer/Consumer Barriers V2”.

Week 7

  • Mon 10/7. Lecture 18 “Reader/Writer Deadlock”. Mp Malloc Part 1 due.

  • Wed 10/9. Lecture 18.5 “Catchup”. Lab Critical Concurrency due. Lab Deadlock Demolition assigned. Lab sections in Siebel Basement SC0218/SC0222. Schedule

  • Thu 10/10. Lab sections in Siebel Basement SC0218/SC0222. Schedule.

  • Fri 10/11. Lecture 19 “Reader/Writer Deadlock Part 2”.

  • Quiz 4 running from Fri 10/11 through Mon 10/14

Week 8

  • Mon 10/14. No Lecture. Mp Malloc Part 2 due. Mp Password Cracker assigned.

  • Wed 10/16. Lecture 20 “Dining Philosophers Problem”. Lab sections in Siebel Basement SC0218/SC0222. Schedule

  • Thu 10/17. Lab sections in Siebel Basement SC0218/SC0222. Schedule.

  • Fri 10/18. Lecture 21 “Page Tables and IPC”.

CBTF Quiz summary. These are usually available Friday - Monday.

Quiz First day Last day
Quiz 1 Fri, Sep 6 Mon, Sep 9
Quiz 2 Fri, Sep 13 Mon, Sep 16
Quiz 3 Fri, Sep 27 Mon, Sep 30
Quiz 4 Fri, Oct 11 Mon, Oct 14
Quiz 5 Fri, Oct 25 Mon, Oct 28
Quiz 6 Fri, Nov 8 Mon, Nov 11
Quiz 7 Mon, Dec 2 Wed, Dec 4

Protip 1: CBTF is used by many courses. Seats may not be available on the later days - so sign up early to reserve your preferreed day and time. Protip 2: If you miss your slot, visit the CBTF in person as soon as possible to see if it can be re-scheduled.