Welcome to CSC 209 Software Tools and Systems Programming!
For course policies including marking scheme and due dates, see the course syllabus.
Lecture Schedule
Week | Topic | Readings | Lecture Notes | Worksheets | Lab Exercise and notes |
---|---|---|---|---|---|
0 (1 Jan) |
No Lectures No Labs |
||||
1 (8 Jan) | Shell and File System | Kerrisk 2.1-2.6 | |||
2 (15 Jan) | Arrays and Pointers | King Chapters 1-7 | |||
3 (22 Jan) | Dynamic memory | King chapters 8, 11, 12, 15 | |||
4 (29 Jan) | Strings, Structs, and Streams | King chapters 13, 17 | |||
5 (5 Feb) | Header files, Low-Level I/O, Function Pointers | Kerrisk 4.1-4.6, 7.1.2, 7.1.3 |
|
||
6 (12 Feb) | Tool chain & System Calls |
Kerrisk 6.1-6.3, 6.6 King Ch 14.1-14.4, 15 |
Files from demo |
|
|
19 Feb | Reading Week | catch up on your readings | No classes | No lab exercise | |
7 (26 Feb) | Midterm and Processes |
Kerrisk 24.1, 24.2, 24.4, 25.1, 25.2, 26 King 17.7 |
fork_fruits_demo.c | fork (soln) | Lab 7: Fork |
8 (5 March) | Processes and Pipes | Kerrisk 2.11, 20, (21) | alternate pipes solution | wait (soln) pipes (soln) | Lab 8: pipe, exec, dup2 |
9 (12 March) | Signals | Kerrisk 56.1 - 56.5, 59.2 | demo.c rand.c | Signals greeting.c | Lab 9: Signals |
10 (19 Mar) | Sockets and Select | Kerrisk 63.1 and 63.2.1 | Socket Slides | simple_server.c simple_client.c socket.h socket.c chat_server.c | Lab 10: Sockets |
11 (26 Mar) | Select, Shell Programming | Starter code: Makefile chat_server.c chat_client.c | Select Shell Programming whatday.sh | No Lab: Good Friday | |
12 (2 April) | Shell Programming & Review | Wrap-up Slides | Shell Programming 2 whatday.sh test_pfact.sh test_floop.sh test_time_reads.sh | No Lab on Makeup Friday |