COMP 529 - Software Architecture



  • Participation: 15%
  • Midterm Exam: 25%
  • Take-Home Essay: 15%
  • Project: 45%
  • Technical Capsules: +2%

A mark of 50% or more for the project is required to pass the course, irrespective of the total final mark.

McGill Policy Statement

In accord with McGill University’s Charter of Students’ Rights, students in this course have the right to submit in English or in French any written work that is to be graded.


Most classes have a deliverable: either at the end of the class (e.g., 1-page workshop report) or before a class (1-3 page homework report).

Each deliverable is marked out of 2:

  • 0/2 if no deliverable, if the deliverable is late, or if the deliverable is of unacceptable quality (e.g., plagiarism, illegible, off-topic).
  • 1/2 if the deliverable shows clear sign of last-minute work: copy and paste, unclear content, trivial examples, only one reference.
  • 2/2 if the deliverable shows that serious work was put behind it. For homework, we look for more than one reference, non-trivial examples, and summary put in the words of the student (instead of copy and paste). For workshops, we look at the clarity of the writing/diagrams, relationships with the course content, and completeness.

The final participation mark is obtained by averaging all the deliverable marks minus your worst deliverable mark. For example, if there are four deliverables and you got: 2, 1, 0, 2, your final mark is (2 + 1 + 2) / (3 * 2) = 83%

The goal of the participation mark is to encourage all students to contribute equally to their study group. Otherwise, some students might get a free ride and let the other students do the work for them.

Midterm Exam

The midterm exam will occur during the normal class hours. It will be a closed-book exam and the questions will be directly related to the homeworks.

The goal of the midterm is to ensure that students understand the basic concepts of software architecture and can discuss these concepts by giving concrete examples and making comparisons.

Take-Home Essay

The essay instructions will be released on webct. You will have 48 hours to complete the essay. The essay will be related to your project and the material seen in class.

The goal of the take-home essay is to ensure that students can apply the concepts they learned during the course to a system they have extensively studied.

The Take-Home Essay will be released on April 7th at 2:05 PM on webct and will be due on April 8th at 11:59 PM


The project consists of 5 deliverables that are described on the project page:

  1. Build tutorial 5%
  2. Individual system architecture description 20%
  3. Comparison of systems’ architecture 30%
  4. Final report 20%
  5. Final presentation 25%

The goal of the project is to expose students to complex, but realistic and working software architecture so that they can better understand trade-offs that need to be made when designing large systems.

Submission Policy: All deadlines are firm. This is to ensure fairness, a speedy feedback, and consistency with the course schedule. Please plan ahead. If you are not done by the deadline, submit your partial solution. The WebCT submission site allows you to submit early and to resubmit. To avoid the usual issues with last-minute submissions, you are encouraged to submit early. After a small grace period the webCT system will block submissions. Milestones not submitted on time are subject to a significant penalty (Immediate penalty of 20% of total possible mark, with an additional penalty of 4% of total possible mark per hour (e.g., a submission 2hrs late on work marked out of 100 receives -28 marks).

Technical Capsules

Technical capsules are 5-minute introductory oral presentations about a technology relevant to software architecture. The goal of technical capsules is to raise awareness of different technological opportunities that can be considered when architecting a system. Because of the time constraint and the size of the class, technical capsules are optional. Each student can perform a maximum of one technical capsule.

To perform your technical capsule:

  1. Find a topic of interest (a useful component, integration framework, programming language, connector type, architectural pattern, API, etc.).
  2. Schedule your capsule by emailing the TA (time slot and topic are allocated on a first come first served basis).
  3. Research and prepare your capsule. Be sure to include the following elements: context (why is this useful, background); how it works; how it can impact architectural decisions, etc.
  4. Carefully script and rehearse your presentation. Time will be strictly monitored and unless you are an expert on the topic, attempts at off-the-cuff presentations can easily end up in disaster.

Performing a capsule can reward you with a maximum of two points. Points are awarded according to the following criteria (each criterion is worth 0.5):

  • Clarity: The context is clear, we understand what you are talking about;
  • Relevance: The material is actually relevant to software architects;
  • Depth: The presentation includes interesting, well-chosen, and useful material (as opposed to obvious generalities);
  • Presentation: The presentation is delivered smoothly and professionally. It does not run over time.