Computing at Kent

Document Sample
Computing at Kent Powered By Docstoc
					       A practical introduction to

                    David Barnes
            Lecturer in Computer Science
                  University of Kent       University of Kent
•   Introducing object-orientation
•   BlueJ
•   The Greenfoot environment
•   Greenfoot scenarios
•   Practical application    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.   University of Kent
• IDE designed specifically for the
  teaching of introductory object-
• Developed by Michael Kölling.
• Good visualisation of key concepts.
• Interactivity brings these concepts to
• Typically used at u/g level.   University of Kent
• An environment and framework that
  supports World+Actor scenarios.
• Developed by Michael, and Poul
• Provides visually engaging and
  concrete experiences for pre-University
• Built on top of BlueJ.    University of Kent
     A few Greenfoot scenarios
•   Wombats
•   Ants
•   Lifts
•   Lunar lander   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.   University of Kent
• 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.     University of Kent
• 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   University of Kent
• 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
     – stopSimulation in Greenfoot
• Variation: stop when the last crab is
  eaten.   University of Kent
                        Adding sound
• Play different sounds when crabs and
  worms are eaten (see the sounds
     – playSound in Greenfoot
• Setup an initial population:
     – Use the constructor of CrabWorld.
• Change images as the crab moves:
     – setImage in Actor.      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).   University of Kent
• 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.   University of Kent