{"title":"这里,那里和无处不在-关于在CS1中反复使用海龟图形","authors":"M. Caspersen, H. Christensen","doi":"10.1145/359369.359375","DOIUrl":null,"url":null,"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 paper 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, subclasses and inheritance; an intuitive understanding of recursion; and to show students the use of abstraction in practice as the turtles at a late stage in the course becomes a handy graphics library used in a context otherwise unrelated to the turtles.","PeriodicalId":435916,"journal":{"name":"African Conference on Software Engineering","volume":"51 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"47","resultStr":"{\"title\":\"Here, there and everywhere - on the recurring use of turtle graphics in CS1\",\"authors\":\"M. Caspersen, H. Christensen\",\"doi\":\"10.1145/359369.359375\",\"DOIUrl\":null,\"url\":null,\"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 paper 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, subclasses and inheritance; an intuitive understanding of recursion; and to show students the use of abstraction in practice as the turtles at a late stage in the course becomes a handy graphics library used in a context otherwise unrelated to the turtles.\",\"PeriodicalId\":435916,\"journal\":{\"name\":\"African Conference on Software Engineering\",\"volume\":\"51 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2000-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"47\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"African Conference on Software Engineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/359369.359375\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"African Conference on Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/359369.359375","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Here, there and everywhere - on the recurring use of turtle graphics in CS1
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 paper 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, subclasses and inheritance; an intuitive understanding of recursion; and to show students the use of abstraction in practice as the turtles at a late stage in the course becomes a handy graphics library used in a context otherwise unrelated to the turtles.