Current Topics in HCI - Winter Semester 2004/2005

Assignment 6 - Statecharts
Due on Thursday, December 2, 2004 during class


In this assignment, you will explore state machines and statecharts in a little more detail.


Part 1: Farmer's problem Recall the farmer's problem: a farmer (f) has got a wolf (w), a goat (g), and a cabbage (c) on the left side of the river (~). He wants to get them across to the right side of the river using his canoe. Yet, if the farmer leaves the goat and the cabbage together unsupervised, the goat will eat the cabbage. If the farmer leaves the wolf with the goat unsupervised, the wolf will eat the goat. Unfortunately, the canoe is only big enough to accommodate the farmer and one other thing at the same time.

Solve the farmer's problem to get across the river. Describe its solution and draw the complete FSM (finite state machine) representing the solution to this problem in an appropriate layout and with correct labeling.

For extra credit, draw and label the complete FSM of the farmer's problem with all possible states and actions in an appropriate layout.

Part 2: Statecharts Pick an everyday device of your choice that is not too complex but also not trivial, e.g., a DVD player, an automated teller machine, etc. Describe your device and model it as a statechart with the techniques introduced in the lecture. Include a full and understandable description of your statechart that explains how your device is working, and analyze your statechart in terms of usability and complexity.

For extra credit, improve your device where possible and draw the new model.


Hand in your submission before the end of the lecture on Thursday, November 2.

If you wish to submit your assignment electronically, email a PDF to This email address is being protected from spambots. You need JavaScript enabled to view it. before the due date. Please note that no other format (Word, OpenOffice, etc...) will be accepted. The subject of your email should be "CTHCI Assignment 6"; be sure to use this exact subject line as it will be used to filter assignment submissions for grading.

You may complete this assignment alone or in groups of two.


The assignment will be graded on the following rough scale:
  • 1.0 - exceptional work that clearly went above and beyond what was expected from the exercise
  • 2.0 - exercise was completed satisfactorily as per the assignment specification
  • 3.0 - exercise was completed, but has some problems
  • 4.0 - incomplete exercise
  • 5.0 - little or no effort was put into the exercise

Late assignments will be graded with a penalty of 0.5 per 24 hour period after the due date.

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.