CSC444-09F — Software Engineering I

Professional Software Development

Prof. David A. Penny
Tutorials/Lectures: Mondays (Starting Sep.14) GB119, 6:10pm - 9:00pm
Announcementss & Forum: Blackboard Course Portal
Office Hours: Mondays after lectures

Course Overview

This course will teach you how to setup and run a software organization or project that is capable of consistently delivering high quality software on predictable dates.

Topics include uses of source code control, defect and feature tracking, reproducible automated builds, automated regression testing, release planning and tracking, feature specifications, architectural control, effort tracking, process control, and agile methods. These are the core practices used in commercial software development.


Prof. Penny is an Adjunct Professor with the Department of Computer Science at UofT cross-appointed to Electrical Engineering. He has spent over 20 years in various individual contributor, management, and contractor roles within software development organizations including IBM Canada, Algorithmics, Annuity Systems, Electronics Workbench, and Ceryx where he is currently CIO.


The textbook for the course is a 352 page manuscript written by Prof. Penny that will be available for sale before and after the lectures at a cost of $60 cash per copy.


Class Participation10% Attendance, speaking up with good comments, contribution to the discussion board.
Assignment 110%Self-Aware Programming
Midterm25%Closed book, no aids
Assignment 210%Release Planning
Final Examination45%All lecture and practicum material, closed book, no aids

Assignments handed late will incur a late penalty of 15% absolute. Assignments will not be accepted more than 1 week late.

Attendance at Lectures and Tutorials is mandatory. Students who do not attend class invariably do badly on the final exam. You will be awarded up to 10% for structured class paticipation, or lose it for absences.


Sep.14 Course Introduction, Top 10 Practices (ch.1),  
Sep.21 Planning (ch.2) Release Cycle Overview (ch.3), A1 out
Sep.28 Release Planning (ch.4) Quantitative Release Plan (ch.5,A,C)  
Oct.5 Release Planning cont'd (ch.5,A,C)  
Oct.12 Thanksgiving Day - no class
Oct.19 Releases (ch.7), Versions (ch.8) A1 due
Oct.26 Source Control and Builds (ch.9) Midterm 6:10pm - Class 7pm-9pm
Nov.2 QA (ch.10), OOA/D/P A2 out
Nov.9 Defect Tracking (ch.11),  
Nov.16 Agile Methods  
Nov.23 Guest Lecture, Jocelyn Simmonds - Feature Tracking (ch.12)  
Nov.30 Guest Lecture, Braulio Lam - Stochastic Release Planning (ch 6,B,C), A2 due
Dec.7 Guest Lecture, Golnaz Elahi - Process Control (ch.13) Architecture (ch.14),  

Lecture Notes

After each class I will post the lecture notes on the Blackboard Course Portal. This year's sequence of lectures will be similar to 2008. The slides from that year are posted at the portal as well.