Skip to main content

Teaching Basic Elements of OOP in School Informatics During Constructing Virtual Micro-worlds

  • 922 Accesses

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 10696)

Abstract

Object-oriented programming (OOP) is one of the most prevalent techniques of programming now. OO principles are also widely used in comprehensive software including user graphical interface. Although the benefit of early teaching OO concepts is advisable, it meets variety of difficulties and as a result no general consensus on this subject exists. The present paper by virtue of OOP instruction analysis proposes to include OO foundations as a topic into the school informatics course. The specific of the suggested method lies in a separation of OO principles from learning any concrete programming language like Java or C#: the original software tool was developed for these aims by the author. The tool acquaints pupils with OO concepts during construction from objects their own virtual world.

Keywords

  • OOP
  • Objects
  • School
  • Informatics
  • Courseware
  • Micro-worlds

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-319-71483-7_16
  • Chapter length: 12 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   54.99
Price excludes VAT (USA)
  • ISBN: 978-3-319-71483-7
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   69.99
Price excludes VAT (USA)
Fig. 1.
Fig. 2.
Fig. 3.

References

  1. Bennedsen, J.: Teaching and learning introductory programming – a model-based approach. Ph.D. thesis, Oslo University, Oslo (2008)

    Google Scholar 

  2. Bergin, J.: Fourteen Pedagogical Patterns. http://csis.pace.edu/~bergin/PedPat1.3.html

  3. Bergin, J., Roberts, J., Pattis, R., Stehlik, M.: Karel++: A Gentle Introduction to the Art of Object-Oriented Programming. Wiley, New York (1996)

    Google Scholar 

  4. Bruner, J.S.: The Process of Education. Harvard University Press, Cambridge (1960)

    Google Scholar 

  5. Brusilovsky, P., Calabrese, E., Hvorecky, J., Kouchnirenko, A., Miller, P.: Mini-languages: a way to learn programming principles. Educ. Inform. Tech. 2(1), 65–83 (1997). https://doi.org/10.1023/A:1018636507883

    Google Scholar 

  6. Daly, T., Wrigley, E.: Learning Java Through Alice 3, 2nd edn. CreateSpace Independent Publishing Platform, Charleston (2014)

    Google Scholar 

  7. Ehlert, A., Schulte, C.: Empirical comparison of objects-first and objects-later. In: 5th International Workshop on Computing Education Research (ICER 2009), pp. 15–26. ACM, New York (2009). https://doi.org/10.1145/1584322.1584326

  8. Eremin, E.: Software system to learn objects. In: 5th Annual SIGCSE/SIGCUE ITiCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE 2000), p. 188. ACM, New York (2000). https://doi.org/10.1145/343048.343212

  9. Holland, S., Griffiths, R. Woodman, M.: Avoiding object misconceptions. In: Miller, J.E. (ed.) 28th SIGCSE Technical Symposium on Computer Science Education (SIGCSE 1997), pp. 131–134. ACM, New York (1997). https://doi.org/10.1145/268084.268132

  10. Hubwieser, P.: Analysis of learning objectives in object oriented programming. In: Mittermeir, R.T., Sysło, M.M. (eds.) ISSEP 2008. LNCS, vol. 5090, pp. 142–150. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-69924-8_13

    CrossRef  Google Scholar 

  11. Kölling, M.: Introduction to Programming with Greenfoot Object-Oriented Programming in Java with Games and Simulations, 2nd edn. Pearson, Boston (2016)

    Google Scholar 

  12. Kölling, M., Rosenberg, J.: An object-oriented program development environment for the first programming course. In: Klee, K.J. (ed.) 27th SIGCSE Technical Symposium on Computer Science Education (SIGCSE 1996), pp. 83–87. ACM, New York (1996) https://doi.org/10.1145/236452.236514

  13. Kölling, M., Rosenberg, J.: BlueJ – The Hitchhiker’s Guide to Object Orientation. Maersk Mc-Kinney Moller Institute for Production Technology, University of Southern Denmark, Technical report no. 2 (2002)

    Google Scholar 

  14. Lister, R., Berglund, A., Clear, T., Bergin, J., Garvin-Doxas, K., Hanks, B., Hitchner, L., Luxton-Reilly, A., Sanders, K., Schulte, C., Whalley, J.L.: Research perspectives on the objects-early debate. In: Working Group Reports on ITiCSE on Innovation and Technology in Computer Science Education (ITiCSE-WGR 2006), pp. 146–165. ACM, New York (2006). https://doi.org/10.1145/1189215.1189183

  15. Mannila, L., de Raadt, M.: An objective comparison of languages for teaching introductory programming. In: 6th Baltic Sea Conference on Computing Education Research: Koli Calling 2006 (Baltic Sea 2006), pp. 32–37. ACM, New York (2006). https://doi.org/10.1145/1315803.1315811

  16. Meyer, B.: Towards an object-oriented curriculum. In: Ege, R., Singh, M., Meyer, B. (eds.) 11th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS 1993), pp. 585–594. Prentice-Hall, Upper Saddle River (1993)

    Google Scholar 

  17. Pears, A., Seidman, S., Malmi, L., Mannila, L., Adams, E., Bennedsen, J., Devlin, M., Paterson, J.: A survey of literature on the teaching of introductory programming. In: Carter, J., Amillo, J. (eds.) Working Group Reports on ITiCSE on Innovation and Technology in Computer Science Education (ITiCSE-WGR 2007), pp. 204–223. ACM, New York (2007). https://doi.org/10.1145/1345443.1345441

  18. Pecinovský, R.: OOP – Learn Object Oriented Thinking and Programming. Eva & Tomáš Bruckner Publishing, Řepín-Živonín (2013)

    Google Scholar 

  19. Proulx, V.K., Raab, J., Rasala, R.: Objects from the beginning - with GUIs. In: 7th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE 2002), pp. 65–69. ACM, New York (2002). https://doi.org/10.1145/544414.544436

  20. Ragonis, N., Ben-Ari, M.: On understanding the statics and dynamics of object-oriented programs. In: 36th SIGCSE Technical Symposium on Computer Science Education (SIGCSE 2005), pp. 226–230. ACM, New York (2005). https://doi.org/10.1145/1047344.1047425

  21. Ramalingam, V., Wiedenbeck, S.: An empirical study of novice program comprehension in the imperative and object-oriented styles. In: Wiedenbeck, S., Scholtz, J. (eds.) 7th Workshop on Empirical Studies of Programmers (ESP 1997), pp. 124–139. ACM, New York (1997). https://doi.org/10.1145/266399.266411

  22. Robins, A., Rountree, J., Rountree, N.: Learning and teaching programming: a review and discussion. Comput. Sci. Educ. 13(2), 137–172 (2003)

    CrossRef  Google Scholar 

  23. Sajaniemi, J., Kuittinen, M.: From procedures to objects: a research agenda for the psychology of object-oriented programming in education. Hum. Tech. 4(1), 75–91 (2008). https://doi.org/10.17011/ht/urn.200804151354

    CrossRef  Google Scholar 

  24. 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. In: 39th SIGCSE Technical Symposium on Computer Science Education (SIGCSE 2008), pp. 332–336. ACM, New York (2008). https://doi.org/10.1145/1352135.1352251

  25. Sorva, J., Seppälä, O.: Research-based design of the first weeks of CS1. In: 14th Baltic Sea Conference on Computing Education Research: Koli Calling 2014 (Baltic Sea 2014), pp. 71–80. ACM, New York (2014). https://doi.org/10.1145/2674683.2674690

  26. Tait, B.: Object orientation in educational software. Innov. Educ. Train. Int. 34(3), 167–173 (1997). https://doi.org/10.1080/1355800970340302

    CrossRef  Google Scholar 

  27. Tomek, I.: Microworlds for teaching concepts of object oriented programming. J. Univ. Comput. Sci. 6(1), 423–434 (1995). https://doi.org/10.1007/978-3-642-80350-5_35

    Google Scholar 

  28. Uysal, M.P.: The effects of objects-first and objects-late methods on achievements of OOP learners. J. Soft. Eng. Appl. 5(10), 816–822 (2012)

    CrossRef  Google Scholar 

  29. Xinogalos, S.: Object-oriented design and programming: an investigation of novices’ conceptions on objects and classes. Trans. Comput. Educ. 15(3), 1–21 (2015). Article 13. https://doi.org/10.1145/2700519

    CrossRef  Google Scholar 

  30. Xinogalos, S., Satratzemi, M., Dagdilelis, V.: An introduction to object-oriented programming with a didactic microworld: objectKarel. Comput. Educ. 47(2), 148–171 (2006). https://doi.org/10.1016/j.compedu.2004.09.005

    CrossRef  Google Scholar 

  31. Zhu, H., Zhou, M.: Methodology first and language second: a way to teach object-oriented programming. In: 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2003), pp. 140–147. ACM, New York (2003). https://doi.org/10.1145/949344.949389

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Evgeny A. Eremin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Verify currency and authenticity via CrossMark

Cite this paper

Eremin, E.A. (2017). Teaching Basic Elements of OOP in School Informatics During Constructing Virtual Micro-worlds. In: Dagienė, V., Hellas, A. (eds) Informatics in Schools: Focus on Learning Programming. ISSEP 2017. Lecture Notes in Computer Science(), vol 10696. Springer, Cham. https://doi.org/10.1007/978-3-319-71483-7_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-71483-7_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-71482-0

  • Online ISBN: 978-3-319-71483-7

  • eBook Packages: Computer ScienceComputer Science (R0)