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 |
(go to 3185) | |||
TUT0201 | F2 | A – H (pick either other room) | |
BA 3185 | I – O | ||
BA 3195 | P – Z | ||
TUT0301 | F3 | (go to 3185) | |
BA 3185 | A – Z | ||
(go to 3185) | |||
TUT501 | W8 | BA 3185 | A – Z |
(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
- Course textbooks:
- C Programming: A Modern Approach, K.N. King, W. W. Norton and Company, 2008. Note: The C book (or another similar) should be considered required. This is a particularly good book for learning C and online resources are not as good or plentiful as they are for other languages.
The Linux Programming Interface, Michael Kerrisk, No Starch Press, 2010 (errata). This book is recommended. Some students like to have the additional resource for the systems programming part of the course, and other get by fine without it. This book won’t be used until about halfway through the course
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.
- Discussion Board:
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.
- Email:
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.
- Anonymous Feedback:
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
Minimum Standards for Submitted Work: For your assignment to be graded, it must meet the minimum standards of a professional computer scientist. All files required to build the program must be committed to the repository, and the program must compile without warnings or errors. Your submission may receive a grade of 0, if it doesn’t compile.
Late Work: The late policy is strict. All exercises and assignments will be submitted electronically. Exercises are due before 6:30 pm on the Fridays. Exercises submitted late will not be counted. Lecture preparation completed after 9:30 am on Mondays will not be counted.
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.
Religious Holidays: If a religious holiday will keep you from completing any assigned work, please let your instructor know as soon as possible (but no later than two weeks before the due date), and we will work out a mutually agreeable accommodation.
Emergencies: In the event of an illness or other catastrophe, obtain appropriate documentation (e.g., medical certificate) and contact us by email within 48 hours of the due date. It is always easier to make alternate arrangements before a due date, so please inform us as soon as you know that you will need accommodation.
Remark Requests: If a piece of work has been mis-marked, you may request a remark. For a remark to succeed, you must clearly and concisely express what you believe was mis-marked. To request a remark, use this remark form. Requests must be submitted within one week of the marks being returned.
- Academic Integrity: All of the work you submit must be done by you and your work must not be submitted by someone else. Plagiarism is academic fraud and is taken very seriously. The department uses software that compares programs for evidence of similar code. Please read the Rules and Regulations from the U of T Calendar (especially the Code of Behaviour on Academic Matters). Here are a couple of guidelines to help you avoid plagiarism:
If you find snippets of code or examples on the web that you want to use in your work, you must cite your sources. In other words, include in a source code comment, a link to where you found the code you are using.
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.
- Accessibility Needs: The University of Toronto is committed to accessibility. If you require accommodations for a disability, or have any accessibility concerns about the course, the classroom or course materials, please contact Accessibility Services as soon as possible: accessibility.services@utoronto.ca or https://www.studentlife.utoronto.ca/as.