| Week 1 |
| 17 Feb 03 | No lecture |
| Lecture 1: 20 Feb 03 | Skills evaluation |
| Week 2 |
| Lecture 2: 24 Feb 03 | Operating systems overview |
| Lecture 3: 27 Feb 03 | The UNIX Shell I |
| Week 3 |
| Lecture 4: 03 Mar 03 | The UNIX Shell II | Assign. 1 out |
| Lecture 5: 06 Mar 03 | Writing shell scripts |
| Week 4 |
| Lecture 6: 10 Mar 03 | C programming: Compilation |
| Lecture 7: 13 Mar 03 | C programming: Basics | Assign. 1 in |
| Week 5 |
| Lecture 8: 17 Mar 03 | C programming: Arrays and strings | Assign. 2 out |
| Lecture 9: 20 Mar 03 | C Programming: Functions, header files, structs |
| Week 6 |
| Lecture 10: 24 Mar 03 | C Programming: Pointers | Assign. 2 inAssign. 3 out |
| Lecture 11: 27 Mar 03 | C Programming: Even more Pointers |
| Week 7 |
| Lecture 12: 31 Mar 03 | C Programming: More and more pointers | Assign. 3 in |
| Lecture 13: 03 Apr 03 | 50-minute in-class test |
| 05-07 Apr 03: Term 1 Study Period |
| 08-12 Apr 03: Term 1 Exams |
| 13-21 Apr 03: Vacation! |
| Week 8 |
| Lecture 14: 24 Apr 03 | File I/O and directory system calls (Ch 17,19)
|
| Week 9 |
| Lecture 15: 28 Apr 03 | Process Control and Pipes (Ch 21,22) |
| Lecture 16: 01 May 03 | Interrupts and Signals, Message queues (Ch 23,24)
|
| Week 10 |
| Lecture 17: 05 May 03 | Semaphores I (Ch 25) |
| Lecture 18: 08 May 03 | Semaphores II (Ch 25) |
| Week 11 |
| Lecture 19: 12 May 03 | Shared memory I (Ch 26) |
| Lecture 20: 15 May 03 | Shared memory II (Ch 26) |
| Week 12 |
| Lecture 21: 19 May 03 | Sockets (Ch 27) |
| Lecture 22: 22 May 03 | Threads: Basic Theory (Ch 28) |
| Week 13 |
| Lecture 23: 26 May 03 | Threads: Attributes (Ch 29) |
| Lecture 24: 29 May 03 | Threads: Synchronization (Ch 30) |
| Week 14 |
| Lecture 25: 02 Jun 03 | Remote Procedure Calls (Ch 32) |
| Lecture 26: 05 Jun 03 | RPC Programming (Ch 33) |
| 7-11 Jun 03: Term 2 Study Period |
| 12-17 Jun 03: Term 2 Exams |