CSC302: Engineering Large Software Systems
(Winter term 2009)
NOTE: This is an old version of the course website.
Annoucements
- Wednesday April 8, 2009: Assignment 4 is due in tomorrow. Please submit your assignments to Prof Easterbrook either before or after the lecture (no later than 11:20am) in the regular lecture room. There will be no tutorials.
- Thursday March 19, 2009:
Assignment 4 is now released.
- Thursday March 12, 2009: This term's midterm exam and model answers now posted.
- Sunday March 1, 2009: Assignment 3 is released.
- Friday February 20, 2009: Submissions
instructions for assignment 2: You should add an electronic version
of your report (preferably as a single pdf document) to your team's project
repository in DrProject. When it is ready, send an email to your TA (cc'd
to the professor). The email must be received (and the document ready for
us to retrieve) by 5pm on Monday 23rd February.
- Friday February 13, 2009: Just to confirm the annoucements
in the lectures: Assignment 2 will be due in on Monday 23rd February (the
first Monday after Reading Week), and the midterm exam will be held at 10:10am
on Thursday 26th February, in the usual lecture theatre.
- Wednesday January 28, 2009: Tomorrow, your assignments
must be submitted in RW117 (the normal lecture theatre) by 11:20am. You can
give them to me either before or after the lecture.
- Friday January 16, 2009: After some careful
analysis, I've been persuaded that the Google Web Toolkit is not a suitable
project to use for the course this term. Hence, I'm switching the project
to the runner up, JFreeChart.
Apologies for any inconvenience.
- Thursday January 15, 2009: The DrProject
portals are now all set up. Let me know if you have any problems with
them.
Thursday January 15, 2009: We voted in class
to adopt The Google Web Toolkit (http://code.google.com/webtoolkit/)
as our code base for the term.
- Tuesday January 13, 2009: Assignment
1 is now available, and the team lists are up.
- Monday January 12, 2009: Note that there will be no lecture
on January 22, due to CUSEC'09. I'd like
to encourage everyone to go. See information about the U
of T delegation if you're interested.
- Monday Dec 29, 2008: Please note that there will be no
lectures or tutorials in the first week of term (the week of January 7th 2009),
as the instructor is away. Lectures will start in week 2.
About the Course
An introduction to the theory and practice of large-scale software system
design, development, and deployment. Project management; advanced UML; reverse
engineering; requirements inspection; verification and validation; software
architecture; performance modeling and analysis.
Note: This page is for Winter 2009. Web pages for older versions of the course
have been archived:
General Course Handouts
Lecture Notes & Weekly Readings
All
teaching materials on this website are available for use under a Creative
Commons Attribution-NonCommercial-ShareAlike 2.5 License,
except where noted otherwise. Links to papers on the IEEE electronic library (marked
) are available only to subscribers.
U of T has an institutional subscription, so these links should work from anywhere
on campus. Please respect the copyrights on all material on this site.
- Week 1:
- No Lectures or Tutorials!!!
- Week 2:
- Week 3:
- 20/1/2009 - Lecture 04: Software
Architectures
- 24/9/2009 - No lecture! Field trip to CUSEC'2009
- Additional notes: Chapters 3 & 7 of Fowler. Also, if you want a
practical hands-on guide to design patterns in Java, this
one comes highly recommended.
- Week 4:
- Week 5:
- Week 6:
- Week 7:
- No lectures - Reading Week
- Week 8:
- Week 9:
- Week 10:
- Week 11:
- Week 12:
- Week 13:
- Week 14:
Assignments and Exams
- Note: All assignments will be based on an existing open
source code base. We
voted in class to use JFreeChart,
a tool for drawing graphs and charts. (Actually, we originally voted for
The Google Web Toolkit, but
it was subsequently disqualited. JFreeChart was the runner up. For the record,
the other candidates were: TWiki, a simple
wiki system; Violet, a simple UML
editing tool; and Lobo,
a free Java-based web browser).
- Peer review process
- All term assignments are team assignments. For each of the assignments,
everyone needs to also fill out the peer
review form, to indicate your opinion of how each member of the team
performed.
- Assignment 1: Reverse Engineering and Design Recovery
- Assignment 2: Implemented Change Requests
- Assignment 3:
Requirements Analysis for new features
- Assignment 4:
- Midterm Exam:
- Final exam: