[.] DejaVU Online: -- The OO Lectures
[.] - [up] [top] - [I] [II] [III] [IV] - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] - [A] [R]

Practicum Object-Oriented Software Development


inleveren register forum assignment, projects, documentation, resources, groups, java3d

studiegids

Objectives

notes from the past


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

See also the lectures OO.

Notes 2001

The course has been very much centered around components and patterns. Interesting items that have been discussed include, embedded software (components), the new .NET technology, and XML.

It is only natural that these topics will also be prominent in the practical assignments.

Challenges

If you wish to participate in the practicum, you must be willing to take on a challenge.

Major challenges in O-O software construction (still) are:

  • framework development
  • separation of 'logic' from 'control'
  • distributed (CORBA) object technology
  • adequate visualisation of structure and processes
  • knowledge intensive applications
  • integration of technologies (XML, Java ... )
  • advanced UI, preferably with 3D technology

All these subjects have been treated, or at least hinted at in the OO Lectures. If you did not visit any of these lectures, I do actually want to discourage you to participate in the practicum. You do not learn much from writing an other Java program, do you?

Assignments

The suggested assignment, The Virtual Dealing Room, incorporates all the challenges mentioned above. It is ambitious, indeed, but certainly relevant, since virtual communities will become a dominant phenomenon on the Internet. It is an example of a knowledge-intensive, distributed application area, for which O-O provides, in principle, the solutions required for their realization.

Of course, you are welcome to think of variations on this theme an if you see no other option you may pick an assignment from the the old list.

If you think that the technology will be too much to master, don't worry. There is a forum in which you can ask technical questions and discuss other topics with your fellow students. And, if needed we will organise periodic meetings where you can exchange ideas, ask for information and get advice on the technology.

Although it would be nice to have a real 3D interface to the community, I am aware of the fact that most of the technology involved is still somewhat unstable. See MMA1 Web3D for more information on VRML/Web3D technology. However, even without using 3D technology, you must strive for an intuitive interface that that is suited for the application domain.

Procedure

To enter the practicum, you need to write a synopsis and register yourself using the online registration. If required by the supervisor, you must make an appointment to talk about the synopsis with the supervisor.

See also the Regulations below.

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. The use of CORBA, and a combination of C++ and Java is strongly encouraged.

You have to choose one of the following options, depending on your personal interest and programming skills:

  1. Java with AWT or Swing
  2. C++, Java and CORBA (preferred)

Note: The use of XML technology is encouraged.

See also resources and the (somewhat outdated) list of available software. You may download your own software. This must then be part of the distribution (when packaging your assignment) so that the program can be tested.

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

Regulations

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. Note, submission in any other format will not be considered.

During the course of the project, the synopsis page must also give information about progress and other documentation. See the Procedure above.

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 obtained and extended after an explicit request to the helpdesk.

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!

Inleveren Opdracht Practicum OOP


inleveren register forum assignment, projects, documentation, resources, groups, java3d
De opgave kan ingeleverd worden middels een URL via welke documentatie, source code, en installeerbare versie beschikbaar is, dan wel via email als (gezipte) attachment.

Tevens moet er met de begeleidende docent een afspraak gemaakt worden voor een demonstratie met uitleg van het programma.

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 deadline, you may continue working on your assignment, but no help will be available, and new versions of Java or CORBA may be installed. Additionally, after submitting, your assignment will probably not be reviewed within the usual time frame.


[.] - [up] [top] - [I] [II] [III] [IV] - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] - [A] [R]
Hush Online Technology
hush@cs.vu.nl
11/27/00