Object-Oriented Programming

Through this web page you can access handouts, assignments, and solutions for the course in Object-Oriented Programming (OOP) on dat1/inf1/sw3.

Note that we will come through the group rooms on Friday the 5th of September from 8.30 to 10.00. The assignments are (a) take a look at the Java documentation at Java's home page http://java.sun.com. (b) Find the Java compiler on the computer science department's network and try to compile the small program found here.

Course Overview

Course No. Date Topic
1 2003-09-05 Introduction to Object-Oriented Programming
2 2003-09-09

The Basic Parts of Java

3 2003-09-16

Object-Oriented Programming in Java (Part 1)

4 2003-09-18

Object-Oriented Programming in Java (Part 2)

5 2003-09-26

Inheritance

6 2003-09-30

Polymorphism

7 2003-10-01 Interfaces and Introduction to Inner Classes
8 2003-10-03

Exception Handling

9 2003-10-07

Collections

10 2003-10-14

Input/Output (Streams)

11 2003-10-17 Inner Classes (revisited) + Software Documentation
12 2003-10-21 Software Test
13 2003-10-24 Concurrency
14 2003-10-28

Run-Time Type Identification

15 2003-11-04 The Assert Mechanism and Design by Contract

The schedule may be subject to minor changes.

Teaching Material

In the course we use the book by Bruce Eckel called "Thinking in Java", Prentice Hall 3rd ed., ISBN 0-13-027363-5, December 2002. It is available from the Centerboghandel. The book's home page (including Errata).

Additional material may be provided for the advanced topics.

Software

In the course we will be using the following software

The software is installed on the Solaris/Linux network. You must install the software yourself on the pcs. It is a good idea to start out using the BlueJ programming tool and then perhaps later in the project switch over and use the Eclipse Integrated Development Environment (IDE). The Eclipse IDE is must more advanced and complicated to learn then the very simple BlueJ programming tool.

Persistent Data

One of the focus areas for your projects can be storing data persistently. Here two overall approaches can be taken

If you want to use a database backend I will recommend that you use the MySQL database. It is very simple and is already installed on the CS network. Various useful links related to MySQL.

Exams

MIP (in Danish)

Requirements for the oral exam for the additional study activities (fri studieaktivitet) will be announced later.

Teachers

Kristian Torp, torp@cs.auc.dk