Jump to ContentJump to Main Navigation
Show Summary Details
More options …

it - Information Technology

Methods and Applications of Informatics and Information Technology

Editor-in-Chief: Conrad, Stefan / Molitor, Paul

6 Issues per year

Online
ISSN
2196-7032
See all formats and pricing
More options …
Volume 60, Issue 2

Issues

Object orientation in the literature and in education

Marc Berges
Published Online: 2018-03-22 | DOI: https://doi.org/10.1515/itit-2017-0013

Abstract

The efforts around the world – CS4All in the U.S. or Computing At School in Great Britain – show that computing literacy is seen as important. One important part of computer science education deals with learning programming. So, object orientation should be in focus. But what is object orientation? Several different definitions are presented, and a definition of object orientation by its fundamental concepts is introduced. Furthermore, several educational “paradigms” are discussed. Additionally, a choice of object-oriented programming languages is presented. After all that theoretical background, some exemplary implementations of object orientation in national (German) and international curricula are shown. All in all, the article provides a broad overview of the topic of object-oriented programming in computer science education.

Keywords: Object orientation; object-oriented programming; computer science education

References

  • 1.

    Kernlehrplan für die Sekundarstufe II Gymnasium/Gesamtschule in Nordrhein-Westfalen: Informatik, 2014.

  • 2.

    ACM/IEEE-CS Joint Task Force on Computing Curricula. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science, 2013.

  • 3.

    J. Adams and J. Frens. Object centered design for Java: Teaching OOD in CS-1. In Proceedings of the 34th SIGCSE technical symposium on Computer science education, pages 273–277, New York, 2003. ACM Press.Google Scholar

  • 4.

    D. J. Armstrong. The quarks of object-oriented development. COMMUNICATIONS OF THE ACM, 49(2):123–128, 2006.CrossrefGoogle Scholar

  • 5.

    Bayerisches Staatsministerium für Unterricht und Kultus. Lehrplan für das Gymnasium in Bayern: Informatik, 2004.

  • 6.

    J. Bennedsen, M. E. Caspersen, and M. Kölling. Reflections on the teaching of programming: Methods and implementations, volume 4821 of Lecture notes in computer science State-of-the-art survey. Springer, Berlin and New York, 2008.Google Scholar

  • 7.

    M.-P. Berges. Object-Oriented Programming through the Lens of Computer Science Education. Dissertation, Technische Universität München, München, 2015.Google Scholar

  • 8.

    A. P. Black. Object-oriented programming: some history, and challenges for the next fifty years. Journal Information and Computation, 231:3–20, 2013.CrossrefGoogle Scholar

  • 9.

    G. Blair. Object-oriented languages, systems and applications. Pitman, London, 1991.Google Scholar

  • 10.

    G. Booch, J. Rumbaugh, and I. Jacobson. The unified modeling language user guide. Addison-Wesley, Reading, 1999.Google Scholar

  • 11.

    T. Brinda, H. Puhlmann, and C. Schulte. Bridging ICT and CS: Educational Standards for Computer Science in Lower Secondary Education. In Proceedings of the 14th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, pages 288–292, New York, 2009. ACM Press.Google Scholar

  • 12.

    L. Cardelli and P. Wegner. On Understanding Types, Data Abstraction, and Polymorphism. ACM COMPUTING SURVEYS, 17(4):471–523, 1985.CrossrefGoogle Scholar

  • 13.

    H. B. Christensen. Implications of perspective in teaching objects first and object design. In Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education, pages 94–98, New York, 2005. ACM Press.Google Scholar

  • 14.

    S. Cooper, W. Dann, and R. Pausch. Teaching objects-first in introductory computer science. In Proceedings of the 34th SIGCSE technical symposium on Computer science education, pages 191–195, New York, 2003. ACM Press.Google Scholar

  • 15.

    O.-J. Dahl and K. Nygaard. SIMULA: an ALGOL-based simulation language. COMMUNICATIONS OF THE ACM, 9(9):671–678, 1966.CrossrefGoogle Scholar

  • 16.

    O.-J. Dahl and K. Nygaard. Class and subclass declarations. In J. N. Buxton, editor, Simulation Programming Languages, pages 158–174, Amsterdam, 1967.Google Scholar

  • 17.

    A. Decker. A tale of two paradigms. Journal of Computing Sciences in Colleges, 19(2):238–246, 2003.Google Scholar

  • 18.

    R. Decker and S. Hirshfield. The top 10 reasons why object-oriented programming can’t be taught in CS 1. In Proceedings of the 25th SIGCSE symposium on Computer science education, pages 51–55, New York, 1994. ACM Press.Google Scholar

  • 19.

    T. DeClue. Object-orientation and the principles of learning theory: a new look at problems and benefits. In Proceedings of the 27th SIGCSE technical symposium on Computer science education, pages 232–236, New York, 1996. ACM Press.Google Scholar

  • 20.

    P. J. Deitel and H. M. Deitel. Java: How to program. Prentice Hall, Upper Saddle River, 9th edition, 2012.Google Scholar

  • 21.

    I. Diethelm. “Strictly models and objects first”: Unterrichtskonzept und -methodik für objektorientierte Modellierung im Informatikunterricht. Dissertationsschrift, Universität Kassel, Kassel, 2007.Google Scholar

  • 22.

    A. Eckerdal, R. McCartney, J. E. Moström, M. Ratcliffe, K. Sanders, and C. Zander. Putting threshold concepts into context in computer science education. In Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education, pages 103–107, New York, 2006. ACM Press.Google Scholar

  • 23.

    E. Frey, P. Hubwieser, and F. Winhard. Informatik 1: Objekte, Strukturen, Algorithmen. Klett, Stuttgart, 2004.Google Scholar

  • 24.

    D. Garcia, B. Harvey, and T. Barnes. The beauty and joy of computing. ACM Inroads, 6(4):71–79, 2015.CrossrefGoogle Scholar

  • 25.

    Gesellschaft für Informatik (GI). Grundsätze und Standards für die Informatik in der Schule: Bildungsstandards Informatik für die Sekundarstufe I. LOGIN, 28(150/151), 2008.Google Scholar

  • 26.

    Gesellschaft für Informatik (GI). Bildungsstandards Informatik für die Sekundarstufe II. LOGIN, 36(183/184), 2016.Google Scholar

  • 27.

    B. Henderson-Sellers. A book of object-oriented knowledge – Object-oriented analysis, design, and implementation: a new approach to software engineering. Prentice Hall object-oriented series. Prentice Hall, New York, 1992.Google Scholar

  • 28.

    P. Hubwieser. Functions, objects and states: Teaching informatics in secondary schools. In R. Mittermeir, editor, Informatics Education – The Bridge between Using and Understanding Computers, Lecture Notes in Computer Science, pages 104–116, Berlin, 2006. Springer.Google Scholar

  • 29.

    P. Hubwieser. Tabellenkalkulationssysteme, Datenbanken, volume 2 of Informatik. Klett, Stuttgart, 2007.Google Scholar

  • 30.

    P. Hubwieser. Algorithmen, objektorientierte Programmierung, Zustandsmodellierung, volume 3 of Informatik. Klett, Stuttgart, 2008.Google Scholar

  • 31.

    P. Hubwieser. Rekursive Datenstrukturen, Softwaretechnik, volume 4 of Informatik. Klett, Stuttgart, 2009.Google Scholar

  • 32.

    P. Hubwieser. Formale Sprachen, Kommunikation und Synchronisation von Prozessen, Funktionsweise eines Rechners, Grenzen der Berechenbarkeit, volume 5 of Informatik. Klett, Stuttgart, 2010.Google Scholar

  • 33.

    P. Hubwieser. Computer Science Education in Secondary Schools – The Introduction of a New Compulsory Subject. ACM Transactions on Computing Education, 12(4):1–41, 2012.CrossrefGoogle Scholar

  • 34.

    J. L. Knudsen and O. L. Madsen. Teaching Object-Oriented Programming Is More than Teaching Object-Oriented Programming Languages. In Proceedings of the European Conference on Object-Oriented Programming, Lecture Notes in Computer Science, pages 21–40. Springer-Verlag, London, 1988.Google Scholar

  • 35.

    M. Kölling, N. C. C. Brown, and A. Altadmri. Frame-Based Editing: Easing the Transition from Blocks to Text-Based Programming, 2015.Google Scholar

  • 36.

    M. Kölling and J. Rosenberg. An Object-Oriented Program Development Environment for the First Programming Course. In Proceedings of the 27th SIGCSE technical symposium on Computer science education, pages 83–87, New York, 1996. ACM Press.Google Scholar

  • 37.

    J. Lewis. Myths about Object-Orientation and its Pedagogy. In Proceedings of the 31st SIGCSE technical symposium on Computer science education, pages 245–249, New York, 2000. ACM Press.Google Scholar

  • 38.

    B. Meyer. Reusability – The Case for Object-Oriented Design. IEEE SOFTWARE, 4(2):50–64, 1987.CrossrefGoogle Scholar

  • 39.

    B. Meyer. Applying ’design by contract’. Computer, 25(10):40–51, 1992.CrossrefGoogle Scholar

  • 40.

    B. Meyer. Object-oriented software construction. Prentice Hall, Upper Saddle River, 2nd edition, 2009.Google Scholar

  • 41.

    A. Pears, S. Seidman, L. Malmi, L. Mannila, E. Adams, J. Bennedsen, M. Devlin, and J. Paterson. A survey of literature on the teaching of introductory programming. In Working group reports on ITiCSE on Innovation and technology in computer science education, Working Group Reports, pages 204–223, New York, 2007. ACM Press.Google Scholar

  • 42.

    K. Quibeldey-Cirkel. Das Objekt, Paradigma in der Informatik. Teubner, Stuttgart, 1994.Google Scholar

  • 43.

    M. B. Rosson and S. R. Alpert. The cognitive consequences of object-oriented design. Human-Computer Interaction, 5(4):345–379, 1990.CrossrefGoogle Scholar

  • 44.

    M. Saeli, J. Perrenet, Wim M. G. Jochems, and B. Zwaneveld. Teaching programming in secondary school: A pedagogical content knowledge perspective. Informatics in Education, 10(1):73–88, 2011.Google Scholar

  • 45.

    C. Schulte. Reflections on the Role of Programming in Primary and Secondary Computing Education. In Proceedings of the 8th Workshop in Primary and Secondary Computing Education, pages 17–24, New York, 2013. ACM.Google Scholar

  • 46.

    R. W. Sebesta, S. Mukherjee, and A. K. Bhattacharjee. Concepts of programming languages. Pearson, Boston, 10th edition, 2013.Google Scholar

  • 47.

    R. Sethi. Programming Languages: Concepts and Constructs. Addison-Wesley, Boston, 2nd edition, 2003.Google Scholar

  • 48.

    Ständige Kultuministerkonferenz. Einheitliche Prüfungsanforderungen Informatik, 2004.

  • 49.

    The CSTA Standards Task Force. CSTA K-12 Computer Science Standards.

  • 50.

    P. van Roy, J. Armstrong, M. Flatt, and B. Magnusson. The role of language paradigms in teaching programming. In Proceedings of the 34th SIGCSE technical symposium on Computer science education, pages 269–270, New York, 2003. ACM Press.Google Scholar

  • 51.

    P. Wegner. Concepts and paradigms of object-oriented programming. SIGPLAN OOPS Messenger, 1(1):7–87, 1990.CrossrefGoogle Scholar

  • 52.

    A. Wren. Relationships for object-oriented programming languages.

About the article

Marc Berges

Marc Berges is senior researcher at the professorship for computer science education at the Technical University of Munich. He finished his doctoral in 2015 on object-oriented programming in computer science education. His current research focuses on teacher competences in programming education.


Received: 2017-08-06

Revised: 2017-12-18

Accepted: 2018-01-25

Published Online: 2018-03-22

Published in Print: 2018-04-25


Citation Information: it - Information Technology, Volume 60, Issue 2, Pages 69–77, ISSN (Online) 2196-7032, ISSN (Print) 1611-2776, DOI: https://doi.org/10.1515/itit-2017-0013.

Export Citation

© 2018 Walter de Gruyter GmbH, Berlin/Boston.Get Permission

Comments (0)

Please log in or register to comment.
Log in