Instructor: Albert Lai, albertyc.lai@utoronto.ca
Course information: link to course information page. (Marking scheme, course policy, academic integrity policy and advice.)
Office hours:
Tuesday and Friday 14:00-15:30 extensible, CS Help Centre IC402
There are extra office hours for assignments, midterm test, final exam.
More required websites to check:
Quercus: announcements, solutions.
Ed Discussion: course forum. (Quercus has the link.)
MarkUs:
submitting and returning assignments.
Crowdmark or Gradescope:
returning tests.
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.
Item | Due date & notes |
---|---|
Assignment 1 | Wednesday June 7 11:59PM |
Assignment 2 | Saturday July 1 11:59PM |
Midterm Test | Monday July 10 5PM HL B101
1 hour 30 minutes 1 aid sheet Scope: Weeks 1-6 plus Week 7 Lab |
Assignment 3 | Wednesday July 26 11:59PM |
Assignment 4 | Wednesday August 9 11:59PM |
Final exam | Last name A-R: IC220. Last name S-Z: IC230. |
Labs:
Tutorial notes from Andrew D'Amario 2022: link
lab | week 12 | week 11 | week 10 | week 9 | week 8 | week 7 | week 6 | week 5 | week 4 | week 3 | week 2 |
---|---|---|---|---|---|---|---|---|---|---|---|
Ian's notes | link | link | link | link | link | ||||||
due | Aug 4 | Jul 28 | Jul 21 | Jul 14 | Jul 7 | Jun 30 | Jun 16 | Jun 9 | Jun 2 | May 26 | May 19 |
[CL] refers to The Linux Command Line.
[PI] refers to The Linux Programming Interface.
Date | Lecture | Code | Reading |
---|---|---|---|
May 11 | Introduction | AT&T Unix video
[PI] 2.1–2.7 (it's OK to be a bit lost for now) [CL] 1–6 [CL] 6, 20 for week 2 lab [CL] 16.3 for ssh | |
May 18 | Shell programming | code | [CL] 7, 11, 24–34, 36.1 |
May 25 | Shell programming | ||
Some utilities | [CL] 17, 19 | ||
Jun 1 | C data types | code | |
Jun 8 | C I/O | code | |
Jun 15 | C modularization | code | |
Jun 29 | Unix file system | code | [CL] chapters 3, 4, 9
[PI] chapters 4-5, 18 |
Jul 6 | Unix file system | ||
processes & redirection | code | [PI] chapters 24-27, 44 | |
Jul 13: | processes & redirection | ||
signals | code | [PI] chapters 20-21 | |
Jul 20 | network sockets | code | [PI] chapters 56, 58, 59 |
Jul 27 | I/O multiplexing | code | [PI] chapter 63 minus 63.3 |
Aug 3 | Threads (not on exam) | code | [PI] chapters 29,30 |