COMP332 Programming Languages
Resources and Support Materials
This page contains links to various resources of general interest - software, documentation, notes and, eventually, sample exams etc.
Probably your very first step should be to find out how to install the software you will need this semester.
Software Resources
For Java development you will need to install a Java Developers Kit (JDK). you can find links to this software and installation advice on the Java installation page.
Rather than relying on the Java command line tools, we will be using an industrial strength Eclipse development environment. This is one of the most popular Java development environments used by professional developers today. It was originally developed by IBM but is now collaboratively developed as a sponsored open source project.
- For general information about Eclipse, you should visit the Eclipse website.
- For specific COMP332 downloads and instructions, you should consult our Eclipse installation page
Resources for Practicals and Assignments
To run the emacs lisp example from week 5, you'll need to find out a little about running lisp code in the emacs editor (which is installed on titanic and pompeii).
To run the scheme example from week 5, you might like to install Dr. Scheme on your machine at home. You can find the Dr Scheme system at this site for free download.
Language of the Week
- Forth
- Esoteric languages - befunge and unlambda
- Lisp membership example.
- The Duff's Device
- Snobol 4
- Unix shell scripting
- Haskell and Domain Specific Languages
- Scala - blending OO and functional programming, Scala home page
- Ruby example code
Tutorials and Documentation
General
There are many useful references for regular expressions on the Web. In particular, a Python-based one comes with a recommendation from Shaun Baker (a COMP332 student in 2003).
A very good powerpoint presentation which has material on regular expressions, Finite state machines and implementing scanners and parsers.
Java related
Sun's Java tutorial from the Sun's website (http://java.sun.com/docs/books/tutorial/index.html) is a valuable resource for those who are new to Java and would like to catch up quickly. In particular follow the trails Getting Started and Language Basics. More advanced trails will not be needed.
Also available from the Sun website is the complete Java library API documentation. This describes every class and method in the standard Java API - it's an invaluable resource so its worth taking the time to scan through it and get used to how it is structured.
Eclipse is setup to directly access the Java website and obtain help information from this API document - which is how it works out what to display in its help tooltips. If you don't always have access to the internet, you may be keen to download the whole API document and tell Eclipse to find its help information on your local machine. Instructions on how to do this can be found here.
Bruce Eckel's Thinking in Java 3rd edition book, which you can download in its entirety from the Mindview website. This is a good, and really quite extensive, book which has now become a classic Java text. Please do not try to print this book, it contains 1000+ pages, most of which you will not need to read.
Eclipse and Java for Total Beginners (*** highly recommended ***) this is a complete visual tutorial, by Mark Dexter, describing how to get started writing applications in Java using the Eclipse workbench. This is an open learning resource hosted at http://eclipsetutorial.sourceforge.net/. You can view the first lesson of this series at total beginners lesson 1 and you should take a look at the associated tutorial companion. If you would like to access the complete tutorial, all 16 lessons can be downloaded from SourceForge download page.
Eclipse and Java, using the debugger (*** highly recommended ***) this is another visual tutorial by Mark Dexter (http://eclipsetutorial.sourceforge.net/), which describes how to use the debugger provided by Eclipse to "watch your code as it works". You can view the first lesson of this series at java debugging lesson 1. To use this tutorial you should take a look at the associated tutorial companion and download the associated sample Eclipse project. If you would like to access the complete tutorial, all 7 lessons can be downloaded from SourceForge download page.
Eclipse Help The goals of this help page are to give a brief introduction to Eclipse and to show how to use the Eclipse debugger.
Useful Eclipse Tutorials:
Useful Eclipse Visual Tutorials: