Object-Oriented Design Assignments

The assignments form a series of prototypes leading to a Spreadsheet application with GUI. All implementation is done in Python.


  1. SpreadsheetData: OO design in Python, unit testing. Solution.
  2. Models: Petri Net model of a multi-user spreadsheet. State Automaton model of valid cell input. Solution.
  3. Spreadsheet grid GUI: Encapsulation, implementing a FSA specification.Solution.
    update: toplevel Statechart, editing State, editing State (correct syntax), application.py, SSGridView.py.
  4. Spreadsheet Model/View/Controller: observer pattern. Solution.

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.