Object-Oriented Software Design
2006 Winter Term COMP 304B Assignments
Assignments
All implementation is done in Python.
 -  PlotWindow: Unit Testing, UML Class Diagrams,
      OO implementation in Python.
  -  ChatProtocol: UML Class Diagrams, UML Sequence Diagrams, State Automata, 
      OO implementation in Python.
  -  Statecharts: An executable Statechart model of a wristwatch. NEW UPDATES HAVE BEEN ADDED TO THIS ASSIGNMENT! CHECK THEM OUT!
  -  Spreadsheet cell value Set/Undo: Command Pattern.
 
Submitting assignments
 -  You must submit assignments via WebCT.
 
 -  Take into account that the clock on your computer and the one of the WebCT
   server may be off by quite a bit. Submit well before the deadline.
 
  -  In WebCT, you can upload as many files as you like, as often as you like.
   BEWARE ! Once you submit, that is final and it is impossible
   to make further modifications.
 
 -  Assignment submissions must consist of a number of files. A single 
    index.html file must
   contain references to all the other submitted files. No external references
   (to your personal website for example) are allowed. The template which you
    must adhere to is here (<shift-click> to download). 
   Do not submit Word documents !
 
 -  To get insight into the assignment workload, please mention the number of hours you
     spent on an assignment (in the index.html file).
 
 
Original Work
  
  You are encouraged to help other teams formulate
  the ideas behind assignment problems, but each team is required to
  submit their own original work. Handing in work that is not your
  own, original work as if it is your own is plagiarism.
  All re-use, collaboration, inspiration must be explicitly
  mentioned in the assignment.
  McGill University values academic integrity.  Therefore all students
  must understand the meaning and consequences of cheating, plagiarism and
  other academic offences under the code of student conduct and
  disciplinary procedures (see
  www.mcgill.ca/integrity 
  for more information).