11 Reads
·
20 Citations
The prevailing paradigm in teaching elementary program- ming uses Java as the first programming language and the "objects first" approach as the conceptual basis. This approach has several short- comings, 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 responsi- bility 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.