Practicum OOP


FAQ, hush, mail list, groups, results, ( 1996, 1997, )

Objective

To gain practical experience in deploying object-oriented design and implementation techniques.

Supervision

Anton Eliëns eliens@cs.vu.nl

Software environment

Programs have to be written in either Java or the C++ programming language, or a combination of these. You have to choose one of the following options, depending on your personal interest and programming skills:

  1. C++ with the hush toolkit (default)
  2. Java with the AWT toolkit (note: no help on Java implementation problems will be available)
  3. C++ with the hush toolkit in combination with Corba and/or Java (requires good programming skills)

Soft-copies of the documentation need to be available in LaTeX2e or HTML. Other languages, toolkits or file formats may only be used after consulting the supervisors.

Procedure

The practical work can be done in groups of two persons or on an individual basis, after choosing one of the given assignments. Students are required to send (the URL of) a synopsis (a short, comprehensive description of the requirements and functionality of the application in HTML) to eliens@cs.vu.nl first. Read the section about the review procedure and the style guide before you start!

After approval of your synopsis, a group account can be requested by eliens@cs.vu.nl. These accounts will expire on September 30, and can only be extended after an explicit request.

A soft-copy of the final application and documentation has to be send by e-mail to eliens@cs.vu.nl (a uuencoded compressed tarfile, see the Makefile of the example project), as well as a filled in "tentamenbriefje" and a hardcopy of the corresponding documentation (requirements spec, user manual, design, etc) (mailbox of Anton Eliëns in the "Stafkamer", next to S3.03). Do not use plastic covers, staples will do!

Requirements

Quality of design is an absolute requirement. This must be reflected both in the implementation by the definition of adequate interfaces and the use of inheritance and delegation and in the documentation explaining the rationale of the design. The use of design patterns is strongly encouraged. Also you're invited to define separately IDL interfaces for the major components of your application, whether or not you use actual CORBA technology for the implementation.

Time schedule

Note: Students are responsible for a steady progress and should contact the supervisors in case of problems in an early phase. If you miss the August 28 deadline, you may continue working on your assignment, but no help will be available, and new versions of hush or CORBA may be installed. Additionally, after submitting, your assignment will probably not be reviewed within the usual time frame.

Example

An example may be copied from /home/oo/hush/oo98/examples/

Questions

Read the FAQ first!

The SE tutorials provide introductions to make(1), C++ debugging, Tcl/Tk, the Tk-packer, widget cooking, ... When using Java, you will have to rely primarily on the standard Java documentation. The documentation for (Java) hush is part of the hush documentation.


oo@cs.vu.nl