![]()
Object-oriented programming was invented by Kristen Nygaard and Ole-Johan Dahl at Norsk Regnesentral nearly four decades ago, along with the first object-oriented programming language, Simula 67. Over the past twenty years, object-oriented analysis, design and programming have become the dominant approaches to software model building and software construction worldwide.
For instance, modern industrial-strength programming languages such as Java (developed by Sun Microsystems) and C# (developed by Microsoft Corporation) are object-oriented at their very core. The Java programming language now is the preferred instruction language at universities in Europe and the United States, and is widely used in the software industry. C# is likely to become equally widely used, as the future main programming language on the ubiquitous Microsoft Windows platform.
However, object-oriented software construction is much more than programming. Along with the rise of object-oriented programming, notations and tools for object-oriented analysis and design of software have been developed by researchers in the United States as well as Europe. The Nordic countries - represented by people such as Nygaard, Stroustrup, Jacobson, Hejlsberg, Bak and many others - have continued to play a significant role on many levels.
Knowledge of these notations and tools is valuable to researchers who need to build software models to describe or simulate some part of reality, as is frequently the case in the agricultural sciences.
The course introduces object-oriented software development and
object-oriented programming from the ground up. It presents concepts and tools
for requirements capture, object-oriented analysis and design, and a concrete
programming language (Java) in which to implement these designs.
The course teaches how to describe software using Unified Modeling Language (UML)
and its Object Constraints Language (OCL), and other state of the art concepts
and graphical notations. Moreover, it presents modern tools to create and
manipulate such descriptions.
Some case studies of such models, drawn from agricultural or environmental problems, will be presented.
The international invited lecturer is an expert in and co-developer of model-driven development, a recent and promising trend in object-oriented software development. The central goal of this work is to use visual models to describe software systems and also to automatically generate parts of the systems directly from the models.
The course includes lectures and exercises, and a 2.5-day project in which the participants analyse, design and implement a software model, preferably related to their own area of research.
After the course, participants will know the most important concepts and notations in object-oriented modelling and software construction. The participant will be able to apply these concepts to the modeling of a given phenomenon, such as livestock management or the growth and thinning of tree stands, and will be able to participate in the construction of object-oriented software to model such processes.
This summer school will focus on the following main topics:
PhD students and other researchers, primarily within the agricultural and biological sciences, who consider creating software models of their area of study, for instance for purposes of simulation.
Participants must be used to working with computers (such as text processing, spreadsheets, possibly web development) but need not have any prior programming experience, nor experience with concepts of object-orientation.
Anneke Kleppe, Klasse Objecten, Soest, the Netherlands. Anneke Kleppe is an expert on and co-developer of the Object Constraints Language (OCL), is involved in the standardization of Model-Driven Architecture (MDA), and is the author or co-author of several books on Unified Modeling Language (UML) and MDA.
Peter Sestoft, The Royal Veterinary and Agricultural University and the IT University of Copenhagen, and Gerhard Skagestein, University of Oslo.
Anders Ringgaard Kristensen, The Royal Veterinary and Agricultural University of Denmark.
Lectures alternating with intensive use of computer exercises. The availability of network connected computers is therefore essential for the benefit of the students. The material will be illustrated with various case studies. A two-day project is carried out by the students at the end of the course (individually or preferably in small groups).
Examination (pass/no-pass) will be based on a written project report handed in at the end of the course in combination with an oral presentation. The course has been approved by KVL, and the number of credits is 6 ECTS.
![]()