development environment for teaching and applying
object-oriented, functional and logic programming
concepts. The plug-ins add only the functionality
required to develop language concepts, not the full
blown capabilities of an industrial strength IDE.
In the background section we look at
implementations of different open source and
commercial IDEs. The approach section discusses
how we have integrated the three different languages
into Eclipse and how students interact with them to
develop their assignments. The final chapter
provides a summary.
2 BACKGROUND
Scaled down versions of Eclipse for Java
development have been done in the past. One such
version was produced by the GILD (Gild, 2008)
project. However, it is no longer supported, with its
last release done on January 3, 2006, and intended
for use with Eclipse version 3.1. Another version is
Penumbra. It is plug-in developed at Purdue
University for use in their introductory programming
classes. It was intended to ease the transition to the
use of the full-featured functionality of Eclipse.
Penumbra presents an Eclipse perspective that hides
all but the basic actions of Eclipse's existing Java
perspective, while packaging elements of other
perspectives (e.g., the CVS perspective) into simpler
actions that ease the downloading and turn-in of
programming assignments, and adding new code
views inspired by other environments for
introductory programmers. Although neither version
seems to be currently supported, they provide
direction as to what a light version of Eclipse for
Java development might look like. And, while not
Eclipse based, BlueJ (BlueJ 2008) can also provide
another view of an IDE for teaching object-
orientation to beginners.
Only one Eclipse based Scheme development
environment exists: The SchemeWay (SchemeWay,
2008) project. It provides a set of Eclipse plugins for
the Scheme programming language and features a
powerful, fully extendible S-expression-based editor
that integrates seamlessly with any Scheme
interpreter. However, this environment does not
come with the source code and it is not targeted at
first year students. While not Eclipse based,
DRScheme (DRScheme 2008) provides an
environment that provides an integrated
programming environment designed specifically
with the needs of beginners in mind.
One free Eclipse plug-in for Prolog exists
created by an undergraduate student named Juliana
Barby Simão (Simão, 2004). However, it was
completed in 2004 and was not continued, even
though it was reported that the project would
continue duing 2004 as a graduate project. Not
Eclipse based, JLog (JLog 2008) is an
implementation of a Prolog interpreter, written in
Java. It includes a built-in source editor, query
panels, online help, animation primitives, and a GUI
debugger. It could be easily wrapped within an
Eclipse UI, providing Prolog for Eclipse users. The
only difficulty with this idea is that JLog is under the
GPL license.
Whether for Java, Scheme or Prolog
development, the idea is to provide first year
students with Eclipse-based light IDE. By doing so,
the belief is that as students become more
experienced with the light versions and the language
IDE, they can and will want to transition to the full
versions of the IDE. Having students wanting and
using the different light versions of Eclipse should
also impact faculty making them more likely to
include material on the Eclipse Platform in their
lectures in order to help students use these
environments. Where do they get the material? From
the LCMS outlined in the first part of the approach.
3 APPROACH
Central to our approach is the notion of community.
We wanted to develop a community of users and a
community of developers providing new features
and languages to our IDE for education (IDE4EDU).
To meet these goals the first decision made was to
make the IDE open source. The implication is that
whatever software we use and whatever software we
develop, it must be open source. Since Eclipse is at
the heart of the implementation, the implication is
that, like Eclipse, the code will ship under the
Eclipse Public License (EPL 2008). Using this
license ensures that users are free to download and
use the IDE without needing to pay any fees to
anyone and developers are free to view, modify and
add to the source code. The second decision made
was to create a community project for the IDE. We
have created an Eclipse Summer of Code project at
the Eclipse Foundation (IDE4EDU, 2008). This
subproject is part of the Eclipse Technology family.
Creating this project ensures that the source code
will have a home location, that key members of the
project are identified, and that there is a community
site for others to access to become involved with the
GETTING ECLIPSE INTO THE CLASSROOM
389