Abstract
The Logo programming language implements a virtual drawing machine —the turtle machine. The turtle machine is well-known for giving students an intuitive understanding of fundamental, procedural programming principles. In this chapter we present our experiences with resurrecting the Logo turtle in a new object-oriented way and using it in an introductory object-oriented programming course. While, at the outset, we wanted to achieve the same qualities as the original turtle (understanding of state, control flow, instructions), we realized that the concept of turtles is well-suited for teaching a whole range of fundamental principles. We have successfully used turtles to give students an intuitive understanding of central object-oriented concepts and principles such as object, class, message passing, behaviour, object identification, inheritance, and recursion. Finally, we have used turtles to show students the use of abstraction in practice because the turtle package, at a late stage in the course, becomes a handy graphics library used in a context otherwise unrelated to the turtles.
This chapter is based on Michael E. Caspersen and Henrik Bærbak Christensen. Here, there and everywhere — on the recurring use of turtle graphics in CS1. In ACSE ’00: Proceedings of the Australasian conference on Computing education, Melbourne, Australia, 2000, pp. 34–40.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Caspersen, M.E., Christensen, H.B. (2008). CS1: Getting Started. In: Bennedsen, J., Caspersen, M.E., Kölling, M. (eds) Reflections on the Teaching of Programming. Lecture Notes in Computer Science, vol 4821. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77934-6_11
Download citation
DOI: https://doi.org/10.1007/978-3-540-77934-6_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-77933-9
Online ISBN: 978-3-540-77934-6
eBook Packages: Computer ScienceComputer Science (R0)