Introduction to Programming 1998-2001

Aims and objectives· Lectures· Local notes and resources· Code directory
Worldwide notes and resources· Java 2 official documentation· Linux Users' Guide

Aims and Objectives

This is a page to archive the material produced for the course Introduction to Programming in the Department of Computer Science at Queen Mary, University of London during the years academic years 1998-2001 when I (Matthew Huntbach) taught it. Peter O'Hearn was responsible for lab exercises and coursework.

A longer statement of the aims and objectives of the course can be found here.

In summary, this was a course on programming in general which used the Java language, and took an object-oriented approach, but it was not a course on "Programming in Java", so it didn't cover the more specialist aspects of Java such as graphics, networking or its use for animating web sites.


Assessment consisted of two or three term-time tests, counting in total 20% to the final marks; lab work counting a further 20%; and the final exam in May which counted for the remaining 60%.

System details

We used version 1.2 of Java - also known as Java 2, though we avoided detailed use of its extensive code library. The definitive description of Java is the "Java Language Specification" available on-line here.

A local copy of the official documentation of the Java 1.2 library can be found here.

The official web-page for Java, maintained by Sun, the company that developed it, can be found here.

A local copy of Sun's official Java tutorial can be found here.

Students were encouraged to run Java under the Linux (a version of Unix) operating system. A local copy of the Linux User's Guide can be found here.

In line with the aim in the course of concentrating on the basics, we did not use a Java "Interactive Development Environment".

Local notes and resources

Notes, examples and exercises written by myself and other members of staff at Queen Mary can be found here. These were be used rather than printed handouts.

Code used for examples in the course can be found here. This is the code that in the notes is referred to as being in the directory /import/teaching/BSc/1st/ItP

Worldwide notes and resources

If any other web sites anywhere caught my eye as something that might be useful or interesting for students in the context of the course, I added them to a general links page, available here.

Lab Organisation

Lab sheets issued can be found here.


A summary of each week's lectures in the academic year 2000-01 is available here.


Although there was no set textbook for the course, the following were recommended as suitable reading:

"Object-Oriented Programming with Java: An Introduction" by David Barnes, with web page here.
The code associated with this book has been downloaded and reference material on it can be found here.

"Computing Concepts with Java 2 Essentials" by Cay Horstmann, with web page here.
The code associated with this book has been downloaded and reference material on it can be found here.

"Java Programming from the Beginning" by K.N.King, with web page here.

"Java by Dissection" by Ira Pohl and Charlie McDowell, with web site here.
The code associated with this book has been downloaded and reference material on it can be found here.

"Java How to Program (3rd Edition)" by H.M.Deitel and P.J.Deitel, with web page here.

"Java Gently (2nd Edition)" by Judy Bishop, with web page here.

A review of several books (including some of the above) that teach introductory programming using Java can be found here. This is, of course, just one person's view of these books, I don't agree with all his comments but it may help you choose a book that suits you.

You will also find complete on-line textbooks in the Worldwide notes and resources section of this website.

Matthew Huntbach
Last modified: 20 November 2002