Wael Aboulsaadat

CSC301 Introduction to Software Engineering (Sum 08)

Administrative Docs and Links
Course Info Sheet
Policy on Collaboration
The Portal!
CDF Resources
UoT - Medical Certificate
Current UoT CS Courses
UoT Arts & Science Calendar

Object-oriented Software Engineering: Using UML, Patterns, and Java. by Bruegge & Dutoit
Head First Design Patterns by Freeman et. al.

Course Schedule and Notes
Lecture 1:    Intro, Dealing with Complexity, UML, Identifying Classes, Relation between Classes.
Lecture 2:    DP; Command, Singleton, Observer, Template Method, Composite
Lecture 3:    DP; Proxy, Strategy, Abstract Factory, Builder, Adapter, Bridge, Facade
Lecture 4:    SDLC; Waterfall, Rapid Prototyping, V-model, Incremental, Agile, XP
Lecture 5:    Spiral Model. Software Estimation. DP: Chain of Respo, Obj Pool, Momento, Iterator
Lecture 6:    Designing for Change. Pair Programming Model. Code Reviews. Laws/Rules
Lecture 7:    Agile SDLC. Refactoring.
Lecture 8:    Software Testing. Defect Types. Test Plans & Cases.
Lecture 9:    Code Inspection. Software Proj Managment and Organization. Software Estimation.
Lecture 10:  Cohesion & Coupling; Types, Use of Reflection/Components/XML/Message-Queues.

Assignment Cover Sheet
Assignment/midterm Remark Form
Assignment Coding Guidelines
Team Member Evaluation Form
Team Member Evaluation Summary
A2: Marking Scheme
A3: Agile & Release Planning
A4: Agile & Release Planning ver2

Design Patterns Links
Design Patterns FAQ
Design Patterns Index
Design Patterns Catalog
Refac Pat @ sourcemaking.com
Refac Pat @ IndustrialLogic.com
Non-Software Examples of Software Design Patterns by Michael Duell

Related Links
UML Tools: Argo UML, Eclipse UML Plugin
IDE: Eclipse, NetBeans
Software Estimation: Wikipedia, Prof. David Penny RP,