Lab exercises
Peter Tiedemann has written a Lab Guide on setting up
your environment for the lab exercises, Eclipse, JUnit, etc. (click on this
link). Please study this carefully - it has most of the answers you need!
Java
The following material may assist you in programming assignments if you choose to
use Java, which is strongly recommended in this course:
- A Danish
introduction to Java
- The official Sun tutorial
- Java for Windows, Linux and other platforms can be downloaded
from this
homepage.
- For Linux users, Linuxlab offers a note under a cryptic title "Exercise
10: Getting started with Java programming in Linux". It is very
useful in getting the initial environment set up, first program
written, compiled and executed.
- On OS X, Java can be run off the command line a la Linux.
Alternatively, the freely available developer environments include
BlueJ
and
Xcode
among others.
- We recommend using the Eclipse development environment for Java. It can be downloaded from an ITU local server (Windows version). Installation is easy: Unzip into some reasonable place and run the executable eclipse.exe. Eclipse is widely used in industry and a de facto standard when developing software in Java. It has very many features and it takes some time to learn to use it, but it is a powerful development tool worth the effort. Several of the important topics of the course are integrated as elements in Eclipse: for instance, JUnit (for unit testing) and CVS (for versioning).
- The Introductory Programming Course offers the following list of
resources on Java programming.
- Peter Sestoft's notes Text
Files in Java, Java
Performance, and his book Java
Precisely
Object Constraint Language
The Object Constraint Language (OCL) used in [MS] is defined in "Object Constraint Language, Version 2.0, May 2006" from the Object Management Group (OMG). Read Chapter 7 for a good overview.
Supplementary math literature for performance part
If you want to refresh your mathematical skills please read this
note first. This is not a part of course curriculum. Rather it
sets the requirements for what you are supposed to know when starting
this course.
As a supplement we recommend some additional mathematical background
in the book Data
Structures and algorithms in Java, by M.T. Goodrich and
R. Tamassia. In Danish there is a book called "Grundlæggende
matematik for dataloger" which are used at DTU, it might be useful as
well. The two books has not been read thoroughly by the teachers, but[A
at first look they seems to be good. There is also a list of math books for the conoisseur.
Other supplementary literature
Martin Fowler's article on the Fail Fast principle.
Other useful links