
Dina Research School

Preliminary Programme
Daily schedule:
- 9.00:
- Morning lecture
- 10.30:
- Coffee break
- 11.00:
- Morning exercise
- 12.00:
- Lunch break
- 13.30:
- Afternoon lecture
- 14.30:
- Afternoon exercise
- 15.00:
- Coffee break
- 15.30:
- Afternoon exercise, continued
- 18.00:
- Dinner
- 20.00:
- Special topics (only a few evenings)
Monday 17 August
- Morning:
- Outline
Java programs (applications)
Using the Java editor, compiler and runtime systems
Expressions and values
Statements, stores and effects
Booleans, integers and reals
If - while
- Afternoon:
- Java applets and HTML
Using the applet viewer
The Java class libraries
Logic, switch, do-while, for
- Reading:
- Lewis & Loftus, Chapters 2, 3 and 5.3-5.4
Tuesday 18 August
- Morning:
- Strings, classes, objects, predefined classes, random numbers, static and dynamic
- Afternoon:
- Methods, parameters, overloading, recursion
- Reading:
- Lewis & Loftus, Chapters 4 and 12.
Wednesday 19 August
- Morning:
- Arrays, array processing, string processing
StringBuffer and efficiency considerations
- Afternoon:
- Graphics, colors, shapes
- Reading:
- Lewis & Loftus, Chapters 6 and 7.
Thursday 20 August
- Morning:
- Inheritance, subclasses, class hierarchy, polymorphism, visibility
- Afternoon:
- Abstract classes and interface
- Reading:
- Lewis & Loftus, Chapters 8 and 9.
Friday 21 August
- Morning:
- Graphical user interfaces: components, containers, lay-out managers
Frames and applets
- Afternoon:
- Graphical user interfaces, continued
Threads;
Preliminary discussion of programming projects
- Reading:
- Lewis & Loftus, Chapters 10 and 14.2.
Monday 24 August
- Morning:
- Object oriented design
- Afternoon:
- Object oriented programming, conceptually speaking
- Reading:
- Nygaard papers
Possibly Lewis & Loftus, Chapter 11
Tuesday 25 August
- Morning:
- Historical perspective: object orientation, Simula, C++, Java, Beta
Selection of programming projects
- Afternoon:
- Linear and binary search
Selection sort
Reasoning about correctness of loops
Reasoning about efficiency
- Reading:
- Sestoft 1.
Wednesday 26 August
- Morning:
- Quicksort, heapsort
Asymptotic complexity
Lower bounds
- Reading:
- Sestoft 1.
- Afternoon:
- Planning of programming project
Thursday 27 August
- Morning:
- Systematic software testing: white-box and black-box testing
- Reading:
- Sestoft 2.
- Afternoon:
- Project
Friday 26 August
- Morning:
- Project
- Afternoon:
- Remaining questions and problems
Summer school evaluation
Departure at 16.00
Other possible themes
- Servlets: Java on the web server. The Java webserver.
- Exceptions (L&L 14.1)
- Exhaustive search procedures: eight queens, maze, ...
- Network issues
- Interfacing Java to a relational data base (use PostgreSQL on ellemose, one database per student).
- Dictionaries (Hashtable).
- Dynamic data structures (implementing search trees, dictionaries)
- Interfacing Java to other languages (using C libraries and such).
- Numbers and numerical problems: L&L 5.1

Author: phd@dina.kvl.dk. Updated: 26 June 1998