From Procedures to Objects: What Have We (Not) Done?

Jorma Sajaniemi; Marja Kuittinen

Programming education has experienced a shift from imperative and procedural programming to object-orientation. This shift has been motivated by educators’ desire to please information technology industry and potential stu- dents; it is not motivated by psychology of programming nor by computer sci- ence education research—there are practically no results that would indicate that such a shift is desirable, needed in the first place, or even effective for learning programming. Moreover, there has been an implicit assumption that classic re- sults on imperative and procedural programming education and learning apply to OO programming, also, but we argue that this is not the case and, therefore, call for systematic research into the fundamental cognitive and educational issues in learning and teaching OO programming.

In order to understand the huge shift from imperative and procedural program- ming to object-orientation, we compare these paradigms at three levels: notations of languages, the notional machine that describes how programs are executed, and the orientation of a paradigm describing what programs are for and what can be done with them. We will also review research literature and see how it sup- ports our claims. Finally, we present a research agenda intended to improve the understanding of OO programming and OO programming education. 

Type of Publication: Paper
Conference: PPIG 2007 - 19th Annual Workshop
Publication Year: 2007
Paper #: 8
TitleFrom Procedures to Objects: What Have We (Not) Done?
Publication TypePaper
AuthorsSajaniemi, J, Kuittinen, M
PPIG Workshop: 
2007-07-19th