Introduction
Announcements

Schedule
Labs
Assignments
TA office hours

Tests, exam

Topic videos
Some course notes
Extra problems
Lecture recordings

Discussion board

Grades so far

Concluding remarks (August 9)


WeekTopicsPracticalThen watch videosAsmt
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