Title: Software Design and Analysis Code: CSCI 2040U
Instructor: Jarek Szlichta, jaroslaw [dot] szlichta [at] uoit [dot] ca
Office hours: Tuesdays 2-3pm (except reading week)
TA: Guilherme Damasio, Guilherme.FetterDamasio [at] uoit [dot] ca
Spencer Bryson, Spencer.Bryson [at] uoit [dot] ca
TA office hours TBD (upon request)
Description and Course Outline: see Blackboard
Marking Scheme: Labs and Project 30% (10% + 20%), Midterm : 20%, Final Midterm : 35%, Participation/Presentation: 15%.
Policies: Refer to following link. Refer to UOIT Faculty of Science academic policies
Required: Applying UML and Patterns, Craig Larman – see the link on Blackboard
Optional: Introduction to Software Engineering Design: Processes, Principles and Patterns with UML2 – Christopher Fox
Lecture Notes (always check newest version of the slides):
1. Introduction PDF
4. Unified Process and Agile PDF
5. Domain Models PDF
7. Interaction Diagrams PDF
8. Design Model PDF
9. State Diagrams PDF
10. Package Diagrams PDF
11. A journey in software development, or how to do what you want and get away with it (invited talk by Dmitri Shuralyov; Sourcegraph (previously Triggit), startups in California, also open source contributor) Link
11. Patterns PDF
12. More Patterns PDF
13. UML Deployment and Persistence PDF
14. TDD and Refactoring PDF
Labs start in the week of 22nd of January.
Lab tasks will be posted on Blackboard
Any student who misses an examination without a valid medical reason and documentation will receive zero for that examination/tutorial. Those with medical documentation will either be given a makeup exam/tutorial or will have the weight of the examination (final exam/midterm) added to the final exam.
- Midterm: Fundamentals (27th of Feb, Tue), Applications (1st of March, Thursday).
- Final Midterm: Fundamentals (3rd of April, Tue), Applications (5th of April, Thursday).