To gain practical experience in deploying object-oriented design and implementation techniques.
See also the lectures OO.
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.
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:
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?
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.
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.
Anton Eliëns
eliens@cs.vu.nl
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:
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). 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!
Tevens moet er met de begeleidende docent
een afspraak gemaakt worden voor een demonstratie
met uitleg van het programma.
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.
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. Notes 2001
Challenges
Assignments
Procedure
Supervision
Software environment
Regulations
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.
Requirements
Time schedule
[.]
-
[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