CSCB09 2023 Summer

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.

Labs, Assignments, Term Test, Final Exam

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

Lectures, Reading

[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