Please note, this page was first put together in 1998, and is now given only small amounts of maintenance - see below. In particular, this site was put together reflecting early versions of the Java language. I felt the changes introduced in Java 5 were so significant that they required a major overhaul of my teaching and thinking about the Java language, but I did not have time to re-orient this page around that, so that marks the point when I stopped active work on this page.University Java programming course web pages
The aim was to provide material for students learning to program in an object-oriented style using the Java language. The emphasis is more on general programming skills than the intricacies of the Java language. So I have avoided material which introduces Java with an emphasis on its graphical or networking side. There are, however, links for those who want to move ahead to look at these things. I have not given links to many of the vast number of sites aimed at Java Certification since that is more about factual knowledge of the details of Java than general programming skills.
I have also used this page to collect more general links on computer programming and related issues which I think would be of interest to new students in Computer Science.
I have tried to make all links here to original sites rather than mirror sites, so they are as up to date as possible. Also mirror sites made without permission of the original author are a breach of copyright. So far as I am aware, everything with a direct link from this site has been made available by its author to the public over the web.
This site also contains, for reference, links to other sites of a type
which this is not: sites which
indiscriminately list anything that can be found on Java, sites which
are mainly about how to use Java to enhance your web page, and sites
which are for those who already have a lot of experience with Java or
C/C++ programming. The author of this site
disclaims responsibility for anything that may be found indirectly
from pages to which it links.
The future of this site
This site was first put together in 1998, and reflects the simple style of
early web pages built using raw html. Since then there have been huge
changes in web technology and the scope and usage of the Java language.
The emphasis of this site is intended to be on the simple basics
of object-oriented programming, so its style and the approach it
takes to Java is still, I hope, relevant. In any case, I don't have time to
make radical changes to it.
Java 5 marked a particularly big change in the Java programming language, which had (or should have had!) an impact on even the most introductory teaching of the language. This site does not reflect the impact of those changes, but it marks the point at where I stopped actively working on the site as it would have been too much of a job to update it thoroughly to ensure it was all compataible with Java 5 and later versions of the language.
I will occasionally check and remove dead links or those which have obviously become irrelevant, but old links will stay in otherwise. I am not actively seeking new links, though if while working on other things I do come cross a site I think useful and relevant to the aims of this site, I will add a link to it here. The links to other university course pages are a particular feature of this site, but by their nature, they are fast changing, so difficult to keep up to date. Please email me if you come across any dead links, have a link you think really should be included here, or have some other comments.
I have collected a few more links, mainly to university course web pages, on a couple of other pages which are still intended mainly for courses I'm teaching:
University Java programming course web pages
Many university courses on programming have made their complete course
notes publicly available through the web. The emphasis of most of
the courses here is to teach programming in general using Java, rather
than to teach Java in particular.
Most are introductory, some are at an intermediate level. You can find
links to course pages for other university courses under
university course indexes.
Note 5 December 2013 - I have just checked this list and some of these links are still live, some even lead to updated course materials, but many are dead. In some cases a a dead link means a change of policy so course material is no longer public, in other cases it means the person teaching the course has moved on and taken down the public material. Sometimes, however, it just means changes in web organisation at the university meaning a different address will get the material and it just needs a little research to find the new address. Right now, I don't have time to update these links, so please just take them as they are.
University of London colleges, and other London universities
Other UK universities
Other European universities
Asian and Australasian universities
General resource sites for Java
Here are some sites with links to Java "Frequently Asked Questions" (FAQ),
tutorials, and plenty of other Java resources. Remember, this sort of
site is going to contain a lot of material on advanced aspects of Java.
So don't feel overwhelmed by the sheer amount of material here.
As with the university programming course web pages, these are sites I
found useful or interesting when I was actively compiling this list of
links. Better but more recent ones will only be added if I happen to
come across them, and as I am not actively looking for them any more
I may well have missed what are now the best sites.
Other relevant Java sites
Here are a few more relevant sites containing material on programming
in Java. As with the other sections, this reflects the situation when
I was actively working on this page of links. So there may be many
very good sites I have missed because I am no longer actively looking
for them, and some to those listed here may be outdated or have gone
Java books sales sites
Books available on Java can be found from on-line book sales
and publishers' sites. These will generally give you some idea of
the contents, and the book sales sites also includes customer
Java sites from web-indexers
The Java sections of general web-index sites are generally not as
well organised as dedicated Java sites. So what I said about
Java resource sites applies even more here.
Java question-answering services
These are sites which promise that questions you send in on Java
programming will be answered by an "expert". You can also see answers
to other people's questions. Once again, note much of the material
here will be well in advance of, or take a different approach from,
what you would find on an introductory course. Also the expertise of
some of the "experts" isn't that great.
Note19 March 2013 - I have removed quite a few links that were dead, and updated a few that had relocated. Sites occasionally get added here if I come across them and think them worthwhile, but I haven't engaged in any sort of systematic search to find them.
Managing Java files
When this site was set up to support a course, I used files edited using
standard text editors and run on Linux, rather than any sort of Java
development environment. So for this historical reason, there are a few
relevant links for this here.
Text editor sites
Unicode is the character set officially used by Java.
On-line dictionaries/glossaries on computing
If you come across terms or words used in computing that confuse you,
you may be able to find a definition here. Or you may just enjoy
browsing the sites.
Interesting or useful personal web-sites
Here are some personal web sites I've found interesting/useful.
Some are Java related, others are here because they contain a
comprehensive collection of useful links, others are here just because
I think they contain useful material for new computer scientists to
Study skills and general help sites
The Real World
Finally, one day you'll have to go out and get a job in the
"real world" (unless you become an
like me ...). Here are some relevant links: