![]() | Prof. David A. Penny |
Tutorials/Lectures: Mondays (Starting Sep.13) GB119, 6:10pm - 9:00pm | |
E-mail: david.penny@utoronto.ca | |
Announcements & Forum: Blackboard Course Portal | |
Office Hours: Mondays after lectures | |
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 Participation | 10% | Attendance, speaking up with good comments, contribution to the discussion board. |
Assignment 1 | 10% | Self-Aware Programming |
Midterm | 25% | Closed book, no aids |
Assignment 2 | 10% | Cloud Software Engineering |
Final Examination | 45% | 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.
date | Material | Evaluation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sep.13 | Course Introduction, Top 10 Practices (ch.1), | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sep.20 | Top 10 Practices (ch.1), Planning (ch.2) | A1 out | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sep.27 | Planning (ch.2) Release Cycle Overview (ch.3), | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oct.4 |
TA Lecture: Hesam Chiniforooshan on Agile Software Development Processes Release Cycle Overview (ch.3), Release Planning (ch.4,5,A,C) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oct.11 | Thanksgiving Day - no class | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oct.18 |
TA Lecture: Golnaz Elahi on Functional Specification Release Planning (ch.4,5,A,C) | A1 due | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oct.25 | Releases (ch.7), Versions (ch.8) | Midterm 6:10pm - Class 7pm-9pm | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nov.1 | Coding | A2 out | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nov.8 | Defect Tracking (ch.11), Feature Tracking (ch.12) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nov.15 |
Guest Lecture: Matt Medland & Brian Parkinson Smackdown on client-side web development frameworks: GWT v.s. jQuery | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nov.22 | Source Control and Builds (ch.9), QA (ch.10) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nov.29 |
TA Lecture: Nosabay A.E on a Software Project Gone Astray | A2 due | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dec.6 | Stochastic Release Planning (ch 6 excluding 6.9 and 6.10,B,C), |