Editorial: Learning and Teaching Object Technology
暂无分享,去创建一个
Ten years ago very few universities or colleges ran courses in object technology, but nowadays, the object-oriented paradigm is taught in most computer science curricula. Transitioning to object-oriented problem solving and programming has, however, proved to be more difficult than expected and many educators have experienced for themselves that moving to the object-oriented paradigm is not just a matter of changing programming languages. While debate may continue about whether or not a ‘paradigm shift’ is required, many people needing to adopt the object approach to development have found the transition hard. But why has learning and teaching object technology proved to be this tough? One reason may lie with the traditional approach to learning about software development. It has been quite common to take a reductionist approach rather than a holistic one, that is, an approach where specific notations and concepts are taught (or learned) individually, and are gradually integrated, rather than taking an integrated perspective from the beginning. Learning about objects requires the latter. For example, introductory programming is often taught in a bottom-up style, one syntactical feature at a time, successively building up larger structures. In this approach, the treatment of abstract concepts like modularization and data types can be delayed until more advanced courses. In the object-oriented paradigm, however, there are several concepts that need to be handled early on, for example, variable, value, type, object and class. To make things worse these concepts are tightly interrelated, so it is difficult to discuss them in isolation. This makes object-oriented languages more complex than procedural languages and therefore more difficult to teach
[1] Françoise Détienne,et al. Software Design — Cognitive Aspects , 2001, Practitioner Series.
[2] Helen Sharp,et al. The effect of previous software development experience on understanding the object-oriented paradigm , 1999 .
[3] Acm Ieee-Cs Joint Curriculum Task Force. Computing Curricula 2001: Computer Science , 2002 .