Getting Eclipse Into the Classroom
Total Page:16
File Type:pdf, Size:1020Kb
GETTING ECLIPSE INTO THE CLASSROOM Dwight Deugo Carleton University, 1125 Colonel By Drive, Ottawa ON, K1S 5B6, Canada Keywords: Eclipse, Teaching, Java, Open Source. Abstract: In this paper, I describe an approach to integrating Eclipse into the classroom for the purpose of having students develop assignments using the Java, Scheme and Prolog programming languages. The approach attempts to overcome three problems. 1) Students wanting to learn about Eclipse have no idea where to start. 2) Educators wanting to teach Eclipse do not have available the breadth of material required to introduce students to it. 3) In most institutions, there is no room in the existing curricula to dedicate courses for explicitly teaching Eclipse. 1 INTRODUCTION problem is CS educators wanting to teach Eclipse do not have available the breadth of material required to In a survey conducted in November 2006 by BZ introduce students to Eclipse. The third, and perhaps Media (BZ Media, 2006), 66.3% of SD Times the largest problem, is that in most CS institutions subscribers surveyed reported that developers within there is no room in their existing curricula to their organizations used Eclipse (Eclipse, 2008). dedicate courses for explicitly teaching Eclipse. Their primary reasons for choosing Eclipse were its I believe the simple solution to the last problem low cost (free) and that it is open source. The major is to have Eclipse used as a common tool for uses of Eclipse reported were for its Java developing various course concepts, rather than it Development tools, followed by its J2EE Standard being the course concept itself. The benefit is that tools, and then its Web Standard tools. These results students will learn about Eclipse as a side-effect of are particularly significant to those in computer developing their assignments. A second benefit is science (CS) education. It illustrates industry’s that they will be able to use their Eclipse knowledge continued move towards open source software and to work productively in industry. A final benefit is Eclipse. There are many reasons for this move, but that by helping students to learn about Eclipse, CS at zero cost and better quality, commercial offerings educators will better understand the joint needs of are having a difficult time competing in the space. their students and the companies they will work for Given the move, it is important for CS educators to using Eclipse. discuss the merits of open source software with their At the recent ITISCE conference, I had a few CS students and provide them with education on educators tell me Eclipse was overly complex. significant open source offerings, such as Eclipse. While this is a debatable point, my answer is that The need is clear: students need to know how to use even though Eclipse can be used as an integrated Eclipse to be competitive in today’s corporate development environment (IDE) suitable for software market and CS educators need to teach commercial development, portions of it can be made students about Eclipse. Industry is demanding it. easier to use and tailored towards first year students. While Eclipse has established a large and vibrant My implementation of the solution to the last ecosystem of technology vendors, start-ups, problem noted above and to the complexity issue has universities, research institutions and individuals, the been to develop plug-ins for Eclipse that enable availability of focused and organized educational students to create Java, Scheme, and Prolog material on Eclipse is lacking. This situation has assignments all within the same environment. The created at least three problems. plug-ins add new functionality to Eclipse that, while The first one is students wanting to learn about not suitable for commercial development, provides Eclipse have no idea where to start. The second CS educators and their students with a single 388 Deugo D. (2009). GETTING ECLIPSE INTO THE CLASSROOM. In Proceedings of the First International Conference on Computer Supported Education, pages 388-393 DOI: 10.5220/0001965303880393 Copyright c SciTePress GETTING ECLIPSE INTO THE CLASSROOM development environment for teaching and applying One free Eclipse plug-in for Prolog exists object-oriented, functional and logic programming created by an undergraduate student named Juliana concepts. The plug-ins add only the functionality Barby Simão (Simão, 2004). However, it was required to develop language concepts, not the full completed in 2004 and was not continued, even blown capabilities of an industrial strength IDE. though it was reported that the project would In the background section we look at continue duing 2004 as a graduate project. Not implementations of different open source and Eclipse based, JLog (JLog 2008) is an commercial IDEs. The approach section discusses implementation of a Prolog interpreter, written in how we have integrated the three different languages Java. It includes a built-in source editor, query into Eclipse and how students interact with them to panels, online help, animation primitives, and a GUI develop their assignments. The final chapter debugger. It could be easily wrapped within an provides a summary. Eclipse UI, providing Prolog for Eclipse users. The only difficulty with this idea is that JLog is under the GPL license. 2 BACKGROUND Whether for Java, Scheme or Prolog development, the idea is to provide first year Scaled down versions of Eclipse for Java students with Eclipse-based light IDE. By doing so, the belief is that as students become more development have been done in the past. One such version was produced by the GILD (Gild, 2008) experienced with the light versions and the language project. However, it is no longer supported, with its IDE, they can and will want to transition to the full versions of the IDE. Having students wanting and last release done on January 3, 2006, and intended for use with Eclipse version 3.1. Another version is using the different light versions of Eclipse should also impact faculty making them more likely to Penumbra. It is plug-in developed at Purdue include material on the Eclipse Platform in their University for use in their introductory programming classes. It was intended to ease the transition to the lectures in order to help students use these environments. Where do they get the material? From use of the full-featured functionality of Eclipse. Penumbra presents an Eclipse perspective that hides the LCMS outlined in the first part of the approach. all but the basic actions of Eclipse's existing Java perspective, while packaging elements of other perspectives (e.g., the CVS perspective) into simpler 3 APPROACH actions that ease the downloading and turn-in of programming assignments, and adding new code Central to our approach is the notion of community. views inspired by other environments for We wanted to develop a community of users and a introductory programmers. Although neither version community of developers providing new features seems to be currently supported, they provide and languages to our IDE for education (IDE4EDU). direction as to what a light version of Eclipse for To meet these goals the first decision made was to Java development might look like. And, while not make the IDE open source. The implication is that Eclipse based, BlueJ (BlueJ 2008) can also provide whatever software we use and whatever software we another view of an IDE for teaching object- develop, it must be open source. Since Eclipse is at orientation to beginners. the heart of the implementation, the implication is Only one Eclipse based Scheme development that, like Eclipse, the code will ship under the environment exists: The SchemeWay (SchemeWay, Eclipse Public License (EPL 2008). Using this 2008) project. It provides a set of Eclipse plugins for license ensures that users are free to download and the Scheme programming language and features a use the IDE without needing to pay any fees to powerful, fully extendible S-expression-based editor anyone and developers are free to view, modify and that integrates seamlessly with any Scheme add to the source code. The second decision made interpreter. However, this environment does not was to create a community project for the IDE. We come with the source code and it is not targeted at have created an Eclipse Summer of Code project at first year students. While not Eclipse based, the Eclipse Foundation (IDE4EDU, 2008). This DRScheme (DRScheme 2008) provides an subproject is part of the Eclipse Technology family. environment that provides an integrated Creating this project ensures that the source code programming environment designed specifically will have a home location, that key members of the with the needs of beginners in mind. project are identified, and that there is a community site for others to access to become involved with the 389 CSEDU 2009 - International Conference on Computer Supported Education project. This project site also ensures that users have After downloading and installing the IDE4EDU a common place to visit to get software updates and from its project web site, the next step is to start it up new versions of the IDE. by clicking on the IDE4EDU application icon. This Rather than having different versions of the IDE will bring up the Eclipse workbench. for each language, another central part of our Selecting the menu Window -> Open approach is to have all languages integrated into one Perspective -> Other…-> Java Lite opens the Java- IDE. The reason for this is simple: there is only one Lite Perspective, shown in Figure 1. From now on, installation. Educators save class time, by only when a student starts up IDE4EDU they will go needing to describe the install process once, and directly to the Java-Lite Perspective. This is a students save time by only going through the feature of Eclipse, always returning to the point download and installation process once.