CSCB09 2026 Summer

Instructor: Albert Lai, albertyc.lai@utoronto.ca

Course information: link. (Marking scheme, course policy.)

Office hours:
Thursday 17:15-18:15, Friday 14:00-15:30 extensible, CS Help Centre IA 3180
There are extra office hours for assignments, term tests, final exam.

Textbooks:
Required (free PDF download): William Shotts, The Linux Command Line.
Required: Michael Kerrisk, The Linux Programming Interface.
Optional: If you need further help with C, try:
Programiz C tutorial (has more examples)
learn-c.org (has more topics and embedded try-out)

Software: Please visit the CSCB09 software page.

Labs, Assignments, Term Test, Final Exam

lab l09 l08 l07 l06 l05 l04 l03 l02
due Jul 17 Jul 10 Jun 26 Jun 12 Jun 5 May 29 May 22 May 15

Item Due date & notes
Test 2 July 20 5PM-6:15, IC130, 1 aid sheet
C I/O, modularization, Unix file system, processes & redirection & pipes
Assignment 3 July 25 midnight
Assignment 2 July 5 midnight
Assignment 1 June 7 noon
Test 1 June 8 5PM-6:15, IC130, 1 aid sheet
Scope: Up to and including C data types
Final exam 2 aid sheets

Lectures, Reading

[CL] refers to The Linux Command Line.
[PI] refers to The Linux Programming Interface.

Date Lecture Code Reading
May 7 Introduction
Redirection, Pipelining, Files
AT&T Unix video
[PI] 2.1–2.7 (it's OK to be a bit lost for now)
[CL] 1–4 except Links, 6
[CL] 5.3, 6, 20 for week 2 lab
[CL] 16.3 for ssh
May 14 Shell programming code [CL] 7, 11, 24–36.1
May 21 Shell programming
May 28 Shell programming
Some utilities
code [CL] 17, 19
Jun 4 C data types
C I/O
code
code
Jun 11 C I/O
C modularization code
Jun 25 C modularization
Unix file system [CL] chapters 3, 4, 9
[PI] chapters 4-5, 18
Jul 2 Unix file system code
Jul 9 processes & redirection code [PI] chapters 24-27, 44
signals code [PI] chapters 20-21
Jul 16 signals
network sockets code [PI] chapters 56, 58, 59
I/O multiplexing code [PI] chapter 63 minus 63.3
Threads code [PI] chapters 29,30