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
- Anneke Kleppe (AK)
- Gerhard Skagestein (GS)
- Peter Sestoft (PS)
Sunday 13 August:
- Arrival
- Accommodation
- Get together
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

Author:
phd@dina.kvl.dk. Updated:
10 august 2006