Greenfoot
Encyclopedia
Greenfoot is an interactive Java
development environment designed primarily for educational purposes at the high school and undergraduate level. It allows easy development of two-dimensional graphical applications, such as simulations and interactive games.
Greenfoot is being developed and maintained at the University of Kent
and La Trobe University
, with support from Oracle
. It is free software, released under the GPL license. Greenfoot is available for Microsoft Windows
, Mac OS X
, Linux
, Sun Solaris, and any recent JVM
.
in 2003, and a first prototype was built by Poul Henriksen (Masters student) and Michael Kölling
(supervisor) in 2003/2004. From 2005 development was continued involving the other members of the BlueJ Group at the University of Kent
and Deakin University
.
The first full release, Greenfoot version 1.0, was published on 31 May 2006, with further releases following occasionally thereafter.
In May 2007, the Greenfoot project was awarded the "Duke's Choice Award" in the category "Java Technology in Education", and in 2010 it won the "Premier Award for Excellence in Engineering Education Courseware".
In March 2009 , Greenfoot project became Free and Open Source Software
, and licensed under GNU GPL with Classpath exception.
In August 2009, a textbook was published that teaches programming with Greenfoot.
The Greenfoot programming model consists of a World class (represented by a rectangular screen area) and any number of actor objects that are present in the world and can be programmed to act independently. The world and actors are represented by Java objects and defined by Java classes. Greenfoot offers methods to easily program these actors, including method for movement, rotation, changes of appearance, collision detection, etc.
Programming in Greenfoot at its most basic consists of subclassing two built-in classes, World and Actor. An instance of the world subclass represents the world in which Greenfoot execution will occur. Actor subclasses are objects that can exist and act in the world. An instance of the world subclass is automatically created by the environment.
Execution in Greenfoot consists of a built-in main loop that repeatedly invokes each actor's act method. Programming a scenario, therefore, consists mainly of implementing act methods for the scenario's actors. Implementation is done in standard Java. Greenfoot offers API methods for a range of common tasks, such as animation, sound, randomisation, and image manipulation. All standard Java libraries can be used as well, and sophisticated functionality can be achieved.
Secondly, the environment is designed to illustrate and emphasize important abstractions and concepts of object-oriented programming. Concepts such as the class/object relationship, methods, parameters, and object interaction are conveyed through visualizations and guided interactions. The goal is to build and support a mental model that correctly represents modern object-oriented programming systems.
The editor added support for code completion, coloured scope highlighting, improved find and replace, and a new navigation view. http://blogs.kent.ac.uk/mik/2010/10/05/greenfoot-2-0-the-new-features/ A built-in sound recorder was added, as well as better support for sound in scenarios through a new high level sound class called GreenfootSound . It adds the ability to pause and loop sounds, as well as adding MP3 support.
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
development environment designed primarily for educational purposes at the high school and undergraduate level. It allows easy development of two-dimensional graphical applications, such as simulations and interactive games.
Greenfoot is being developed and maintained at the University of Kent
University of Kent
The University of Kent, previously the University of Kent at Canterbury, is a public research university based in Kent, United Kingdom...
and La Trobe University
La Trobe University
La Trobe University is a multi-campus university in Victoria, Australia. It was established in 1964 by an Act of Parliament to become the third oldest university in the state of Victoria. The main campus of La Trobe is located in the Melbourne suburb of Bundoora; two other major campuses are...
, with support from Oracle
Oracle
In Classical Antiquity, an oracle was a person or agency considered to be a source of wise counsel or prophetic predictions or precognition of the future, inspired by the gods. As such it is a form of divination....
. It is free software, released under the GPL license. Greenfoot is available for Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, Sun Solaris, and any recent JVM
Java Virtual Machine
A Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...
.
History
The Greenfoot project was initiated by Michael KöllingMichael Kölling
Michael Kölling is a professor and software developer currently with the School of Computing at the University of Kent. Originally from Bremen, Germany, he is also a key member of the team that developed the BlueJ and Greenfoot Java learning environments. BlueJ is used in over 900 institutions...
in 2003, and a first prototype was built by Poul Henriksen (Masters student) and Michael Kölling
Michael Kölling
Michael Kölling is a professor and software developer currently with the School of Computing at the University of Kent. Originally from Bremen, Germany, he is also a key member of the team that developed the BlueJ and Greenfoot Java learning environments. BlueJ is used in over 900 institutions...
(supervisor) in 2003/2004. From 2005 development was continued involving the other members of the BlueJ Group at the University of Kent
University of Kent
The University of Kent, previously the University of Kent at Canterbury, is a public research university based in Kent, United Kingdom...
and Deakin University
Deakin University
Deakin University is an Australian public university with nearly 40,000 higher education students in 2010. It receives more than A$600 million in operating revenue annually, and controls more than A$1.3 billion in assets. It received more than A$35 million in research income in 2009 and had 835...
.
The first full release, Greenfoot version 1.0, was published on 31 May 2006, with further releases following occasionally thereafter.
In May 2007, the Greenfoot project was awarded the "Duke's Choice Award" in the category "Java Technology in Education", and in 2010 it won the "Premier Award for Excellence in Engineering Education Courseware".
In March 2009 , Greenfoot project became Free and Open Source Software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...
, and licensed under GNU GPL with Classpath exception.
In August 2009, a textbook was published that teaches programming with Greenfoot.
Use and Programming Model
public void act { setLocation (getX + 4, getY); setRotation (getRotation + 2); } |
An example of a simple act method in Greenfoot |
Actor a = getOneIntersectingObject(Asteroid.class); if (a != null) { // we have hit an asteroid! explode; } |
An example of simple collision detection |
The Greenfoot programming model consists of a World class (represented by a rectangular screen area) and any number of actor objects that are present in the world and can be programmed to act independently. The world and actors are represented by Java objects and defined by Java classes. Greenfoot offers methods to easily program these actors, including method for movement, rotation, changes of appearance, collision detection, etc.
Programming in Greenfoot at its most basic consists of subclassing two built-in classes, World and Actor. An instance of the world subclass represents the world in which Greenfoot execution will occur. Actor subclasses are objects that can exist and act in the world. An instance of the world subclass is automatically created by the environment.
Execution in Greenfoot consists of a built-in main loop that repeatedly invokes each actor's act method. Programming a scenario, therefore, consists mainly of implementing act methods for the scenario's actors. Implementation is done in standard Java. Greenfoot offers API methods for a range of common tasks, such as animation, sound, randomisation, and image manipulation. All standard Java libraries can be used as well, and sophisticated functionality can be achieved.
Pedagogy
Greenfoot aims to motivate learners quickly by providing easy access to animated graphics, sound and interaction. The environment is highly interactive and encourages exploration and experimentation. Pedagogically, the design is based on constructivist and apprenticeship approaches.Secondly, the environment is designed to illustrate and emphasize important abstractions and concepts of object-oriented programming. Concepts such as the class/object relationship, methods, parameters, and object interaction are conveyed through visualizations and guided interactions. The goal is to build and support a mental model that correctly represents modern object-oriented programming systems.
Learner Community
For users of Greenfoot, a community site called the Greenfoot Gallery provides a platform to publish and discuss their projects. Anyone can set up an account on the Greenfoot Gallery and publish their work. When published, scenarios run live in a web browser, and are instantly playable by anyone worldwide. The ability to easily publish programming projects to the internet is seen as a significant motivator for young learners.Educator Community
For educators, the project provides the Greenroom, a community site to discuss teaching strategies, exchange experiences and share material. In addition to a discussion forum, the Greenroom provides a shared repository of teaching resources, including numerous worksheets, project ideas, slide sets and other teaching aids.Releases
As of February 2011, the latest release is version 2.0.1. In version 2.0, the editor and API received some major changes from the previous version 1.5.6.The editor added support for code completion, coloured scope highlighting, improved find and replace, and a new navigation view. http://blogs.kent.ac.uk/mik/2010/10/05/greenfoot-2-0-the-new-features/ A built-in sound recorder was added, as well as better support for sound in scenarios through a new high level sound class called GreenfootSound . It adds the ability to pause and loop sounds, as well as adding MP3 support.
See also
- BlueJBlueJBlueJ is an integrated development environment for the Java programming language, developed mainly for educational purposes, but also suitable for small-scale software development....
- University of KentUniversity of KentThe University of Kent, previously the University of Kent at Canterbury, is a public research university based in Kent, United Kingdom...
- La Trobe UniversityLa Trobe UniversityLa Trobe University is a multi-campus university in Victoria, Australia. It was established in 1964 by an Act of Parliament to become the third oldest university in the state of Victoria. The main campus of La Trobe is located in the Melbourne suburb of Bundoora; two other major campuses are...
- Alice (software)Alice (software)Alice is a freeware object-oriented educational programming language with an integrated development environment . Later versions are implemented in Java. Alice uses a drag and drop environment to create computer animations using 3D models...
- Scratch (programming language)
- RoboMindRoboMindRoboMind is a simple educational programming environment with an own scripting language that allows beginners to learn the basics of computer science by programming a simulated robot...
External links
- Official Greenfoot website
- Screenshots
- The Greenfoot Gallery - Gallery of live Greenfoot scenarios
- Greenroom – teaching resources