Instructor: Mirela Damian, Mendel 167A
   
Week 1 (Jan. 15, 17) Computer Systems Overview (pdf). Assignments #1 out.
Unix Environment (pdf). Workshop #1 out.
Week 2 (Jan. 22, 24): Unix System Programming (pdf). Workshop #2 out.
Week 3 (Jan. 29, 31): Introduction to Processes (pdf).
Week 4 (Feb. 5, 7): Smart Shell Workshop -- hands on.
Code for smartshell (part IV) that we wrote in class.
Week 5 (Feb. 12, 14): CPU Scheduling (pdf).
Handout (Scheduling Practice Exercises, pdf)
Week 6 (Feb. 19, 21): Modular Implementation of C Projects (pdf)
Week 7 (Feb. 26, 28): Midterm on Tuesday, February 26, during class time.
Mar. 4-10: Spring Break
Week 8 (Mar. 12, 14): No class meetings this week. Creating Unix Processes (pdf). Handout: fork exercises
Recorded Lecture (.mp4 format, 210 Mb, 22 mins). Process assignment out.
Week 9 (Mar. 19, 21): Executing Unix Processes (pdf). Handout: exec exercises
InterProcess Communication with Pipes (pdf).
Week 10 (Mar. 26): No class meetings this week.
Mar. 4-10: Easter Break
Week 11 (Apr. 2, 4): Introduction to Threads (pdf)
Hands-on Programming with POSIX threads (html)
Week 12 (Apr. 9, 11): Synchronizing Threads with Semaphores (pdf)
Hands-on the Producer-Consumer Problem (html)
Week 13 (Apr. 16, 18): Introduction to Socket Programming (pdf)
Hands-on Echo Client and Server (html). Use your assigned port number.
Framework for Chat Client and Server developed in class (chatserver.c   chatclient.c   Makefile)
Version 2 of Framework for Chat Client and Server (chatserver2.c   chatclient2.c)
Week 14 (Apr. 23, 25): Memory Management (pdf)
Handout (pdf)
Week 15 (May 2)
Final exam Saturday, May 4, 10:45 am - 1:15 pm.