PDF versions of the lecture slides will be available here.
Readings from the course textbooks will be assigned at least a week in
advance as preparation for the week's lectures.
Topics | Delivered | Slides | Readings |
Introduction | Week 1 | pdf (pdf 1-up) | |
Unix review and Unix files | Week 1 | ||
Using the shell | Week 2 | pdf (pdf 1-up) | |
Shell programming | Week 2 | ||
Shell programming | Week 3 | pdf (pdf 1-up) | examples |
Shell programming | Week 3 | ||
Shell review | Week 4 | pdf (pdf 1-up) | |
Introduction to C | Week 4 |
Intro notes pdf (pdf 1-up) |
King: Ch. 1-7 |
C: Pointers | Week 5 | pdf (pdf 1-up) | King: Ch 7, 8.1, 11.1, 11.2, 11.3 |
C: Strings | Week 5 | pdf (pdf 1-up) | |
C: Memory management | Week 6 | pdf (pdf 1-up) | King: Ch. 12, 13, 17.1-17.4, 16.1-16.3 |
C: Files and structs | Week 6 | pdf (pdf 1-up) |
Haviland: Chapters 1, 2.2-2.4, 3.3, 4.1, 4.2, 4.4 Examples |
C: Miscellaneous | Week 7 | pdf
(pdf 1-up)
(updated) |
Examples |
Processes | Week 7 | pdf (pdf 1-up) | Haviland: Chapter 5 Examples |
Pipes | Week 8 | pdf (pdf 1-up) | Haviland: Chapter 7.1 (except 7.1.6), 2, 11 |
Pipes | Week 8 | workers.c Pipe simulator(Click on the fork-pipe simluator) |
|
Signals | Week 8-9 | pdf (pdf 1-up) | Haviland: Chapter 6 (except 6.2.4 on sigsetjmp) |
Function Pointers | Week 9 | pdf (pdf 1-up) | |
Sockets | Week 10 | pdf
(pdf 1-up) (updated) |
Haviland: Chapter 10 Examples |
Select | Week 11 | pdf (pdf 1-up) | Haviland: Chapter 7.1.6, King: Chapter 20.1 |
Bit Vectors | Week 12 | pdf (pdf 1-up) | King: 20.1, 20.2 Example: bitsets.c |
Concurrency | Week 12 | pdf (pdf 1-up) | Haviland: Chapter 8.3.3 |
Threads | Week 13 | pdf (pdf 1-up) | Example: threadserver.c pthreads tutorial |
Review and Exam Prep | Week 13 | pdf (pdf 1-up) |
Note:
If you opt to use a different C book for use in this course,
you can read the sections of your book that correspond to the assigned
readings.
You may wish to consult the table of contents for
King's book.