Schedule: CS746, Fall 2012, Software Architecture. Prof. Ric Holt, DC 2508, holt @ uwaterloo.ca, Comp. Sci., U. Waterloo

Class:   Monday 4:00pm – 6:20pm, DC3313 TBA

Web site. http://plg.uwaterloo.ca/~holt/cs/746/12 

Course sheet. http://plg.uwaterloo.ca/~holt/cs/746/12/course_sheet.html 

Schedule. http://plg.uwaterloo.ca/~holt/cs/746/12/schedule.html 

Assignments.  http://plg.uwaterloo.ca/~holt/cs/746/12/assignments.html

 

Wk
Monday – 2012 
1
Sep 10
Organizational meeting
 
Ric Holt
Website: Course organization, assignments and project
 
 
Website: Overview
 
 
Volunteer: Garlan/Shaw & Kruchten & Murphy papers next wk (Sep 17)
 
 
(Example S/W architectures)
 
 
Software architecture terminology
 
 
(Freeciv demo)
 
Ian Davis
Demo of extraction and lsedit
2
Sep 17
 
 

Navid Vafaei

*****Garlan/Shaw: Intro to Software Architecture
 
Han Xiao
*****Kruchten: The 4+1 Views of Architecture
 

Paul Redmond

 
Ian Davis
LSEdit & clustering
3
Sep 24
 
 

Anthony Schmieder

*****Bowman: Linux as Case Study: Extracted Architecture
 

Ashar Ghani

*****Murphy: Reflexion Model  [NOT DONE YET]
 
 
Youtube
Android Architecture part 1 of 3
 
Youtube
Android Architecture part 2 of 3
 

Ric Holt

?? Large scale software configurations

4
Oct 01
 
 
*Fowler: Who Needs an Architect? [Not yet selected]
 

Anthony Schmieder

Ch 24 ZeroMQ
 

Hon Xiao

Ch 01 Web architecture
 

Ashar Ghani

Ch 04 GDB­­­
 

Sukhbir Singh

Ch 10 GNU Mailman
5
Oct 8
Thanksgiving: No Class
6
Oct 15
 
 
 
 
 

Jeff Avery

Kruchten: Contextualizing Agile S/W
 
*Feilkas: Loss of Arch Knowledge [Not yet selected]
 

Sukhbir Singh

Ch 14 Nginx
 

Priyaa Varshinee

Ch 03 FreeRTOS
 

Ashar Ghani

Ch 09 ITK
 
Ch 5 CMake
7
Oct 22
 
 

Anthony Schmieder

*****Hassan: Reference Architecture for Web Servers
 

Priyaa Srinivasan

***Mancoridis: Bunch: A Clustering Tool for Recovery
 
 

Zubair Akhtar

Ch 21 Twisted
 

Han Xiao

Ch 13 Moodle
8
Oct 29
 
 

Zubair Akhtar

****Farenhorst: Lonesome architect

 

Sarah Nadi

Nadi: Make it or break it: Mining Anomalies

 

Navid Vafaei

Ch 19 PyPy

 

Priyaa Srinivasan

***Oreizy: Arch based runtime evolution
 

Jeff ­­Avery

Ch 06 Git
 

Electricity failure

Ch 09 Continuous integration
 
Youtube: Android Architecture part 3 of 3
9
Nov 05  Nov 6 DC1331
 

Jeff Avery

Ch 06 Git
 
Navid Vafeei
Ch 19 PyPy
 

?? Greg Wilson

Empirical Software Architecture
 

Xianda Sun

****Zimmerman: How History Justifies System Arch
 
Gource animation of s/w evolution
 
*Bass: Linking usability to software architecture patterns
 
Sukhbir Singh
***Mockus: Two Case Studies of Open Source Development
 
*Klein: Architecture, Goals & Technology in Call Ctr Syst’s 
 

­

Ch 18 SnowFlock
 
Ch 07 Graphite
 

Zubair Akhtar

Ch 22 Yesod
 
Xianda Sun
***Aldrich: ArchJava
10
Nov 12
 
 

Zubair Akhtar

***Zalewski: Real-Time Software Architectures & Patterns

 
*Peng: Large-scale Incremental Processing Using Distributed Transactions and Notifications
 

Jeff Avery

Ch 02 MediaWiki
 

Xianda Sun

Ch 20 SQLAlchemy
 

Navid Vafaei

Ch 17m Processing.js
11
Nov 19
 
 

Sukhbir Singh

***Raymond: The Cathedral and the Bazaar
 
***Ball: Software Visualization in the Large
 

Navid Vafaei

***Bass: Evaluating Software Architecture Competence 
 

Anthony Schmieder

Ch 18 Puppet
 

Xianda Sun

Ch 15  OpenMPI
12
Nov 26
Student Project Presentations
 

Priyaa Srinivasan

Ch 23 
 

Han Xiao

Tsai: Service Oriented Cloud Architecture
 

Ashar Ghani

Secure Software Arch for Mobile Computing
 

Jeff Avery

Fowler: Who needs an architect?
13
Dec 3
Student Project Presentations.   Last day of classes
 
T1: 
Jeff Avery, Tony Schmieder, Navid Varaei
 
T2 
Ashar Ghani, Sukhbir Singh, Han Xiao
 
T3 
Zubair Akhtar, Priyaa Srinivasan, Xianda Sun
 
 
 
RATINGS: 
 
*****Essential
 ****Strongly recommended
  ***Recommended
   **Provides breadth
    *Of  interest
 
 
See 2012 New Papers
 
 
See 2011 New Papers
 
 
See 2010 New Papers
 
 
See 2009 New Papers
 
 
See 2008 New Papers
 
 
***Lindgren: Software Architecture & Release Planning 
 
 
*Zhao, Zou: Business Process Gen of SW Arch 
 
 
*Hofmeister: General Model of SW Arch
 
 
*Eick: Does Code Decay?
 
Holt: Grokking SW Arch
 
 
*Goossen: Media Player Software in a System of Subsystems 
 
 
**Storey: Manipulating and Documenting S/W Structures
 
 
**Tzerpos: ACDC: Comprehension-Driven Clustering
 
 
***Tran: Forward/Reverse Repair of Software Architecture
 
 
**Torvalds: Comments on Designing Linux (too short?)
 
 
*Rotschke: Arch Analysis Tools to Support Evolution 
 
 
**Holt: Software Architecture as a Shared Mental Model
 
 
*Garlan: Architectural Mismatch

See Grad academic dates.  Lectures begin Sept 10 (Mon), end Dec 3 (Mon) (Fall 2012)

Last updated 8 July  2012