cs351

CS 351 - Systems Programming

Syllabus

Course Syllabus, last updated Sep 07 2023


For questions –

We are using Piazza for any course material discussions and questions!

To join, use this link.

For any questions involving personal information, please feel free to email me.


Logistics

This course is hosted online through BlackBoard Collaborate

My office hours are on-demand only. To schedule a meeting with me, please use calendy.

Our TA is Lang Liu, email

Office Hours: Saturday, 6:00 am - 7:00 am CST (Saturday 19:00 pm to 20:00 pm in China) and Friday, 6:45 am - 7:00 am (before class)


Lectures:

Lecture Date Topic(s) Materials
01 06 September 2023 Syllabus, Course Overview Slides-01.pdf
02 08 September 2023 C Primer part 1 Slides-02.pdf
03 13 September 2023 C Primer part 2 Slides-03.pdf
04 15 September 2023 C Primer part 3 Slides-04.pdf
    Quiz 1 - C Primer Solutions: Quiz_01_C_Primer.pdf
05 20 September 2023 Processes and ECF Slides-05.pdf
06 22 September 2023 Processes II Slides-06.pdf
07 27 September 2023 Processes III Slides-07.pdf
08 11 October 2023 I/O part 1 Slides-08.pdf
09 13 October 2023 I/O part 2 Slides-09.pdf
10 18 October 2023 Cache Slides-10.pdf
11 20 October 2023 IPC Slides-11.pdf
12 25 October 2023 Virtual Mem Slides-12.pdf
13 27 October 2023 Dynamic Mem Slides-13-1.pdf
    Implementing malloc Slides-13-2.pdf

Assignments

Topic Assigned Due Files
Contributions - Assignment 1 10 September 2023 15 September 2023  
Lab 01: Preliminaries 27 September 2023 08 October 2023, 23:59 AOE Lab-01.pdf
Lab 02: Bomb! 20 October 2023 29 October 2023, 23:59 AOE Lab-02.pdf
Lab 03: Attack! 26 October 2023 5 November 2023, 23:59 AOE Lab-03.pdf

Resources

Git

I always recommend Pro Git for intro-to-git. You should read every single word in Chapters 2 and 3.

C

For C, the K&R is the word on the language from some of its original designers. I wrote a short review as well with some very short notes.