Course Material for 159-234 - OO Programming

This is a temporary set of material for paper 159.234 - more material will appear here during the semester.

Lectures

Lectures for this paper are at 1pm on Tuesdays in QB5; at 1pm on Thursdays in QB2; and at 9am on Fridays in QB5. Lectures start on the hour and usually last 45 minutes. Lectures slides will generally be posted on this web site after the lecture.
The full text of (an earlier version) of the Short Java programming course is available. It is about 100 pages of text. The example programs are available as a zip file.

A short note describing how to use the command line interpreter and to set up your path and CLASSPATH to use the java compiler and JVM is available. (Please report any mistakes to me).

The Java API (application Programmer Interface) for Java Development Kit 1.4 is available at the Sun Java web site. (Click on API specifications on the left hand frame)


There is a useful FAQ list (a frequently asked questions list - distilled from discussions amongst C++ programmers on the Internet. It is at: www.parashift.com/c++-faq-lite/. Browsing it may help you think about some of the language features of C++ and how you should choose between two or more different ways of (apparently) doing the same thing in C++.
The Association for Computing Machinery (ACM) is a useful society to join if you want to be connected into the community of professional programmers and computer scientists. ACM has a web site at www.acm.org. The ACM has a student magazine known as "Crossroads". A useful set of pages for this paper are those on Object Oriented programming at: www.acm.org/crossroads/doc/indices/objective-viewpoint.html.

Tutorials

Tutorials for this paper are at 3pm on Thursdays in AT7 and at 1pm on Fridays in QB6. Tutorial questions will be made available here later in the semester. You will find it helpful to go along to one of the tutorials sessions each week. (You can attend both if you wish although the material covered will be repeated.) You are most welcome to ask the tutor questions during the sessions.

Assignments

There are five assignments set during the semester. The first one is not assessed but by doing it you will find the first assessed assignment easier. Assignments count for a total of 30% of your mark for this paper. You should normally expect to spend around 8 - 12 hours working on each assignment.
Assignment 4 was issued at the Tuesday lecture on 11th May and is to be handed in by 12 noon on Tuesday 2nd June.
Assignment 3 was issued at the Tuesday lecture on 27th April and is to be handed in by 12 noon on Tuesday 11th May.
Assignment 2 was issued at the Tuesday lecture on 30th March and is to be handed in by 12 noon on Tuesday 20th April.
Assignment 1 was issued at the Tuesday lecture on 16th March and is to be handed in by 12 noon on Tuesday 30th March.
Assignment 0 was issued at the Friday lecture on 27th February and is to be handed in by 12 noon on Tuesday 9th March.

Other Material

There are a anumber of small programs that you can copy and use as examples to get you started. They are available as zip files.
The Recommended textbook for this paper is C++ for C programmers, 3rd Edition by Ira Pohl, and published by Addison Wesley. There is C++ source code from the book available on the Web at www.awl.com/cseng/titles/0-201-39519-3.
You may also find the following short notes useful for revision or to aid your understanding of C++ syntax.