Detailed description of the course:
The lectures make use of lecture notes (Development of Mathematical Software in Java) and, during
the practical part, of the book Just Java 2 by Peter van der Linden. The software that is used
during the course is Java, because Java is free, platform-independent and well structured.
- The course starts with an introduction to Java. During two mornings of lectures and two
mornings of exercises the trainees learn the basics of modern programming techniques such
as object-oriented programming and exception handling.
- In the third week the focus is on data structures, import and export functionality and
implementation of the algorithm in an object-oriented way. In this week the trainees will
start building a piece of software that incorporates a self-chosen mathematical algorithm.
This program will be developed during the rest of the course. Every week has one morning
devoted to lectures and one morning during which the trainees develop their software program.
Trainees can work on the project individually or together with another trainee.
- The fourth week the topic on I/O is completed and the focus will be on designing and building
a user interface. First, the trainees will learn the basic techniques of creating a simple
- In the next two or three weeks they will actually build user interfaces in mathematical
programs. First, a “wizard” to create or modify the input data will be developed. This is
followed by the graphical visualization of results in charts and tables. These charts and
tables can be saved to disk in common image formats, or they can be sent to a printer.
- When the user interface is finished, the lectures are devoted to some advanced topics such
as running and communicating with external programs and threads.
- The last week an installation CD-ROM is created that contains the program, documentation
and a set-up program.
- When the lectures are finished, the trainees have two weeks to finish their software
projects. After that, during one afternoon, each trainee gives a demonstration of the
software, the general class structure and the implementation of the algorithm.