Teaching Object-Oriented Design and Programming
This is an expanded form of the paper: ``Contributions to teaching object-oriented design and programming'', with Arthur Riel, Proceedings of Conference on Object-Oriented Programming Systems, Languages and Applications, New Orleans, LA, October 1989, pp 11-22.

Abstract: We provide a formal agenda for teaching the object-oriented paradigm in a programming language independent manner, and a tool which supports our teaching approach. Our proposal for a comprehensive study of the subject includes an ordered set of objectives designed to guide the uninitiated user from zero knowledge about object-oriented programming through class definitions, inheritance, subtyping, and the parameterization of classes. This set of graded objectives provides both a useful metric for gauging a student's progress, and a facility through which users can begin their studies at a level commensurate with their experience.

Seven years later, the material appeared in the first book on adaptive programming.

Bibtex entry:

@INPROCEEDINGS{stepping-stones:teach,
TITLE = "Contributions to Teaching Object-Oriented Design and
Programming",
AUTHOR = "Karl J. Lieberherr and Arthur J. Riel",
YEAR = 1989,
PAGES = "11-22",
BOOKTITLE = oopsla,
MONTH = "October"
}

Paper in Postscript (oopsla89.ps) and Latex Source (ss.tex)