Object-Oriented Software Design

2003 Winter Term COMP 304B Assignments

The (5 or 6) assignments form a series of prototypes leading (mostly) to a Spreadsheet application with GUI. All implementation is done in Python.


  1. CellFormula: Unit Testing, OO implementation in Python. Solution.
  2. Spreadsheet Design: UML Class Diagram and Object-Interaction Diagram. Solution.
  3. State Automata from Regular Expressions: Recognizing Spreadsheet Formula tokens. Solution.
  4. Spreadsheet cell value set Undo: Command Pattern.
  5. Traversing Formulas: visitor pattern.

Submitting assignments

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. See section 15 of Student Rights and Responsibilities Handbook for more details. All re-use, collaboration, inspiration must be explicitly mentioned in the assignment.