CSC444-11F — Software Engineering I

Professional Software Development

Prof. David A. Penny
Tutorials/Lectures: Mondays (Starting Sep.12) GB119, 6:10pm - 9:00pm
Announcements & 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, agile methods, feature specifications, architectural control, effort tracking, and process control. 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%Cloud Software Engineering
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.12 Course Introduction, Top 10 Practices (ch.1), Planning (ch.2)  
Sep.19 Release Cycle Overview (ch.3), Release Planning (ch.4,5,A,C) A1 out
Sep.26 Release Planning (ch.4,5,A,C)  
Oct.3 Stochastic Release Planning (ch 6 excluding 6.9 and 6.10,B,C),  
Oct.10 Thanksgiving Day - no class
Oct.17 Releases (ch.7), Versions (ch.8) A1 due
Oct.24 Midterm 6:10pm - Class 7pm-9pm
Oct.31 Defect Tracking (ch.11), A2 out
Nov.7 Feature Tracking (ch.12)  
Nov.14 Source Control and Builds (ch.9),  
Nov.21 QA (ch.10)  
Nov.28 Guest lectures A2 due
Dec.5 Agile Methods  

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 2010. The slides from that year are posted at the portal as well.