<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
Research Establishment (1948-60), was
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
He is Doctor Honoris Causa at Lund
and Aalborg University, Denmark. The
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
"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
and (since 1986) the implementation of
object oriented programming language
with Bent Bruun Kristensen, Ole Lehrmann
Birger Møller-Pedersen (all having their
Århus University). The language is
available on a wide range of computers.
Kristen Nygaard's research 1995-1999 was
distributed systems. He was the leader of
project (General Object-Oriented
aiming at enriching object-oriented
system development methods by new
that make it possible to describe the
layered and/or distributed programs and
and people carrying out these programs.
Kristen Nygaard's current interests are
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.
Kristen Nygaard has been active in
He was from the start in 1988 till the
victory in the
referendum on 28. November 1994 the
"Nei til EU" (No to European Union
Norway), coordinating the efforts to keep
Norway outside the EU, and then the
largest political organisation in Norway.
Home Page: http://www.ifi.uio.no/~kristen/index.html
Presentation, Tuesday [15:45 - 16:30]
"Object Orientation Is Easy to Learn, But Seldom Taught"
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
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]