Calendar Description

Software techniques in a Unix-style environment, using scripting languages and a machine-oriented programming language (typically C). What goes on in the operating system when programs are executed. Core topics: creating and using software tools, pipes and filters, file processing, shell programming, processes, system calls, signals, basic network programming.

Contact information

Instructors

Email: | csc20918s@cs.toronto.edu

Office hours Location
M 11:30-12:30 BA 4238 (Jen)
T 1-2 BA 4238 (Jen)
W 11:30-1:30 BA 4258 (Michelle)
Th 3-4 BA 4258 (Michelle)

Lectures

Instructor Office Section Lectures
Jen Campbell BA 4238 L0101 MW10
Michelle Craig BA 4258 L0201, L0301, L5101 MW2, MW3, W6-8

Labs

Notice that labs have been further collapsed.

Section Time Room Family Names
TUT0101 F1 BA 3185 A – Z
BA 3195 (go to 3185)
TUT0201 F2 BA 3175 A – H (pick either other room)
BA 3185 I – O
BA 3195 P – Z
TUT0301 F3 BA 3175 (go to 3185)
BA 3185 A – Z
BA 3195 (go to 3185)
TUT501 W8 BA 3185 A – Z
BA 3195 (go to 3185)

Professionalism in CSC209

We are committed to creating a respectful learning environment in CSC courses for all students and expect that you will adhere to the University of Toronto Code of Student Conduct. Please be mindful of how your behaviour influences the atmosphere in our learning community, not just in classes, but also in computer labs, in online forums, and anywhere that you interact with other students and members of the department.

Course Materials

Handouts, assignments, marks, and important course information will be posted periodically on the web page. You should visit regularly to check. Important assignment announcements will be posted on the discussion forum. You are responsible for announcements made in class, on the web page, and on pinned instructor posts on Piazza.

The discussion board is the best place to ask technical questions, and general questions about the course, assignments and labs. Please note that officially Piazza’s privacy policy does not meet the requirements of the U of T. However, Piazza recently updated their policy so we would encourage you to read it and decide for yourself. We would be happy to talk with you about ways to access discussion board posts without logging in, or other alternatives.

Please use the course email address csc20918s@cs.toronto.edu for personal questions and the discussion board for all other course-related questions. We try to respond to email by the end of the next day. However, due to volume, it may take longer, especially on weekends. (We are often not able to answer email more than once on the weekend.)

Please send email from a U of T email address and include your full name.

If you have feedback about the course, the web page includes a link to an anonymous email form. (You also have the option of including your name.) Since the sender cannot be determined, comments sent through the feedback system are considered public, and they may receive a response at the beginning of class or on the discussion board.

Marking Scheme and Schedule

Work Weight Deadline
Lecture Preparation 5% Mondays before 9:30am
Lab Exercises 10% Fridays before 6:30pm
A1 – C basics 5% Thursday 01 February before 8:00pm
A2 – System Calls 10% Thursday 15 February before 8:00pm
Midterm 10% Wednesday 28 February
A3 – Processes 10% Thursday 15 March before 8:00pm
A4 – Communication 10% Thursday 5 April before 8:00pm
Final exam 40% Minimum exam grade of 40% required to pass this course

Lecture Prep and Exercises

Research consistently shows us that students remember only a small fraction of what we present in lecture. It is not easy to make sense of material that you see for the first time in the first half-hour of a fast-paced lecture environment, let alone to stay focused for two hours. It’s also important to space out your studying (spaced repetition). To prime you for what we will discuss, you will view a set of videos and complete exercises by 9:30am Monday morning, before the first lectures of the week. (In some weeks, the videos will be supplemented or replaced by recommended readings and an activity.) These are the “Preparation” exercises hosted on PCRS: https://pcrs.teach.cs.toronto.edu/209/.

Policies

Assignments are due before 8:00 p.m. on the due date. We recognize that unexpected problems sometimes make it difficult to submit assignments on time. For this reason we will accept limited late assignments with a penalty. There is a one hour grace period after the assignment is due in which no late penalty is applied. For the next five hours after the deadline, the deduction will be 5% (of the total possible mark) per hour. For the next five hours, the additional deduction will be 15% per hour. Here it is broken down by hour:

On time no penalty
up to 1 hour late no penalty
up to 2 hours late 5% penalty
up to 3 hours late 10% penalty
up to 4 hours late 15% penalty
up to 5 hours late 20% penalty
up to 6 hours late 25% penalty
up to 7 hours late 40% penalty
up to 8 hours late 55% penalty
up to 9 hours late 70% penalty
up to 10 hours late 85% penalty
after 10 hours late 100% penalty

Please note that 8:00:01 p.m. will be considered late, and ensure that your work is not submitted at the very last second. Because you will be using version control, it is very easy to commit regularly to avoid running into the deadline.

If you are at risk of missing a deadline due to a busy week, you should hand in a working (and tested) version of a simpler program. This will be easy to do if you have written and debugged a series of programs that accomplish more and more of the assigned problem.

In the event of an illness or other catastrophe, get proper documentation (e.g., medical certificate), and contact your instructor (by email or in person) as soon as possible. Do not wait until the due date has passed. It is always easier to make alternate arrangements before the due date or test day.

Since your assignments are submitted electronically and will often be tested using an automated testing program, you must follow the submission instructions exactly. If you do not, you will most likely lose substantial marks on the assignment. Check your submission carefully.

Remarking requests that result from incorrect submissions will receive a 20% penalty. For example, incorrect submissions may have missing files, incorrectly named files, or small errors that prevented the code from compiling corrrectly. A remark request due to an error in marking will not incur any penalty.

Maintain absolute control of your work – including notes and partial solutions – at all times. We encourage you to discuss course concepts and to study for exams with other students, but any work that is submitted should be your own. The easiest way to avoid plagiarism is to only discuss submitted work with your partner or the instructor. Similarly, Google (and Wikipedia) may help you with course material, but do not use the internet to look for solutions to the assignment problems.