of Kent A practical introduction to Greenfoot David Barnes Lecturer in Computer Science University of Kent
of Kent Overview Introducing object-orientation BlueJ The Greenfoot environment Greenfoot scenarios Practical application
of Kent Introducing object-orientation Building early understanding of key concepts is crucial: –Class –Object –State –Behaviour Hard to do without tool support – e.g. visualisation.
of Kent BlueJ IDE designed specifically for the teaching of introductory object- orientation. Developed by Michael Kölling. Good visualisation of key concepts. Interactivity brings these concepts to life. Typically used at u/g level.
of Kent Greenfoot An environment and framework that supports World+Actor scenarios. Developed by Michael, and Poul Henriksen. Provides visually engaging and concrete experiences for pre-University students. Built on top of BlueJ.
of Kent A few Greenfoot scenarios Wombats Ants Lifts Lunar lander
of Kent Practical application The framework API The crab world, by Michael Kölling. –Basic movement. –Actor interaction. –Simulation controls. –Key strokes. –Sound. –Image manipulation.
of Kent little-crab You will use the little-crab scenario in the crabworld folder. (Try to ignore the 2, 3, 4 and 5 folders which are cribs!) We start by using methods inherited from Animal to add movement, edge- detection and turning.
of Kent Worms Add a new subclass of Animal. No behaviour required. Add random turning to the Crab: –getRandomNumber in Greenfoot Add Worm detection to the Crab: –getOneObjectAtOffset in Actor –removeObject in World
of Kent Lobster Add Lobster as a subclass of Animal. –Copy Crab’s functionality. –Make it hunt crabs rather than worms. Stop the simulation when a crab is eaten: –stopSimulation in Greenfoot Variation: stop when the last crab is eaten.
of Kent Adding sound Play different sounds when crabs and worms are eaten (see the sounds folder): –playSound in Greenfoot Setup an initial population: –Use the constructor of CrabWorld. Change images as the crab moves: –setImage in Actor.
of Kent Other capabilities Detecting key presses: –isKeyDown in Greenfoot. Actor inspection. Interactive method invocation. Interactive movement: –setLocation in Actor. Linking actor interaction (plane scenario).
of Kent Review Greenfoot provides a rich environment and framework for scenario creation. Teachers can build scenarios that are attractive and interesting. An intermediate implementation layer provides an appropriate abstraction for target groups of students.