Sajaniemi J., Hu C. (2006)
Teaching Programming: Going beyond "Objects First"
P. Romero, J. Good, S. Bryant, E. A. Chaparro (eds.) Proceedings of the 18th Annual Workshop of the Psychology of Programming Interest Group (PPIG2006), Brighton, U.K., September 2006, University of Sussex, 255-265.
Abstract: The prevailing paradigm in teaching elementary programming uses Java as the first programming language and the objects first approach as the conceptual basis. This approach has several shortcomings, e.g., high drop-out rates and poor skills in basic constructs like loops. This paper suggests an alternative approach that combines a strong start in basic constructs with early object-orientation. The key idea of our approach is to start with concepts that are common to both procedural and object-oriented programming, i.e., basic control and data structures and a simple form of the interplay between responsibility and implementation. Only then various abstraction mechanisms procedural, functional, object-oriented, and data as well as the interplay between responsibility and implementation in these abstractions will be introduced. The alternative approach is also compared with the ACM Computing Curricula.
Last updated: September 12, 2006