An example of an interactive video game
is a volley or tennis game for one or two players.
One must allow for an option to determine the speed
of the ball and an option for replay.
See
A simple hypermedia system must be capable of
presenting text and graphics and must allow for
the traversal of links between such items.
An important aspect of this project is
the development of an adequate object model
for the items supported, including links.
See
A direct manipulation score editor
allows for editing musical fragments interactively.
Some musical knowledge is required for such a project.
The layout of music notation appears to be a difficult
issue, because it is essentially two-dimensional
and involves many special symbols.
See
The notion of an {\em object-oriented expert system}
is quite open-ended.
An approach one may take is to implement
a traditional rule-based expert system
in an object-oriented way, using C++.
Take care to include an example knowledge-base
to test the functionality of the system.
See
A 3D animation editor
supports the creation of (simple) 3D figures
and must minimally allow for some basic manipulations in 3D
space, such as rotations and translations.
As an additional requirement, there must be a facility
to replay a series of manipulations.
See
A simple case tool
allows for the interactive development of
a simple object model,
including the description of attributes of objects
and the inheritance relations between object types.
For an example of such tools, see
A routeplanner allows the user to indicate
a starting location and an end location.
The system then calculates an appropriate route,
for example the fastest or cheapest.
As an additional requirement, the system must
allow for the user to ask additional
information about the route and the intermediate
locations situated along the selected route.
This information should preferably be in multimedia format.
Comments
Since the assignments were meant primarily as a means to gain experience with practical aspects of object-oriented programming, students were left free to choose a particular design method. The use of CRC-style documentation, however, was mandatory. Quite often, students developed a design employing OMT notation, which did not necessarily lead to a better result.
To gain experience with object-oriented
design and analysis, a practical course
focusing on modeling and requirements analysis
is advisable.
Any of the assignments above may be used in such
a course.
Other suggestions may be found in
(C) Æliens 04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.