Subject Guides and Manuals
There are ten modules included in the "official" course material, each of which can be covered in a week. In the current delivery of the subject, face-to-face contact consists of a one-hour lecture and a two-hour tutorial or laboratory session. There is also a one-hour "office-hour" session per week, and fairly prompt responses from instructors on the online forum and blogs. In Universities where there is more time available, additional lecture time or lab time could easily be added to the subject; as it is, delivery time is a little tight. The ten modules work well in a 14-week semester, as they leave time available for guest lectures, mid-term exams, and student presentations at the end of semester.The following documents were designed for the delivery mode just outlined. Instructors using A Software Architecture Primer as a recommended text are welcome to have access to the subversion repository containing the course materials, so that they can create custom or alternate versions of these documents.
Subject Guide. This is the Subject Guide used in the Spring 2005 delivery (August-November 2005). It outlines the subject structure, assessment criteria, and so on. (It is slightly out of date, as the final book structure is a little different than the draft used at the time.)
Lab Manual. There are varying numbers of labs, depending on the timetable of the particular semester. We have an on-going problem in this class where many students don't have enough hands-on programming experience to tackle the executable prototype, so the labs are mostly intended to address that. The labs have been chopped and changed around a number of times, and I'd really like to give them a refresh and move them to the Wiki to that others can update them as well.
Assignment Guide. This is the Assignment Guide used in Spring 2005. The assignments make up a significant amount of the subject marks (60%). The structure is slightly complicated for class assignments, but it's meant to mimic the Conception and Elaboration phases of the Unified Process. There are two key deliverables: the architecture design document, and the executable prototype. They are delivered in a series of three milestones, each of which elaborates on the earlier one. This assignment structure is probably better suited for students that have some software development experience under their belts and are comfortable with the idea of milestones and incremental improvement.
Assignment Guide, alternate version. This alternate assignment structure was used in Autumn 2006. This structure is more conventional, and simply maps one assignment to each deliverable (that is, the architecture design document and the executable prototype). It's probably better suited for classes in which students don't have development experience (and are therefore comfortable with the idea of increments and milestones), or in which time to guide the students through the milestones is not available.