| Week | Topics | Practical | Then watch videos | Asmt |
| May 10
|
Course info; software tools |
Lab 01 |
unix command-line; software tools 01 and 02 |
|
| May 17
|
Software tools, shell programming |
Lab 02 |
shell 01, 02, 03, 04 |
|
| May 24
|
Shell programming, start talking about C |
Lab 03 |
introductory C, arrays in C |
|
| May 31
|
introductory C, C data types |
Lab 04 |
the first five pointers in C videos; the struct videos; optionally the make video |
a1 |
| June 7
|
other C matters; strings; files |
Lab 05 |
strings; files |
|
| June 14
|
More "other C matters"; files, strings, argv |
Lab 06 |
malloc; processes 01 to 04. |
|
| later June |
The unix filesystem (video only; no class) |
Lab 07 |
the unix filesystem; processes06; at some point watch C declarations |
|
| July 5
|
Begin processes |
Lab 08 |
signals, bitwise operations |
a2 |
| July 12
|
The rest of the material about processes |
Lab 09 |
the C pre-processor; select(); processes07 |
|
| July 19
|
Interprocess communication (sockets) |
Lab 10 |
shell 06; catch up with any above videos not already watched |
|
| July 26
|
finish interprocess communication; introduction to concurrency; multitasking |
Lab 11 |
concurrency 02, concurrency 03 |
a3 |
| August 2
|
POSIX threads, begin computer security |
Lab 12 |
optionally processes 08; optionally sockets videos |
|
| August 9
|
finish computer security; exam information; concluding remarks |
Lab 13 |
none |
a4 |
| exam
|
|
Lab 13 |
|
|