CS1ADS: Algorithms and Data Structures


The most useful text for this course isWinder, R and Roberts, G (2000) Developing Java Software, second edition, John Wiley and Sons. However, this will only be in the bookshops after 2000.03.01. In the meantime there is Winder, R and Roberts, G (1998) Developing Java Software, John Wiley and Sons. The Web pages contain other useful resources. This book details the ADS package used during the course. Documentation on this package can be perused by clicking here.

Java 2 SDK is now the standard version of Java. This is available from Sun or on the departments CDROM. To get the version from Sun, follow the links from their home page (click here). The J2SDK integrally includes the Java Foundation Classes (JFC) which includes Swing (the user interface construction package augmenting and partially superceding AWT) and also Java Collections Framework (a set of algorithm and data structure classes for Java). A Solaris installation has been set up at /usr/local/jdk (executables in /usr/local/jdk/bin). A Windows installation of has been set up at K:\winapps\jdk (executables in K:\winapps\jdk\bin). A Linux installation is installed with executables in /usr/local/bin. The documentation can be perused by clicking here.

ObjectSpace have constructed the Java Generic Library (JGL) (a set of algorithm and data structure classes for Java based on the Standard Template Library (STL) of C++). Version 3.1.0 of the JGL has been installed at K:\winapps\jgl. The documentation can be perused by clicking here. A zip file of the 3.1.0 distribution can be dowloaded by clicking here. Also available from ObjectSpace is their Voyager library. This is a library of containers that can be used in a distributed system. It has been set up at K:\winapps\voyager, the documentation can be perused by clicking here.

The Windows version of Sun's Java Media Framework (JMF) is available online at K:\winapps\jmf. The documentation can be found by clicking here.

Cygnus produce an excellent set of tools (Cygwin) which make is possible to use Windows by providing all the tools available under UNIX (Solaris and Linux). It is BIG but immensely useful. A copy of the version 20.1 toolset (full.exe) can be obtained by clicking here. NB This is 14Mb!

Emacs and XEmacs are seriously useful editors originally available with UNIX systems. Both come as standard with Linux systems and are installed on most Solaris systems (including helium.dcs.kcl.ac.uk) but neither are immediately available with Windows systems. Windows ports have been constructed though for those addicted to Windows who can't switch to Linux. The site ftp://ftp.gnu.org/gnu/ is the place to get all GNU software, including Emacs. XEmacs is not GNU software so is not found on this site. Instead it can be found at ftp://ftp.xemacs.org/pub/xemacs/. UNIX software is usually distributed in source form ready for compilation and installation. However, increasingly Linux software is distributed in RPMs. Creating Windows executables is a serious porting task and so it is much easier to make use of pre-compiled distributions. Another issue is that from the UK accessing the two sites mentioned above can be hard. Making use of the the UK SunSite which has mirrors of all the necessary files is clearly sensible. Emacs (get version 20.5 or greater) source http://sunsite.org.uk/gnu/emacs/, Windows pre-compiled http://sunsite.org.uk/gnu/windows/emacs/. XEmacs (get version 21.1 or greater) source http://sunsite.org.uk/Mirrors/ftp.xemacs.org/pub/xemacs/ , RPMs http://sunsite.org.uk/Mirrors/ftp.xemacs.org/pub/xemacs/binary-kits/linux/RPMS/i386/ and Windows http://sunsite.org.uk/Mirrors/ftp.xemacs.org/pub/xemacs/binary-kits/win32/

The Department of Computer Science, University College London have a Java-based programming course also based on the Winder, R and Roberts, G (1998) Developing Java Software, John Wiley & Sons book.  Not surprisingly the course is given by Dr G Roberts.  The support materials for that course can be found by clicking here.

Russel Winder
Last updated: 2000-02-13