Object-Oriented Programming at the Johannes Kepler University Linz
Christoph Steindl, Hanspeter Mössenböck
Johannes Kepler University Linz
Institute for Practical Computer Science
Altenbergerstraße 69, A-4040 Linz
{steindl, mössenböck}@ssw.uni-linz.ac.at
Abstract
At the university of Linz, we teach object-oriented programming
to students in the 3rd semester. They have already attended a
course on introductory programming in an imperative language
(Oberon-2) and a programming practical in the same language.
The purpose of our OOP course is to show them how to use OOP
for structuring their programs for making them extensible.
We believe that OOP is "programming in the large" and should
be preceded by courses on "programming in the small". OOP is a
"packaging" technique that helps one to deliver the services of
a program in small packages (i.e.classes) with a well-defined
interface. Before one can build a package, however, one has know
how to build its contents. This is a non-trivial task, and it
doesn't have much to do with OOP.
Our OOP course has a special emphasis on design patterns.
Patterns are an ideal vehicle for teaching. Starting from a
convincing example, we can extract the reusable concept behind
it. Students will remember the example and therefore also the
concept behind it. By collecting several such examples the
students acquire expert experience, which would otherwise take
years to learn.
Our course is oriented on concepts and not on a particular
programming language. All the concepts such as data abstraction,
inheritance, dynamic binding, UML modeling, frameworks, design
patterns can be taught in a general form (mostly with a graphical
notation). Currently we us Oberon-2 as a programming language
because the students already were exposed to it in the previous
semesters. In the future we plan to switch to Java because the
introductory programming courses will also use Java.
Paper at the
ECOOP'99 Workshop on Introducing OO Design and Programming -
with Special Emphasis on Concrete Examples, Lisbon, Portugal,
June 14, 1999.
Published in
Lecture Notes in Computer Science ?? (pp. ??-??), ISBN ??, Springer-Verlag, 1999.
The copyright for this publication is held by Springer.
You can browse the position paper in html or click here to browse the slides of the presentation online.
|