Docstoc

Computing at Kent

Document Sample
Computing at Kent Powered By Docstoc
					       A practical introduction to
               Greenfoot
                        www.greenfoot.org

                    David Barnes
            Lecturer in Computer Science
                  University of Kent


d.j.barnes@kent.ac.uk       University of Kent
                        Overview
•   Introducing object-orientation
•   BlueJ
•   The Greenfoot environment
•   Greenfoot scenarios
•   Practical application



d.j.barnes@kent.ac.uk    University 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.
d.j.barnes@kent.ac.uk   University 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.
d.j.barnes@kent.ac.uk   University 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.
d.j.barnes@kent.ac.uk    University of Kent
     A few Greenfoot scenarios
•   Wombats
•   Ants
•   Lifts
•   Lunar lander




d.j.barnes@kent.ac.uk   University 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.

d.j.barnes@kent.ac.uk   University 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.


d.j.barnes@kent.ac.uk     University 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

d.j.barnes@kent.ac.uk   University 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.
d.j.barnes@kent.ac.uk   University 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.

d.j.barnes@kent.ac.uk      University 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).
d.j.barnes@kent.ac.uk   University 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.

d.j.barnes@kent.ac.uk   University of Kent

				
DOCUMENT INFO