Introduction
Announcements

Schedule
Labs
Assignments
TA office hours

Tests, exam

Topic videos
Some course notes
Extra problems
Lecture recordings

Discussion board

Grades so far

Week of July 26

Lecture:

Finish sockets and internet communication material

multitasking

POSIX threads

Introduction to concurrency
and then you can watch concurrency videos 02 and 03

Lab:

Lab 11
There is a lab tutorial

Videos:

Watch the eighth processes video, which is about pipes and the "producer/consumer" architecture. (The producer/consumer architecture can also be implemented across machines using sockets.)

Optionally watch the sockets videos, although I think I covered what you need to know for assignment four in lecture.


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