Technical Program
  Invited Speakers
  Technical Papers
  Practitioner Reports
Educators' Symposium
Doctoral Symposium
Student Research Comp.
Turing Lecture
Social Events
Week at a Glance
Final Program (1.5M .pdf)

Find in Program


view, help
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
  > Educators' Symposium

 : Monday

New Ideas for Old Problems

Ballroom C
Monday, 10:30, 1 hour 30 minutes


"Objects First, Interfaces Next" or Interfaces before Inheritance
Axel Schmolitzky
University of Hamburg

Objects first is a pedagogy that tries to introduce the core concepts of object-oriented programming—classes, objects, and methods—as early as possible in a programming course, even before variables, types, assignments and control structures are explicitly introduced. The concept of a named interface is typically introduced at a much later stage, usually in connection with inheritance, polymorphism, and abstract classes. In this paper we point out that interfaces as a language mechanism can be introduced much earlier, even before inheritance. This way the concept of an explicit class interface can be decoupled from the more complicated issues of inheritance and subtype-polymorphism.

Ancestor Worship in CS1: On the Primacy of Arrays
Phil Ventura
State University of West Georgia

Christopher Egert
University at Buffalo, SUNY

Adrienne Decker
University at Buffalo, SUNY

History has given us the array as the fundamental data structure to present to students within the CS1 curriculum. However, with the recent growth in popularity of object-oriented languages for CS1 (C++, Java, C#), and with that, the acceptance of the Objects-First or Objects-Early approach to teaching CS1, it becomes imperative that we re-evaluate our long-held beliefs about what is appropriate to teach. It is our position that the first data structure that students are exposed to should not be arrays, but rather some other form of collection. We will give some examples of how to use java.util.HashMap and some of the other Java Collections classes in substitution of arrays. We also present data concerning the academic performance of students using arrays versus those using Java Collections for CS1 lab exercises.

greenfoot: Combining Object Visualisation with Interaction
Michael Kölling
University of Southern Denmark

Poul Henriksen
University of Southern Denmark

The introduction of programming education with object-oriented languages slowly migrates down the curriculum and is now often introduced at the high school level. This migration requires teaching tools that are adequate for the intended target audience. In this paper, we present a new tool, named greenfoot, for teaching object-oriented programming aimed at students at or below college level, with special emphasis of supporting school age learners. Greenfoot was designed by analysing and combining the most beneficial aspects of several existing tools. It aims at combining the simplicity and visual appeal of microworlds with much of the flexibility and interaction of BlueJ. To achieve its goals of providing a suitable learners? environment, greenfoot provides a meta-framework that allows easy creation of different, significantly varied microworlds.

Activity Session: Predicting the Future of OO Teaching by Inventing It
Details to follow...