CSC108H (St George, Winter 2017): Introduction to Computer Programming


[Tom Fairgrieve]
Tom Fairgrieve
L0101, L5101
BA 4230
Office hours
[Paul Gries]
Paul Gries
L9901 (online)
BA 4234
Office hours

Welcome to the course webpage for the Winter 2017 term of CSC108H, an Introduction to Computer Programming, on the St. George campus. This course teaches the basics of programming in Python, which is an industrial-strength programming language used at companies like Google and Industrial Light and Magic.

You will find most information about the course on this page, or linked to from this page. This website is required reading for the course. Course Announcements will be sent using Portal, and we expect that you will regularly check both Portal and your UofT email.

There are three lecture sections of this course with two different instructors: Tom and Paul. You are welcome to attend office hours with either of us.

Tom is the course coordinator, which means that he deals with all administrative matters: missed work, problems with your grades, problems with assignment partners, the course website, and TA issues. If you're not sure who to contact, though, feel free to ask either of us!

On-campus vs. online

Two sections (L0101 and L5101) are on-campus and are delivered through 3 lecture hours a week. For weeks 2 through 12, you will also watch video lectures to prepare for the on-campus lectures.

One section (L9901) is online and has additional online exercises in lieu of the on-campus lectures. You can find some advice here on choosing between the online section versus an on-campus section of CSC108.

Outside of class, all on-campus and online students will do weekly exercises, 3 assignments, a midterm test, and a final exam.


The textbook, Practical Programming (2nd edition): An Introduction to Computer Science Using Python 3, matches very closely with the course material. Some notes:

A typical week: Prepare, Rehearse, Perform

Each week, you'll use the an online tool called the Programming Course Resource System (PCRS) to view course materials and complete exercises. The weekly tasks are divided into three phases:

The three assignments are due in weeks 4, 8, and 12. Don't leave these to the last minute: they are substantially more work than the weekly lab exercises, and we expect that you will work on them for several hours each week.

Getting help

In addition to this website, please see the Syllabus, which is required reading.

We will use an online discussion forum for general class discussion. Follow the link in the navigation bar.

For office hours, please see Office hours.

For general inquiries regarding the undergraduate computer science program, please contact the Computer Science Undergraduate Office.