Object-Oriented Design Assignments
The assignments form a series of prototypes leading
to a Spreadsheet application with GUI. All
implementation is done in Python.
Assignments
- SpreadsheetData: OO design in Python, unit testing.
Solution.
- Models: Petri Net model of a multi-user spreadsheet.
State Automaton model of valid cell input.
Solution.
- Spreadsheet grid GUI: Encapsulation,
implementing a FSA specification.Solution.
update:
toplevel Statechart,
editing State,
editing State (correct syntax),
application.py,
SSGridView.py.
- Spreadsheet Model/View/Controller: observer pattern.
Solution.
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).
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.