Kristen Nygaard
Professor, University of Oslo & Consultant at the Norwegian Computing Center

<bigwig> service: jaoo Creator of SIMULA and Object-Oriented Programming

Kristen Nygaard developed, together with Ole-Johan Dahl, SIMULA I (1961-65) and SIMULA 67 - the first object oriented programming languages, introducing the concepts upon which all later object-oriented programming languages are built: Objects, classes, inheritance, virtual quantities and multi-threaded (quasi-parallel) program execution.

He did research for Norwegian trade unions on planning, control, and data processing, all evaluated in light of the objectives of organised labour (1971-1973). Other research and development work included: the social impact of computer technology, and the general system description language DELTA (1973-1975).

Kristen Nygaard was working at the Norwegian Defense Research Establishment (1948-60), was Director of Research at the Norwegian Computing Center (1960-84), professor in Aarhus, Denmark (1975-1976) and then professor in Oslo (1977-1996). In 1987 he was Visiting Professor at Stanford University, Palo Alto, USA, Visiting Scientist at Xerox PARC in Palo Alto and a consultant and lecturer at Apple's Advanced Technology Group.

He is Doctor Honoris Causa at Lund University, Sweden, and Aalborg University, Denmark. The American association Computer Professionals for Social Responsibility has awarded him its Norbert Wiener Prize for “responsibility in social and professional work". He was awarded Computerworld's honorary prize for "having made Norway known internationally in the information technology field", and became - together with Ole-Johan Dahl - the first to receive the Rosing Prize. He was awarded a Honorary Fellowship for "his originating of object technology concepts" by the Object Management Group, the international standardisation organisation within object-orientation. He is Commander of the Order of Saint Olav.

From 1976 he has been engaged in the development and (since 1986) the implementation of the general object oriented programming language BETA together with Bent Bruun Kristensen, Ole Lehrmann Madsen and Birger Møller-Pedersen (all having their degrees from Århus University). The language is available on a wide range of computers.

Kristen Nygaard's research 1995-1999 was related to distributed systems. He was the leader of GOODS project (General Object-Oriented Distributed Systems), aiming at enriching object-oriented languages and system development methods by new basic concepts that make it possible to describe the relation between layered and/or distributed programs and the hardware and people carrying out these programs.

Kristen Nygaard's current interests are directed towards the didactical aspects of the teaching of introductory programming and system comprehension, and towards contributions to the creation of a unifying platform for informatics as a science. He is giving lectures and courses on these subjects internationally. He is now heading a team proposing a three year research project named COOL (Comprehensive Object-Oriented Learning) addressing these issues.

Other Activities

Kristen Nygaard has been active in Norwegian politics. He was from the start in 1988 till the victory in the referendum on 28. November 1994 the chairperson of "Nei til EU" (No to European Union Membership for Norway), coordinating the efforts to keep Norway outside the EU, and then the largest political organisation in Norway.

Home Page:

Presentation, Tuesday [15:45 - 16:30]

"Object Orientation Is Easy to Learn, But Seldom Taught"

Teaching OO

Object-orientation is now the dominant style in programming, taught at introductory level everywhere. Students complain that OO is difficult to learn. The reason is that also few teachers and text-book authors do understand OO properly. They usually start with "sufficiently simple examples", introducing the calculation/algorithm view of what computing is about.Object-orientation is something "advanced", only presented later in a course, when the students' thinking is already thoroughly brainwashed by the older view.

Object-orientation was invented to tackle complexity, involving many interacting components. For this reason a course should start with a "sufficiently complex example", making it from the very outset necessary to introduce the fundamental concepts of object-oriented programming: Objects, classes, inheritance, virtual quantities and multi-threaded (quasi-parallel) program execution. Algorithms are also important, but they belong later in a modern programming course.

Most students will use their programming knowledge in the context of existing or planned information systems. This implies that system development and system experimentation are important aspects of informatics and that system comprehension should be taught as an integral part of even introductory courses.

Tutorial, Thursday [9:00 - 16:30]

"Object-Oriented Reasoning and Working Style"

The tutorial is built upon the pedagogical approach outlined i Kristen Nygaard's presentation on Tuesday, as described above. It introduces all basic concepts in object-orientation: Objects, classes, inheritance, virtual quantities and multi-threaded (quasi-parallel) program execution.The first example is well known to everyone, and is followed by discussion of precise definitions.

Being a one-day tuorial, it is not a programming language course. The purpose is instead to introduce people to reasoning, analysing and designing in a truly object-oriented way. This is necessary in order to get the benefits from this style of system development. With the traditional pedagogical approach used in teaching object-oriented programming, most students continue to think and program in the traditional, calculation/algorithm-oriented way, even if they are using a new, object-oriented language.


Object Orientation Is Easy to Learn, But Seldom Taught (Best Practise, Managing Software Projects)
Kristen Nygaard, University of Oslo & Consultant at the Norwegian Computing Center
Tuesday [15:45 - 16:30] Conference Hall

Next speaker Pil