Systems Programming

Course materials

Getting help

Schedule

DateEventAssignmentsReadings and Notes
Wed Jan 18 Course introduction Homework 1 How to study: a brief guide
Fri Jan 20 Introduction to C Chapters 1, 2
C tutorial
Mon Jan 23 Introduction to C Additional C reference slides
Wed Jan 25 Operating systems Homework 1 due
MP1: C basics (zip)
Thu Jan 26 Discussion section (ppt) Files
Fri Jan 27 System calls I/O Syscall tutorial
Chapter 3: UNIX survival skills for reference as needed
Mon Jan 30 Memory intro MP1 due tomorrow Chapter 21 (7.1-7.2)
Wed Feb 1 Memory intro
MP2: malloc
Chapter 21 (7.1-7.3)
Thu Feb 2 Discussion section: ppt, pdf
Fri Feb 3 Memory: heap allocation
Mon Feb 6 Memory: heap allocation
Wed Feb 8 Memory: paging Chapter 22 (8.1,8.2)
Thu Feb 9 Discussion section: ppt, pdf, Files
Fri Feb 10 Memory: paging poll
Mon Feb 13 Processes MP2 due tomorrow poll, code
Wed Feb 15 Processes: System view MP3: shell (zip)
Thu Feb 16 Discussion section (pptx,pdf)
Fri Feb 17 Processes: System view and Threads intro code
Mon Feb 20 Threads: pthreads MP3 due tomorrow poll
Wed Feb 22 Threads: systems view MP4: parallel sort (zip) poll
Thu Feb 23 Discussion section: ppt, pdf
Fri Feb 24 Threads wrap-up pre-lecture quiz, primality.c, primality-solution.c
Mon Feb 27 Scheduling mid-semester feedback
Wed Feb 29 Scheduling, Synchronization intro quantum.c
Thu Mar 1 Discussion section
Fri Mar 2 Synchronization MP4 due Guess the value, goodcounter.c
Mon Mar 5 Midterm review study guide, practice exam
Tue Mar 6 Midterm exam, 7:00 - 9:00 pm Location by last name:
A-Liang: 1404 SC
Lim-Z: 1320 DCL
Grade distribution
Wed Mar 7 MP overview (ppt) MP5: scheduling (zip)
Thu Mar 8 Discussion section cancelled
Fri Mar 9 Class cancelled for EOH
Mon Mar 12 How to build a semaphore (pptx) MP5 due tomorrow
Wed Mar 14 How to use a semaphore (pptx) MP6: parallel make (zip) questions, rw1.c
Thu Mar 15 Discussion section: ppt, pdf, zip
Fri Mar 16 Condition variables (pptx) questions, pc.c, rw2.c, rw3.c
Spring Break
Mon Mar 26 Deadlocks (pptx)
Wed Mar 28 Deadlock solutions (pptx) questions
Thu Mar 29 Discussion section: ppt, pdf, zip
Fri Mar 30 Deadlock solutions (pptx)
Mon Apr 2 Interprocess communication MP6 due tomorrow shm.c, mmap.c
Wed Apr 4 IPC: Pipes, FIFOs (pptx) MP7: MapReduce (zip) pipe.c, ls_wc.c
Thu Apr 5 Discussion section: ppt, pdf
Fri Apr 6 Select, poll, signals (pptx) questions, pipestdin.c, BlockSIGINT.c
Mon Apr 9 Signals (pptx) signal-v1.c, signal-v2.c
Wed Apr 11 Networking (pptx)
Thu Apr 12 Discussion section pdf, ppt
Fri Apr 13 Network programming (pptx)
Mon Apr 16 Network applications (pptx) MP7 due tomorrow
Wed Apr 18 Network applications (pptx) MP8: web server
Thu Apr 19 Discussion section pdf, ppt
Fri Apr 20 DNS and more (pptx) server.c
Mon Apr 23 Disks and I/O (pptx) questions
Wed Apr 25 I/O (pptx)
Thu Apr 26 Discussion section pdf, ppt
Fri Apr 27 I/O (pptx) questions, copy.c
Mon Apr 30 Filesystems (pptx) MP8 due tomorrow
Wed May 2 Wrap up and Beyond CS241
May 11 Final Exam, 1:30 - 4:30 pm Location by last name:
A-Liang: 151 Loomis
Lim-Z: 1404 SC
practice exam (docx), study guide (docx)
Grade distribution, histogram