greenfoot: combining object visualisation with interaction

  title={greenfoot: combining object visualisation with interaction},
  author={Poul Henriksen and Michael K{\"o}lling},
  booktitle={OOPSLA '04},
The introduction of programming education with object-oriented languages slowly migrates down the curriculum and is now often introduced at the high school level. This migration requires teaching tools that are adequate for the intended target audience. In this paper, we present a new tool, named <i>greenfoot</i>, for teaching object-oriented programming aimed at students at or below college level, with special emphasis of supporting school age learners. Greenfoot was designed by analysing and… 
Greenfoot demonstration
This demonstration will show what Greenfoot is and how it can be used, and a demonstration of the Greenfoot environment and framework for introductory programming education.
A Study of Visualization in Introductory Programming
A project to enhance student motivation and interest towards programming in the introductory programming course by applying visualization tool to lecture demonstrations and to the course assignments is described.
Game programming in introductory courses with direct state manipulation
New functionality in the greenfoot environment is described, especially the addition of user interaction programming via direct state manipulation, which provides very low overhead graphical I/O handling at a level that makes it feasible to guide students to simple graphical game programming within a few weeks, while concentrating on fundamental object-oriented concepts in the structure of the program.
Visual Analogy for Understanding Polymorphism Types
The design of a new visualisation tool that aims to assist in teaching the concept of polymorphism to students, along with correcting the misconceptions students have when dealing with this concept are presented.
On the Importance of Visualizing in Programming Education
All three presented contributions to the research field of visualization should contribute to an understanding of abstract programming concepts starting with problem or application instead of syntax.
Supporting the development of interactive applications in introductory programming courses
ELVIA provides a Java class framework that helps novice students of programming to automatically generate the graphical user interface of interactive applications, focusing in the classes and objects that compose the applications.
A study to build a new Visual Programming system: Fixed or contextual menu?
A comparative study between two different user interface implementations for iVProg: context menu against fixed menu, showing that the construction of algebraic and logical expressions required a higher number of interactions in both interface versions.
Virtual sandbox: adding groupware abilities to Scratch
This paper highlights shortcomings of programming environments designed for novices to be used as a collaborative tool in game design. It also addresses these issues in the context of the bad image
Greenfoot: a highly graphical ide for learning object-oriented programming
Greenfoot is an educational IDE that makes it easy to write interactive graphical applications that provides educational tools that aid in understanding fundamental object-oriented concepts and it is highly motivational through instant graphical feedback.
Visual Programming Environments for Object-Oriented Programming: Acceptance and Effects on Student Motivation
This paper presents an experiment in which visual programming environments have been used in programming courses aiming at helping students to acquire the competencies of a course on object-oriented programming, and its effect on the motivation of the students.


The BlueJ System and its Pedagogy
BlueJ, an integrated development environment designed for teaching object-orientation, is introduced and it is discussed how the use of this tool can change the approach to teaching.
Teaching objects-first in introductory computer science
This paper discusses the challenge of the objects-first strategy and presents a new approach that attempts to meet this challenge, centered on the visualization of objects and their behaviors using a 3D animation environment.
Teaching CS1 with karel the robot in Java
Karel the Robot, developed by Richard Pattis and well-known to many computer science educators, has aged gracefully and is a vital part of the CS1 curriculum and how Karel may be used is explained.
Objects First with Java - A Practical Introduction Using BlueJ (5th Edition)
This text uses BlueJ to get readers started on object-oriented programming from day one and uses a spiral approach that introduces a topic in a simple context early on, then revisits it later to increase understanding.
Role playing in an object-oriented world
This paper draws on three separate role playing exercises that have been developed to show that scripted role playing is a natural and effective way to introduce concepts of object-oriented design.
Jeroo: a tool for introducing object-oriented programming
Jeroo is a tool that has been developed to help students in beginning programming courses learn the semantics of fundamental control structures, learn the basic notions of using objects to solve
JKarelRobot: a case study in supporting levels of cognitive development in the computer science curriculum
We introduce a new software tool, JKarelRobot, for supporting an Inside/Out pedagogy in introductory programming courses. Extending the original conception of "Karel the Robot", with Bloom's Taxonomy
Karel ++ A Gentle Introduction to the Art of Object-Oriented Programming
This creative approach to learning C++ programming introduces readers to Karel the Robot and then shows them how to design programs that instruct Karel to perform complex tasks.
Here, there and everywhere - on the recurring use of turtle graphics in CS1
This paper has successfully used turtles to give students an intuitive understanding of central object-oriented concepts and principles such as object, class, message passing, behaviour, object identification, subclasses and inheritance; an intuitiveUnderstanding of recursion; and to show students the use of abstraction in practice.
Uses of the LOGO programming language in undergraduate instruction
LOGO is a programming language developed at Bolt Beranek and Newman Inc. specifically for use in teaching. It provides the student with a rich set of numerical and symbolic primitives as elements for