CS 746 Topics in Software Design, Concentrating on Software Architecture

Assignments

Ric Holt, DC 2508, x4671, holt@uwaterloo.ca, Department of Computer Science, University of Waterloo

Winter 2003


DUE DATES

Assignment 1:  
   Part 1A Mon  Jan 13 2003 (Teams)
   Part 1B Thur Jan 16 2003 (EMACS References)
   Part 1C Thur Jan 23 2003 (Diagram of architecture)
   Part 1D Thur Jan 30 2003 (Conceptual architecture)
   
Assignment 2:  
   Part 2A Mon  Feb  3 2003 (Jan 30 for Montabello account, Teams)
   Part 2B Thur Feb  6 2003 (EMACs landscape)
   Part 2C Mon  Feb 10 2003 (Clustered landscape)
   Part 2D Thur Feb 13 2003 (Grok scripts)
   Part 2E Thur Feb 27 2003 (Concrete architecture)

Assignment 3:
   Part 3A Mon  Mar  3 2003 (Select paper to present)
   Part 3B To be scheduled  (Present paper)

Project 
   Proposal: Mon Feb 3 2003
   Writeup: Thur Mar 31 2003


Assignment 1A

Submit list of team members for assignment 1 to cs746@swag.uwaterloo.ca.

Assignment 1B

Submit references (articles, books and URLs) on Emacs to cs746@swag.uwaterloo.ca. These will be shared with the rest of the class. See these references.

Assignment 1C

Submit a diagram of the top-level architecture of Emacs and a one page description of the subsystems and interactions. Bring a hardcopy to class and email a PDF version to cs746@swag.uwaterloo.ca

Assignment 1D

Submit a paper giving the conceptual architecture of EMACS. Limit your paper to at most 15 pages. For guidance, see Assignment 1 from year 2000. Bring a hardcopy to class and email a PDF version to cs746@swag.uwaterloo.ca

Assignment 2A

For January 30, get a user account on Montabello for assignment #2 by emailing cs746@swag.uwaterloo.ca with your user id. For February 3, send a list of team members for assignment 2 to the same email address.

Assignment 2B

Using SWAGKit, produce a software landscape of Emacs. You do not need to group files into subsystems. Store the landscape, in TA format, somewhere on your Montabello account and send an email to cs746@swag.uwaterloo.ca with the location. Do not send a copy of the TA file to the course account.

Assignment 2C

Group the top level entities of your previous landscape into subsystems (and those subsystems into subsystems if necessary). Place the new landscape, and contain.rsf file, somewhere on your montabello account and send an email to cs746@swag.uwaterloo.ca with the location. Do not submit a copy of the files to the course account.

Assignment 2D

Write Grok scripts to modify your your landscapes in various interesting ways. Place a copy of the Grok scripts and modified landscape somewhere on your montabello account and send an email to cs746@swag.uwaterloo.ca with the location. Do not submit a copy of the files to the course account.

Assignment 2E

Submit your concrete architecture of EMACS. Describe the architecture of one of the top level subsystems of EMACS. Please choose the subsystem to be distinct from subsystems chosen by other groups. Ideally, the set of groups together will cover all the main top level EMACS subsystems. You may choose to concentrate on either the conceptual or the concrete architecture of your subsystem.

In Assignment 2, please work in groups of size 3 (approximately). Please make your report accessible (readable) by a reasonably wide audience. Limit your report to at most 20 pages.

Your report should be organized approximately like your report for Assignment 1. Give a clear description of each subsystem or module within you top level subsystem.

Use SwagKit to produce diagrams of the concrete architecture.  Bring a hardcopy to class and email a PDF version to cs746@swag.uwaterloo.ca

Assignment 3A

Search the literature and find a paper of related to software architecture that the class would find interesting. Make sure that no one else in the class has selected the same paper. This assignment is to be done by individuals.

Assignment 3B

Present your selected paper in 15 minutes, with 5 minutes of discussion.

Project Proposal

Submit a 1-page proposal for a course project. You may choose from topics here or come up with one of your own. Bring a hardcopy of your proposal to class and also submit a PDF version to cs746@swag.uwaterloo.ca

Project Writeup

Limit your report to at most 20 pages. It is suggested that your report take the form of a technical paper, with an abstract, introduction, central sections, conclusion and references.  Bring a harcopy to class and submit a PDF version to cs746@swag.uwaterloo.ca