Nordic Informatics Network in the Agricultural Sciences

Object oriented modelling and software development with agricultural applications

Tune Landboskole, Greve, Denmark, August 13-24, 2006

Daily schedule: 

 9-12:
Lectures and exercises
12-13:
Lunch
13-17:
Lectures and exercises
18:
Dinner
20-21:
Evening lecture (only some days)

Teachers

Sunday 13 August:

Monday 14 August

Presentation of participants. 

Lecture (GS):
The essence of Object-oriented architectures.  UML as a documentation tool.
Lecture (PS):
Contents: Classes, objects, methods, parameters, types, multiple instances. The BlueJ development environment. Java source code.

Classes, fields, constructors and methods. Statements: Assignment (=), conditional statement (if-else). Local variables.

Abstraction and modularization. Multiple classes. Class diagrams and object diagrams. Primitive types and object types.
Goals:
To become familiar with the BlueJ development environment and with Java classes, objects and methods.
Literature:
Read B&K 1.1-1.14, 2.1-2.15 and 3.1-3.11.
Exercises:
As indicated on the lecture slides, plus installation of Java and of the BlueJ development environment.
Evening:
The BlueJ debugger (B&K 3.12-3.15). Exercises.

Tuesday 15 August

Lecture (GS):
Capturing and describing requirements. Use cases and UML use case diagrams.
Lecture (PS):
Grouping objects in collection classes. Array lists.

Generic classes. Iteration: the for-each loop and the while loop. Fixed-size arrays.

The Java class library and its documentation. Pseudo-random numbers. Packages and imports. Map collections. Set collections.
Literature:
Read B&K chapters 4.1-4.13 and 5.1-5.9.
Exercises:
As indicated on the lecture slides, plus installation of the Java class library documentation.
Evening:
Excursion.

Wednesday 16 August

Lecture (GS):
Classes and objects: Concepts and instances. Object collaboration. Design of object-oriented systems. Boundary objects, control objects and business objects. Playing with CRC cards.
Lecture (PS):
Class documentation. Public and private. Writing class documentation.

Unit testing, test automation, modularization.

Class design: responsibility and encapsulation; coupling and cohesion; refactoring. Static methods.
Literature:
Read B&K 5.10-5.13, 6.1-6.5 and 7.1-7.16.
Exercises:
As indicated on the lecture slides.
Evening:
Read and implement B&K 6.6-6.12.

Thursday 17 August

Lecture (GS):
Documenting collaboration by UML-sequence diagrams. From UML sequence diagrams to UML class diagrams.
Lecture (PS):
Inheritance and subclasses; inheritance hierarchies; subtypes and casting; the class Object.

Virtual methods; compiletime and runtime types; overriding; method lookup; Object.toString().
Literature:
Read B&K 8.1-8.11 and 9.1-9.10.
Exercises:
As indicated on the lecture slides.
Evening:
Recursion, Towers of Hanoi revisited?

Friday 18 August

Lecture (GS):
Design patterns. A worked example. How OO-design differs from traditional data modeling.
Lecture (PS):
Simulating a zoological system; abstract methods and abstract classes; multiple inheritance and interfaces.

Graphical user interfaces; AWT and Swing; components, containers and layout managers; anonymous inner classes.
Literature:
Read B&K 10.1-10.8 and 11.1-11.7.
Exercises:
As indicated on the lecture slides.
Evening:
no activities

Saturday 19 August

Day off - explore Copenhagen

Sunday 20 August

Guest lecturer: Anneke Kleppe: Model-driven architecture (MDA) and object constraint language (OCL).

Monday 21 August

Guest lecturer: Anneke Kleppe: Model-driven architecture (MDA) and object constraint language (OCL). 

Project selection.

Tuesday 22 August

Project work 

Wednesday 23 August

Project work 

Thursday 24 August

Presentation of the projects 

Course evaluation

Departure

Dina logoAuthor: phd@dina.kvl.dk. Updated: 10 august 2006