Welcome to the course webpage for the Winter 2015 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.
There are three lecture sections of this course with two different instructors, Tom, and Craig. 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 (L0201 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 (L0101) is online and has additional online exercises in lieu of the on-campus lectures.
The textbook, Practical Programming (2nd edition): An Introduction to Computer Science Using Python 3, matches very closely with the course material. Some notes:
- The first edition is out of date: it uses Python 2, not Python 3. Also, the material in the second edition is much, much closer to what we teach in this course.
- You can purchase an eBook or a paper book. eBook ($25 USD): available in PDF, ePub, and mobi.
- The book is also available from the UofT Bookstore and online retailers including amazon.ca.
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:
- Prepare (5%)
We will post lecture videos and problems that cover the course topics for the upcoming week. After watching the videos and working through the problems, you must complete the Prepare exercise. Each Prepare exercise is worth 0.5% (best 10 of 11) and is due Sunday by 10:00pm.
Next, you will practice applying the concepts covered in the lecture videos by completing activities of various kinds and working through more complex examples.
During lecture, you'll practice the material with the support of your instructor and teaching assistants. (CSC108H is being run as an inverted class.)
- Online (L0101):
Using the PCRS, you'll practice the material with the support of explanatory videos, your instructor, and teaching assistants.
- Perform (9%) Finally, using the PCRS, you'll complete a Perform exercise based on material covered in the Prepare and Rehearse phases. Each Perform exercise is worth 1% (best 9 of 10) and is due Friday by 6:00pm.
The three assignments are due in weeks 4, 9, 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.
In addition to this website, please see the Syllabus, which is required reading.
We'll use Piazza for electronic 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.