Introduction
Announcements

Schedule
Labs
Assignments
TA office hours

Tests, exam

Topic videos
Some course notes
Extra problems
Lecture recordings

Discussion board

Grades so far

C data types (May 31)


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