Object-Oriented Modeling of Object-Oriented Concepts

A Case Study in Structuring an Educational Domain
  • Michela Pedroni
  • Bertrand Meyer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5941)


Teaching introductory object-oriented programming presents considerable challenges. Some of these challenges are due to the intrinsic complexity of the subject matter — object-oriented concepts are tightly interrelated and appear in many combinations. The present work describes an approach to modeling educational domains and reports on the results for object-orientation. It analyzes the dependency structure of object-oriented concepts and describes the implications that the high interrelatedness of concepts has on teaching introductory programming.


Core Group Feature Call Information Hiding System Execution Primitive Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    McGettrick, A., Boyle, R., Ibbett, R., Lloyd, J., Lovegrove, G., Mander, K.: Grand Challenges in Computing: Education A Summary. The Computer Journal 48(1), 42–48 (2005)CrossRefGoogle Scholar
  2. 2.
    Bennedsen, J., Caspersen, M.E., Kölling, M.: Reflections on the Teaching of Programming. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  3. 3.
    Linn, M.C., Dalbey, J.: Cognitive consequences of programming instruction. Studying the Novice Programmer, pp. 57–81. Lawrence Erlbaum Associates, Mahwah (1989)Google Scholar
  4. 4.
    Pedroni, M., Oriol, M., Meyer, B.: A framework for describing and comparing courses and curricula. SIGCSE Bull. 39(3), 131–135 (2007)CrossRefGoogle Scholar
  5. 5.
    Meyer, B.: Testable, reusable units of cognition. IEEE Computer 39(4), 20–24 (2006)Google Scholar
  6. 6.
    Pedroni, M., Oriol, M., Meyer, B., Albonico, E., Angerer, L.: Course management with TrucStudio. In: ITiCSE 2008: Proceedings of the 13th annual conference on Innovation and technology in computer science education, pp. 260–264. ACM, New York (2008)CrossRefGoogle Scholar
  7. 7.
    Armstrong, D.J.: The quarks of object-oriented development. Commun. ACM 49(2), 123–128 (2006)CrossRefGoogle Scholar
  8. 8.
    Sanders, K., Boustedt, J., Eckerdal, A., McCartney, R., Moström, J.E., Thomas, L., Zander, C.: Student understanding of object-oriented programming as expressed in concept maps. SIGCSE Bull. 40(1), 332–336 (2008)CrossRefGoogle Scholar
  9. 9.
    Novak, J.D., Cañas, A.J.: The theory underlying concept maps and how to construct them. Technical report, IHMC CmapTools, Florida Institute for Human and Machine Cognition (January 2006)Google Scholar
  10. 10.
    Schulte, C., Bennedsen, J.: What do teachers teach in introductory programming? In: ICER 2006: Proceedings of the second international workshop on Computing education research, pp. 17–28. ACM, New York (2006)CrossRefGoogle Scholar
  11. 11.
    Milne, I., Rowe, G.: Difficulties in learning and teaching programming - views of students and tutors. Education and Information Technologies 7(1), 55–66 (2002)CrossRefGoogle Scholar
  12. 12.
    Dale, N.: Content and emphasis in CS1. SIGCSE Bull. 37(4), 69–73 (2005)CrossRefGoogle Scholar
  13. 13.
    The Joint Task Force on Computing Curricula: Computing Curricula 2001 (final report). Technical report, ACM and IEEE (December 2001),
  14. 14.
    Gries, D.: A principled approach to teaching OO first. SIGCSE Bull. 40(1), 31–35 (2008)CrossRefMathSciNetGoogle Scholar
  15. 15.
    Shultz, G.: Using a restricted subset of Java in the first part of CS1. J. Comput. Small Coll. 23(1), 212–218 (2007)Google Scholar
  16. 16.
    Schwill, A.: Fundamental ideas in computer science. Bulletin European Association for Theoretical Computer Science 53, 274–295 (1994)zbMATHGoogle Scholar
  17. 17.
    Meyer, B.: The outside-in method of teaching introductory programming. In: Broy, M., Zamulin, A.V. (eds.) PSI 2003. LNCS, vol. 2890, pp. 66–78. Springer, Heidelberg (2004)Google Scholar
  18. 18.
    Pedroni, M., Meyer, B.: The inverted curriculum in practice. In: SIGCSE 2006: Proceedings of the 37th SIGCSE technical symposium on Computer science education, pp. 481–485. ACM Press, New York (2006)CrossRefGoogle Scholar
  19. 19.
    Bennedsen, J., Caspersen, M.: Model-Driven Programming. In: Reections on the Teaching of Programming, pp. 116–129. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  20. 20.
    George, C.E.: Erosi – visualising recursion and discovering new errors. SIGCSE Bull. 32(1), 305–309 (2000)CrossRefGoogle Scholar
  21. 21.
    Hristova, M., Misra, A., Rutter, M., Mercuri, R.: Identifying and correcting Java programming errors for introductory computer science students. SIGCSE Bull. 35(1), 153–156 (2003)Google Scholar
  22. 22.
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)zbMATHGoogle Scholar
  23. 23.
    Meyer, B.: Touch of class: Learning to program well with objects and contracts. Springer, Heidelberg (2009)Google Scholar
  24. 24.
    Ng Cheong Vee, M.-H., Meyer, B., Mannock, K.L.: Empirical study of novice errors and error paths in object-oriented programming. In: 7th Annual HEA-ICS conference, Dublin, Ireland (2006)Google Scholar
  25. 25.
    Ragonis, N., Ben-Ari, M.: On understanding the statics and dynamics of object-oriented programs. SIGCSE Bull. 37(1), 226–230 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Michela Pedroni
    • 1
  • Bertrand Meyer
    • 1
  1. 1.Chair of Software EngineeringETH ZurichSwitzerland

Personalised recommendations