Greenfoot
   HOME

TheInfoList



OR:

Greenfoot is an
integrated development environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools ...
using
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
or Stride designed primarily for
education Education is a purposeful activity directed at achieving certain aims, such as transmitting knowledge or fostering skills and character traits. These aims may include the development of understanding, rationality, kindness, and honesty ...
al purposes at the
high school A secondary school describes an institution that provides secondary education and also usually includes the building where this takes place. Some secondary schools provide both '' lower secondary education'' (ages 11 to 14) and ''upper seconda ...
and
undergraduate Undergraduate education is education conducted after secondary education and before postgraduate education. It typically includes all postsecondary programs up to the level of a bachelor's degree. For example, in the United States, an entry-le ...
level. It allows easy development of
two-dimensional In mathematics, a plane is a Euclidean ( flat), two-dimensional surface that extends indefinitely. A plane is the two-dimensional analogue of a point (zero dimensions), a line (one dimension) and three-dimensional space. Planes can arise as ...
graphical
applications Application may refer to: Mathematics and computing * Application software, computer software designed to help the user to perform specific tasks ** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
, such as
simulation A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the s ...
s and
interactive games Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This feedback ...
. Greenfoot is being developed and maintained at King's College London, with support from Oracle. It is
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
, released under the
GPL license The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general u ...
. Greenfoot is available for
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ser ...
,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
, Solaris, and any recent
JVM A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
.


History

The Greenfoot project was initiated by Michael Kölling in 2003, and a first prototype was built by Poul Henriksen (
master's student A master's degree (from Latin ) is an academic degree awarded by universities or colleges upon completion of a course of study demonstrating mastery or a high-order overview of a specific field of study or area of professional practice.
) and Michael Kölling ( supervisor) in 2003/2004. From 2005 development was continued involving the other members of the BlueJ Group. Greenfoot is being developed and maintained at King's College London, where the development team moved from the
University of Kent , motto_lang = , mottoeng = Literal translation: 'Whom to serve is to reign'(Book of Common Prayer translation: 'whose service is perfect freedom')Graham Martin, ''From Vision to Reality: the Making of the University of Kent at Canterbury'' ...
. 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 (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
, and licensed under GPL-2.0-or-later with the
Classpath exception A GPL linking exception modifies the GNU General Public License (GPL) in a way that enables software projects which provide library code to be " linked to" the programs that use them, without applying the full terms of the GPL to the using program. ...
. In August 2009, a textbook was published that teaches programming with Greenfoot. In 2017, Greenfoot was extended to support a second programming language, Stride (in addition to Java). Stride is intended to make programming easier for novices, support younger users, and facilitate the transition from block-based languages. Its most notable difference is the use of a frame-based editor.


Use and programming model

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.


Design

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

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. A built-in sound recorder was added, as well as better support for sound in scenarios through a new high level sound class calle
GreenfootSound
. It adds the ability to pause and loop sounds, as well as adding MP3 support. Version 3.0 added support for the Stride language, and included a novel frame-based editor.


See also

* BlueJ


References


Bibliography

* * * * * * * * *


External links

*
ScreenshotsThe Greenfoot Gallery
- Gallery of live Greenfoot scenarios
Greenroom – teaching resources
{{Integrated development environments Free software programmed in Java (programming language) Integrated development environments Pedagogic integrated development environments Free integrated development environments Java development tools Programming tools for Windows MacOS programming tools Linux programming tools Educational programming languages