CSC444F — Software Engineering

Professional Software Development

Prof. David A. Penny
Tutorials/Lectures: Mondays (Starting Sep.10) SF1105, 6:10pm - 9:00pm
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 advanced 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 business planning. These are the core practices used in commercial software development.


Prof. Penny is an Adjunct Professor with the Department of Computer Science (cross-appointed to EE) at UofT. 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 Participation5% 
Assignment 115%Self-Aware Programming
Assignment 2.115%Release Planning and Specification
Assignment 2.225%Executing a Release Plan
Final Examination40%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. Assignment 2 is a two-part group assignment.

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 5% for structured class paticipation, or lose it for absences.


Sep.10 Course Introducton, Software Business Environment (ch.15) 
Sep.17 Release Cycle Overview (ch.3), Releases (ch.7), Versions (ch.8)A1 out
Sep.24 Top 10 Practices (ch.1), Source Control (ch.9) 
Oct.1 Builds (ch.9) 
Oct.15 Quality Assurance (ch.10)A1 due
Oct.22 Release Planning (ch.2,3,4)A2 out
Oct.29 Release Planning cont'd (ch.5,6,A,B,C) 
Nov.5 Defect Tracking (ch.11) 
Nov.12 Feature Tracking (ch.12)A2.1 due
Nov.19 Process Control (ch.13) 
Nov.26 Architecture (ch.14) 
Dec.3 Proposals and Business Plans (ch.16) - Exam ReviewA2.2 due


  1. L01 Introduction
  2. L02 Software Vendor Business
  3. L03 Release Cycle, Releases, Versions
  4. L04 Top 10
  5. L05 Source Control and Build
  6. L06 Quality Assurance
  7. L07 Release Planning
  8. L08 Defect Tracking
  9. L09 Feature Tracking
  10. L10 Process
  11. L11 Architecture