IMPORTANT: Lecture slides are designed to facilitate me in delivering the class lectures. They are NOT to be used as a replacement for student notes. You are welcome to use these slides as the basis for your own notes but these slides should not be your only set of notes. The lecture slides are sometimes vague and incomplete on purpose in the hope to spark class discussions. These discussions are a valuable part of this course.
WK | Date | Topic | Slides |
---|---|---|---|
1 | May 2nd, 2011 | Administration | |
May 4th, 2011 | UML review | slides UML Tools | |
May 6th, 2011 | UML review | slides |
|
2 | May 9th, 2011 | UML review | slides Students are responsible for all the material covered in the UML lectures and the following: State, Activity diagrams |
May 11th, 2011 | GoF Design Patterns Exercise 0 Due |
Design Patterns, slides
Reading: Students are responsible for the following: Singleton, Adapter, Bridge, Façade, Command, Iterator, Composite, Observer, Strategy, Visitor, Interpreter Additional reading: Design Patterns: Elements of Reusable Object-Oriented Software [Amazon] Chapter 1
|
|
May 13th, 2011 | GoF Design Patterns | slides
Additional reading: Design Patterns: Elements of Reusable Object-Oriented Software [Amazon] Chapter 2 |
|
3 | May 16th, 2011 | Software Architecture: Basics | Garlan & Shaw slides |
May 18th, 2011 | Software Architecture: Basics | Garlan & Shaw slides | |
May 20th, 2011 | Software Architecture: KWIC Case study |
slides
Reading: Students are responsible for the following:
|
|
4 | May 23rd, 2011 | HOLIDAY | |
May 25th, 2011 | Guest Speaker - Ian Davis: Architecture & Design - Identifying Dead Code | ASX Xcise LSEdit | |
May 27th, 2011 | Types of Software Architecture: Conceptual Vs. Concrete Architecture Vs. Reference Architecture |
Hassan
Bowman
slides |
|
5 | May 30th, 2011 | Architectural (4+1) Views | Krutchten slides |
June 1st, 2011 | Architectural Quality Concerns | slides | |
June 3rd, 2011 | Prof. Derek Rayside: Creativity | slides | |
6 | June 6th, 2011 | Enterprise web applications architecture & design review | slides |
June 8th, 2011 | Google Web ToolKit (GWT) architecture & design review
Assignment 1 due |
GWT slides | |
June 10th, 2011 | Designing a Service Layer (Facade or Command) | slides | |
7 | June 13th, 2011 | J2EE Design Patterns | Core J2EE Design Patterns slides |
June 15th, 2011 | J2EE Design Patterns | slides | |
June 17th, 2011 | Architectural Methodology overview (RUP, AGILE) | slides-2010 | |
8 | June 20th, 2011 | MIDTERM review in the morning | MIDTERM at 4:30-6:30 PM at DC1350
review slides
Midterm Solution |
June 22nd, 2011 | Prof. Derek Rayside - Another look at design | ||
June 24th, 2011 | Prof. Derek Rayside - Design & Analysis Tools | alloy class activity | |
9 | June 27th, 2011 | Prof. Derek Rayside - Design & Analysis Tools | class activity |
June 29th, 2011 | Prof. Derek Rayside- seL4 Kernel |
slides
A Formally Correct Operating System Kernel website
Richard Gabriel's essays |
|
July 1st, 2011 | HOLIDAY | ||
10 | July 4th, 2011 | Cloud Computing - Introduction | slides |
July 6th, 2011 | Cloud Computing - Architectural Considerations Assignment 2 due |
slides | |
July 8th, 2011 | Mehdi Amoui- Refactoring to Patterns |
slides
Refactorings Refactoring to Patterns How to write Unmaintainable code | |
11 | July 11th, 2011 | Mehdi Amoui- Refactoring to Patterns |
Refactorings
Refactoring to Patterns How to write Unmaintainable code Source making |
July 13th, 2011 | Student Project Presentations |
|
|
July 15th, 2011 | Student Project Presentations |
|
|
12 | July 18th, 2011 | Student Project Presentations |
|
July 20th, 2011 | Student Project Presentations |
|
|
July 22th, 2011 | Student Project Presentations Assignment 3 due |
|
|
13 | July 25th, 2011 | Student Project Presentations |
|
July 26th, 2011 | FINAL EXAM REVIEW | slides |
Feel free to use any of the following UML tools. As I had mentioned in the class, some of these tools are modelling tools (i.e. they will enforce model integrity rules as you create your UML models) and some are drawing tools (you will be responsible for ensuring that the model is correct). If you are new to UML, I would encourage you to start with a modelling tool (such as ArgoUML) and transition to a drawing tool (Visio or UMLet). Considering that on the exam you will not have access to the modelling tools, you will need to learn the basic modelling notations.
Last updated on: May 19th, 2011 by Atif Khan.