Important: this is a group-based, development-heavy course. You will be required to propose, design, build, validate, and demonstrate a large software product to the class, the TAs, and the instructor. Do not take this project lightly as it will be a huge amount of work and comprises the majority of your final grade.
While the course does not have a required textbook, much of the materials will be sourced from the first two texts; additional books are supplementary.
- Richard N. Taylor, Nenad Medvidovic, and Eric Dashofy. Software Architecture. Foundations, Theory, and Practice. Available in the library or for purchase (e.g., through Amazon.ca). Slides for this book are available online.
- Ian Gorton. Essential Software Architecture. Available online or for purchase (e.g., through Amazon.ca). Slides for this book are available online.
- Fred P. Brooks Jr. The Mythical Man Month. Available in the library or for purchase (e.g., through Amazon.ca).
- Fred P. Brooks Jr. The Design of Design. Unfortunately not in the library but still available through Amazon.ca.
The best way to get help is via Piazza; please prepend your questions with your TAs name to ensure you get a quick response (TAs will be assigned to project groups after they are all formed). Sign up for piazza here. You can reach me at rth.se2(at)gmail.com for questions not appropriate for Piazza.
|Sept 11||Architecture intro||Kitchen Design|
|Sept 14||Architectural views & decomposition||System Decomposition|
|Sept 16||Non-functional properties||NFP Alternatives|
|Sept 18||NFP Stakeholders|
|Sept 23||Game Show|
|Sept 25||Game Show|
|Sept 28||Deliverable 1||Project Proposals
|Sept 30||Project Proposals
|Oct 2||Project Proposals
||Architectural Styles Intro
Architectural Styles (complete)
|Oct 12||No Class (Thanksgiving)|
|Oct 14||Living Architectures & Style Activity|
|Oct 19||Guest Lecture: Testing in Practice|
|Oct 26||TBD (was NFP Measurement but was covered along with Specifications)|
|Oct 28||Testing: Coverage|
|Oct 30||Mutation Testing|
|Nov 2||Prototype Demos|
|Nov 4||Prototype Demos|
|Nov 6||Prototype Demos|
|Nov 9||Cloud + Rest**|
|Nov 11||No Class (Remembrance Day)|
|Nov 13||MVC / MVP|
|Nov 16||Analytics & A/B Testing|
|Nov 20||SOLID Activity|
|Nov 23||Dependency Injection||
|Nov 25||Guest Lecture: Scrum Master|
|Nov 27||Course Review|
|Nov 30||Final Demo|
|Dec 2||Final Demo|
|Dec 4||Final Demo|
The projects will be completed in teams of four. You are free to select your own team; if you do not have a team or your team has less than four members, please talk to me and I will set you up.
Projects will have a difficulty scale applied to them by the instructor and TAs. The scale formula will be:
(project + bonus) * scale = final project gradeScale will range between 0.75 and 1.0. The components of the scaling mark will be determined by:
- 5: completeness (compared to proposal)
- 5: utility
- 5: polish
- 10: difficulty
- Best pitch
- Best prototype demo
- Best final demo
- Accepted to curated App Store (iOS, Blackberry, Windows Phone)
|SE Impressions||Sept 9||In Class||Pass/Fail|
|D0: Project Groups||Sept 25||-||Pass/Fail|
|D1: Proposal Presentations||Sept 28/30/Oct 2||In Class (+ online)||5%|
|Midterm||Oct 16||In Class||10%|
|D2: Architecture Doc||Nov 2||Oral Exam (+ online)||15%|
|D3: Prototype Demonstration||Nov 2/4/6||In Class||5%|
|D4: Final Document||Nov 30||Oral Exam (+ online)||15%|
|D5: Presentation + Video||Nov 30/Dec 2/4||In Class||10%|
2014 Project Videos
A selection of project videos from 2014 are included in this playlist to help you get an idea of the scope of projects suitable for the course.
You must pass the final exam and all pass/fail assignments to pass the course.
- Late submissions will not be accepted except in case of documented emergency.
- For special accommodation for the exam or midterm, contact the Access and Diversity Office.
- In order to maintain a culture of academic integrity, members of the University of British Columbia community are expected to promote honesty, trust, fairness, respect and responsibility. [See the academic integrity site for more information.]
- Everyone involved with CPSC 310 is responsible for understanding and abiding by the University's Respectful Environment Statement. [See the complete statement.]
- As this course is heavily oriented around the group project, and the groups are formed early, it is a difficult class to join late. As such, the advisors will not place new students into CPSC 410 after Sept 14.