You are on page 1of 10

IEEE REVISTA IBEROAMERICANA DE TECNOLOGIAS DEL APRENDIZAJE, VOL. 8, NO.

4, NOVEMBER 2013 153

Cole-Programming: Shaping Collaborative Learning


Support in Eclipse
Francisco Jurado, Ana I. Molina, Miguel A. Redondo, and Manuel Ortega

Abstract— In the teaching of those subjects related to computer used in these programming labs. Thus, it may be an interesting
programming competences, a teaching/learning methodology approach to introduce improvements on these environments,
based on problem solving is often used, which sometimes involves such as tools that support the process of teaching/learning
the application of techniques such as pair programming. In addi-
tion, to perform the programming-related tasks, it is common Programming-related skills.
to use professional integrated development environments. Thus, On the other hand, the implementation of the principles
it may be interesting to integrate tools in these environments proposed by the European Higher Education Area (EHEA)
so that they can support the teaching/learning process. This includes group work as one of the techniques to enhance the
paper discusses how we have adapted an existing eclipse-based learning process. In this sense, Computer Supported Collab-
system for learning programming, so that now it has support for
collaborative tasks. The new features have been specially designed orative Learning (CSCL) [28] aims to take advantage of the
to solve programming-related assignments and integrated into the synergistic effect created when several students work together
learning environment. We also analyze the first impressions gath- to solve a particular problem, providing the computational
ered from students in the initial experiences made on the system. support that allows them to communicate and coordinate in
Index Terms— Learning programming, computer-supported completing their learning activities.
collaborative learning, eclipse, tuple spaces, pair programming. Thus, applying the collaborative paradigm in the teach-
ing/learning of Programming by solving problems or projects
I. I NTRODUCTION in working groups (collaborative learning) would introduce
the principles of the EHEA in acquiring Programming-related

D URING the process of acquiring the knowledge and the


skills related to Computer Programming competences
(from now on we will refer to them as Programming) [1],
competences. Not in vain, collaborative learning has been
applied to the field of learning Programming. There are several
proposals in this regard [13], [33], [34], [38]. Applying CSCL
the students are faced with different obstacles [5], [8], [21]. for learning Programming provides an environment in which
In this scenario, in the subjects related to these competences, students can interact and communicate with each other, typi-
the most widely used method of teaching is often based on cally in a distributed computing environment allowing students
activities involving Problem Solving [18], [30], reinforcing the to get profit from the knowledge and skills of other members
lectures in classroom with programming labs [29], [35] that of the group, and so improving their own skills.
provide active learning [31]. Within the scope of collaborative learning applied to Pro-
Since students must learn to design, develop, test and debug gramming, a commonly applied technique is Pair Program-
programs with certain tools that are designed to be used by ming. In Pair Programming, two programmers work together
professional programmers as Satratzemi points out [37], Inte- on the same design, algorithm, code or test [39]. While
grated Development Environments (IDE) for professional use, one programmer performs actions on the environment, the
such as Eclipse, JDeveloper, NetBeans, IntelliJ, etc. are often other one looks at the steps her partner performs to try to
Manuscript received March 6, 2013; revised September 16, 2013; accepted detect errors and report them. Although this is a technique
September 25, 2013. Date of publication October 16, 2013; date of current typically used in the field of software engineering, its use in
version November 26, 2013. This work was supported in part by the Ministry educational contexts provides interesting benefits that enhance
of Science and Innovation through the project “Software environment for
learning Programming in group and its integration by mean of standards learning [36].
in learning management systems” under Grant TIN2011-29542-C02-02 with In this framework, our goal is to support educational
ANEP evaluation, in part by the Regional Government of Castilla-La Mancha, methods that apply the technique of Pair Programming in
Spain, through the Projects iColab, in part by INTEGROUP under Grant
PPII11-0013-1219, in part by GITELEARN under Grant PEII11-0133-6335, a professional IDE. In particular, this paper shows how we
and in part by the University of Castilla-La Mancha through the teaching have enhanced an existing system for learning Programming
innovation Project Prog-Colab. without support for collaborative tasks. This system is based
F. Jurado is with the Department of Computer Science and Industrial
Engineering, Polytechnic School of the University of Lleida, Lleida, Spain on the widespread Eclipse IDE, adapted with collaborative
(e-mail: francisco.jurado@diei.udl.cat). tools that will be integrated in that environment.
A. I. Molina, M. A. Redondo, and M. Ortega are with the Department Thus, the rest of the paper is structured as follows: it
of Technologies and Information Systems, School of Computers Sciences,
University of Castilla-La Mancha, Paseo de la Universidad, Ciudad Real will begin with a background on those systems that support
13071, Spain (e-mail: anaisabel.molina@uclm.es; miguel.redondo@uclm.es; computational Programming labs (Section 2); then it will show
manuel.ortega@uclm.es). how to provide collaborative learning support to the selected
Color versions of one or more of the figures in this paper are available
online at http://ieeexplore.ieee.org. system for learning to program (section 3); next, it will
Digital Object Identifier 10.1109/RITA.2013.2284953 detail the functionality specifically designed for Programming
1932-8540 © 2013 IEEE
154 IEEE REVISTA IBEROAMERICANA DE TECNOLOGIAS DEL APRENDIZAJE, VOL. 8, NO. 4, NOVEMBER 2013

tasks implemented for the IDE (section 4); after that, it will assignments to the students, the delivery of the solutions devel-
expose a first experience and analyse the students’ impressions oped by the students, and the automatic evaluation of such
regarding the new functionalities (section 5); and finally, it will solutions by using Fuzzy Logic. COALA uses this evaluation
show some concluding remarks (section 6). with two objectives [25]: on the one hand, to provide students
with a brief explanation about what is right and wrong in
II. BACKGROUND their solution so that they can understand and improve it; on
In order to facilitate the implementation of activities that the other hand, to provide feedback to the system, allowing it
involve problem-solving for Programming, in a scenario where to determine which the next learning activity is, among those
classroom lectures are complemented with Programming labs specified by the teacher, to be done by each specific student.
to encourage active learning, an approach that can benefit Among the projects that apply the CSCL principles and the
students is to use real development environments. These extensibility of Eclipse we can find Jazz Sangam [12] and
environments are called Integrated Development Environments RIPPLE [6]. More specifically, these tools seek to build
(IDE), that is, programs to help developers to implement other environments that enable Pair Programming. So, Jazz San-
applications. Such IDEs usually include tools that support gram [12] is a plug-in designed to support collaborative work
developers during the development process in its different in the Eclipse environment. Jazz is an IBM technology for
phases. collaborative development, which provides project manage-
Using a real IDE, students can manipulate a development ment tools, version control, instant messaging, etc.; meanwhile
environment as they will do in their future careers, preparing Sangam [22] is a plug-in for Eclipse that allows collaborative
them not only to learn the concepts related to Programming, work using the technique of Pair Programming. Integrating
but also to learn to manipulate and to take advantage of the Jazz and Sangam derives in this application. Similarly, RIP-
available tools, favouring both their learning experience and PLE [6] builds a Pair Programming environment in Eclipse
their future professional environment. by means of a shared editor and a simple chat, employing the
Currently there are many IDEs, either freely available or Sangam architecture to do so. However, these environments
commercial. Among them, Eclipse (http://www.eclipse.org) do not have collaborative tools for communication and coor-
stands as one of the most widely used [9], [16]. In fact, dination so widely used as forums (which also enable asyn-
the possibilities for customization and expansion that Eclipse chronous communication), voting pool tools (which structure
provides have not gone unnoticed by researchers in the area decision-making, etc.). Furthermore, they do not incorporate
of learning Programming, and so we can find several solutions awareness mechanisms [15] that yield information on the sta-
in this regard for Java development. These solutions consist of tus of other members of the working group, their progress and
plug-ins added to Eclipse in order to make it an environment their future intentions. Furthermore, they do not have tools to
suitable for learning Programming. monitor and track the student activities, which could be inter-
Thus, Kenya Eclipse [10], [11] integrates the Kenya pro- esting for teachers (both for analysis of the learning process,
gramming language [2], [9] in the Eclipse environment. Kenya and for intervening in the group’s work sessions as needed).
is a sublanguage of Java. It is designed for students to focus on Thus, we can see how the Eclipse environment is suitable
learning the basic programming structures, eliminating those as a basis to develop applications for learning Programming.
aspects of syntax that may be irrelevant in the first sessions of On the one hand, the use of Eclipse allows eLearning devel-
learning Programming. Moving from Kenya to the equivalent opers to focus on implementing purely educative functionality,
Java code is straightforward, so that students can easily freeing them from the implementation of common tools such
learn how to write the corresponding Java program. Kenya as project management, code editors, integration with the
Eclipse takes all the features of Eclipse, such as the project compiler and debugger, etc. On the other hand, the developed
management, the compiler output, etc. It also incorporates a educational tools are integrated into similar environments
module devoted to the analysis of the programming style that students will find in their future careers.
allows students to improve the writing and readability of the This paper takes as its starting point the above-mentioned
source code they write. distributed environment COALA, which was developed as a
Another Eclipse-based learning environment is ProPAT [3]. result of our previous research on the field of systems for
This tool allows the teacher to propose a new Programming learning to program, but it proved lacking in support for
assignment by specifying the assignment name and a template collaborative tasks. The next section will show how to provide
with the syntactical structure the students must follow. This collaborative support to COALA.
template is then checked against the abstract syntax tree of
the code written by the student, so that the system can provide
III. P ROVIDING E CLIPSE S UPPORT FOR C OLLABORATION
students with information about what was right and wrong in
the solution they have developed. As mentioned in the previous section, the starting point for
In the same way, when analysing the solutions developed by our work is COALA [24], [25]. It was developed as plug-ins
students, we can find COALA (Computer Assisted Environ- for Eclipse in order to allow the use of a real Programming
ment for Learning Algorithms) [24], [25]. This environment environment in an academic scenario, which makes use of
allows the teacher to specify Programming assignments (along educational standards to facilitate reusability and integration
with the ideal representation according to the evaluation cri- in other systems, highlighting the use of IMS-LD [23]. The
teria and the test cases to be met), the distribution of these Eclipse plug-in for COALA allows communication features
JURADO et al.: SHAPING COLLABORATIVE LEARNING SUPPORT IN ECLIPSE 155

from any Programming language other than those supported


by SQLSpace. This is the case of the features available
for the COALA plug-in inside Eclipse (shaded area in the
centre of the figure) and the COALA services available
(Figure 2 on left). These allow the teacher to specify the
Programming assignments and the test cases to meet, to
distribute assignments to students, to deliver the students’
solutions and the automatic evaluation of such solutions, etc.
On the client side (central part of the figure), we can see
how Eclipse is stated as the platform users interact with it.
Fig. 1. UML Use-Case Diagram for the chat and forum tools. Both the Eclipse platform and the SQLSpaces client stubs run
on a JVM. In order to facilitate the implementation of the
upper layers several proxies have been implemented, which
via a tuple spaces server [19], [20], [27]. This server acts provide transparency enough with respect to the middleware.
as a shared central memory in a network environment where On top of this layer of proxies, we can find the model-view-
several clients and services can store and read information in controller layers proposed by Eclipse. This consists of SWT
the form of tuples [26], [27]. Content Providers and the related SWT Views and Editors
The choice of tuple spaces looks to be appropriate to for each tool to implement, either of those implemented in
implement collaborative eLearning systems [7], [17]. Thus, COALA (central shaded right of the figure) or the new tools
it seemed feasible to use the architecture of COALA to (chat, forum and voting pool).
implement new services, drawing on both the extension and As it can be appreciated, the implementation of the collabo-
customization features of Eclipse, and the scalability of a rative tools in the COALA architecture is straightforward. We
system based on tuple spaces. only need to implement the corresponding proxies, content
Thus, we implemented three of the most common collabo- providers and views/editors to make them available to the
rative services as a plug-in for Eclipse. We called it COLE- different clients. The messages and information the users will
Programming. These services are: a chat to allow communi- interchange will be represented by means of tuples accessed
cation in synchronous way, a forum to allow asynchronous by the working group on the tuple space.
communication, and a voting pool that allows the students to In the following section we will describe, by way of
pool, to sound out, to come to agreements, etc. examples, some collaborative services implemented in order to
These services are provided with specific features and test the validity of our approach and the specific functionality
functionality, especially designed to perform Programming of the Programming domain that can be included to facilitate
tasks. As an example, Figure 1 shows the functionality of collaborative tasks.
the chat and the forum, highlighting not only the exchange
of messages inherent in this type of service, but features such IV. COLE-P ROGRAMMING : P LUG -I N TO
as code sharing or exchanging error and warning messages S UPPORT C OLLABORATION
from the compiler or runtime environment. COLE-Programming (Collaborative Learning Program-
As mentioned above COALA makes use of IMS-LD. There ming) is the name for the developed Eclipse plug-in that imple-
are several proposals to allow integration of these collaborative ments the collaborative tools for the COALA environment.
services in the system [4], [14], [32]. However, given the Figure 3 shows how COLE-Programming implements sev-
architectural properties of COALA for integrating agents and eral views for a voting pool (on bottom), a chat (on top-left)
services through the use of tuple spaces [27], the integration and a forum (on top-right) with some Programming specific
task is reduced to the implementation of proxies, which functionalities we will describe in detail next.
abstract the data model of each service to a tuple model. Thus, in order to facilitate the information exchange, we
Figure 2 shows the diagram of the architecture of COALA have added the necessary functionalities to allow sharing code,
once the COLE-Programming plug-in is added. As it is shown error messages, warning from the compiler, etc. Therefore,
in this figure, all clients and services are connected via a TCP when a student wants to share one of these kinds of usual
connection. The tuple space server we have selected for the messages in a chat or forum, a dialog window as the one
implementation is SQLSpaces (http://sqlspaces.collide.info/) shown in figure 4 is opened. This window allows introducing
(Figure 2 at right), which is distributed under a free license a description message, the kind of information to share (part
AGPL. This server runs on a Java Virtual Machine (JVM) of a source code, an error or warning message, etc.) and the
and implements the corresponding logical translation between information to share. In the chat and forum, a message with the
tuples and a relational database. In the case of COALA, form “<user> has published the <kind of message>: <id>”
we have chosen a MySQL database on which to perform is posted, which means that the information has been published
persistence. for those people who are connected to the chat room or reading
Due to the fact that different clients and services can the thread of a forum. The students will be able to select, by
interact, they require the corresponding libraries and stubs using a combo box of the chat view, the “id” related to the
that support the middleware interaction (SQLSpaces client shared information, and then an editor will appear showing
stubs in the figure), whether running on a JVM or used the message and the description.
156 IEEE REVISTA IBEROAMERICANA DE TECNOLOGIAS DEL APRENDIZAJE, VOL. 8, NO. 4, NOVEMBER 2013

Fig. 2. Diagram of the system architecture.

Besides, we have added to the forum a message filtering (chats, forums or voting pool) which add a collaborative
mechanism for the conversation thread, taking into account the perspective to this kind of computational support. These last
kind of message (identified issue, solution proposal, critical kinds of collaborative services and tools can be used to cover
comment, doubt, etc.) as we can see on top of figure 5. some coordination, cooperation and communicative necessities
A colour code helps to identify the kind of comment so that the between teacher and students.
students can quickly identify the kind of message. In addition, Thus, in a first experience, we have tried to check if
a combo box allows them to filter the kind of message to be students prefer to use collaborative tools specifically designed
shown in the view, so that, for instance, they can focus their for Programming, which are embedded within the integrated
attention only on issue identification, proposal to solve the development environment they use to perform their tasks,
issues, doubts exposed, etc. or otherwise those provided by other generic LMS-based
In order to support the teacher during the analysis and alternatives.
monitoring processes for collaborative assignments, COLE- To do so, we took the evolution in COALA carried by the
Programming implements a monitor view (figure 5 on bottom). COLE-Programming plug-in with tools specifically designed
This allows checking some collaboration features, such as for learning Programming. Then, students used them to per-
the number of contributions for a specific student for each form Programming tasks, so that they could contrast the new
collaborative tool, the rate of participation, the users a specific tools against those provided by a widely used LMS, in our
student has collaborated or shared information with, etc. case Moodle (http://moodle.org/).
Throughout this section, it has been shown how we have
implemented specific functionalities and features in order to A. Participants
perform better collaborative Programming activities. Thus, we
In the conducted experience, a group of sixteen students
have shown how COALA has been enhanced by adding a
of the subject Collaborative Systems for the fifth year in
chat and a forum with these new features, as well as by
Computer Engineering from the University of Castilla-La
incorporating a voting pool and a monitor view for collab-
Mancha (UCLM) was involved.
orative activities, which can be used by teachers. Hence,
This student profile was selected because they had the
COLE-Programming allows the use of COALA in collabo-
necessary knowledge in the field of Programming in order
rative learning environments. The next section will detail a
to assess the support tools to Programming, as well as in the
first experiment conducted in order to analyse the impressions field of collaborative systems, which allow them to provide
of COLE-Programming by students.
a more objective and critical issues in the collaborative tools
implemented.
V. A F IRST E XPERIENCE W ITH S TUDENTS
Currently, the computational support in most of educative B. Preparing the Experience
institutions is limited to deploying a Learning Management Before the experience started, in order to know whether
System (LMS). This kind of environments provides services the students’ answer was biased due to their predilections,
and tools, such as didactical resource repositories, auto- habits, etc., a questionnaire was designed to identify their
evaluation quizzes for students, tools used by the teacher degree of knowledge and preferences about the Programming
for monitoring the students’ progress, and collaborative tools IDEs (and Eclipse in particular). This served to know what
JURADO et al.: SHAPING COLLABORATIVE LEARNING SUPPORT IN ECLIPSE 157

Fig. 3. Collaborative tools added by COLE-Programming to the COALA environment.

kind of communication/coordination tools they often use when As results of the questionnaire, it is noteworthy that students
they make collaborative Programming tasks, what kind of prefer the email (35% and 41% identified it as the first
information they interchange through, and so on. and second choice respectively), followed by the chat (44%
Students ordered their preferences about collaborative tools identified it as first choice) and forum (22% identified it as a
and the kind of information they usually exchange on a Likert second choice) as the collaborative tools to use when solving
scale of 1-5 (1 being the least preferred option and 5 the most Programming activities in group, regardless of whether they
desirable one). are integrated in the environment or not.
158 IEEE REVISTA IBEROAMERICANA DE TECNOLOGIAS DEL APRENDIZAJE, VOL. 8, NO. 4, NOVEMBER 2013

Fig. 4. Sharing code, error and warning messages, etc.

Furthermore, the analysis of the obtained data allowed us know well enough. The approximate time of completion
to determine the kind of information (in addition to text of this first Programming assignment was 40 minutes.
messages) that students usually exchange in these collaborative 2) Assessment questionnaire (Eclipse + Tools Moodle):
Programming sessions, highlighting the error and warning Students completed a questionnaire in order to get feed-
messages (38% of the students marked it as first choice and back about their impression of the collaboration tools
25% as second) and verbatim copies of code fragments (31% for the Programming session. The time for completion
identified it as first choice and 19% as second). was 10 minutes.
3) Second assignment session (Eclipse + COLE-
Programming): The same working pairs who
C. Describing the Experience participated in the first session held on a second
To perform the experience, we paired students randomly. Programming assignment (with a difficulty degree quite
Also, the students were given the information available on the similar to that from the first stage) by using the tools
COLE-Programming website (http://chico.esi.uclm.es/ coala), embedded in Eclipse, that is, the Cole-Programming
including the description of the collaborative tools and a user plug-in. The approximate time of completion of this
manual. second Programming exercise was 40 minutes.
The experience lasted two hours, in which students had 4) Assessment questionnaire (Eclipse + COLE-
to solve two Programming assignments and complete the Programming): Students completed a questionnaire in
appropriate questionnaires after each one. Each questionnaire order to get feedback about their impression of the
included a student ID, which served to identify the participants collaboration tools for the Programming session. The
in the other activities of the experience, thus preserving time for completion was 10 minutes.
anonymity. Experience consisted of the following stages: The questionnaires consisted of both a series of questions
1) First assignment session (Eclipse + Moodle tools): For that students had to answer following a Likert scale with scores
this first session, we gave the students the sentence from 1 to 5 (1: none, 2: low, 3: occasionally, 4: often, 5: very
of a Programming assignment. They had to do it by much), as well as of open-ended questions where they could
using the Eclipse environment and the external tools for express their opinion.
communication and coordination included in the Moodle After gathering all the information generated during the
LMS deployed in our university, which the students experience, it was the moment to analyse and to interpret
JURADO et al.: SHAPING COLLABORATIVE LEARNING SUPPORT IN ECLIPSE 159

Fig. 5. Message filtering in forum (at the top). Collaboration statistics in the monitor view (at the bottom).

it, in order to assess and contrast the collaborative tools platform; on the other, those integrated in COALA by means
that implement COLE-Programming and those from Moodle, of the COLE-Programming plug-in), they seem to find the chat
which are not specific for Programming tasks, so that we can tool integrated into COLE-Programming easy to use, since it
compare both approaches. In the next section we will show incorporates specific functionality for Programming tasks.
and analyse the results. Figure 6 shows the students’ evaluation of the generic
collaborative tools and of those integrated into COLE-
Programming. Analysing this figure we can see how the use of
D. Results Obtained from the Experience forums and voting pool seems less widespread (most students
After the two sessions in which students used Eclipse with answer “Not applicable (N/A)” when scoring these tools). In
collaborative tools (on the one hand, those from the Moodle the open-ended questions, students explained the reason for
160 IEEE REVISTA IBEROAMERICANA DE TECNOLOGIAS DEL APRENDIZAJE, VOL. 8, NO. 4, NOVEMBER 2013

Fig. 7. Score for the features introduced in the collaborative tools of COLE-
Programming.

identify users involved in collaboration and information


instantly sending the last message.
Hence, after enhancing COALA by implementing the
COLE-Programming plug-in with collaborative tools specif-
ically designed to accomplish Programming tasks, and after
contrasting their use against generic collaborative tools pro-
vided by an LMS to perform collaborative tasks, it has been
shown how students seem to find especially more attractive
those integrated into the Programming environment.
In light of the experience described, it seems that students
prefer to use specific collaborative tools for Programming
Fig. 6. Rating collaborative tools. At the top, score given to the generic embedded within the integrated development environment they
tools. At the bottom, score to the integrated tools implemented in COLE- use to perform the tasks, against those provided by generic
Programming.
alternatives not integrated, such as those included in a LMS.
their penchant for using the chat. They consider the chat as VI. C ONCLUSION
that collaborative tool that allows them to communicate with
their partners in a more immediate way, allowing a faster and Pair Programming is one of the techniques used to solve
less structured dialogue. Programming assignments in the context of teaching/learning
Furthermore, in Figure 6 we can see how the students give a Programming.
higher score to COLE-Programming collaborative tools. Thus, Throughout this article, we have shown how to provide
in the case of generic tools, students consider the use of the support for collaborative tasks to a system for learning Pro-
chat and the forum nothing, little or occasionally interesting, gramming which was initially devoid of it. To do so, it has
and they judge occasionally, quite or very valuable their been shown how the requirements to provide support for
equivalents in COLE-Programming, especially the chat. The collaboration have been introduced in the architecture. Then,
high values in the option “not applicable (N/A)” for the forum it has been shown how the functionality has been implemented
and the voting pool tool were due to those students who chose as a plug-in for the Eclipse environment which we have called
not to use them. This confirms the predilection students for the COLE-Programming.
chat tool. Subsequently, we have analysed the students’ first impres-
The main highlighted issue in the generic collaborative tools sions regarding the tools integrated in the environment. These
was that the students were not able to share code with them. impressions suggest that students find interesting those fea-
They lacked features such as a code indentation or syntax tures introduced in the tools by COLE-Programming specif-
colouring. They also point out that using external windows ically designed for Programming tasks and embedded within
apart from the working environment (Eclipse) forces them to the integrated development environment commonly used for
constantly change their focus of attention, and it diverts them their Programming tasks.
from the undertaken task.
Similarly, students analysed the features introduced in the ACKNOWLEDGMENT
COLE-Programming tools specific for Programming tasks, This research has been partly supported by the Ministry
such as those that allow sharing code, error and warning of Science and Innovation through the project “Software
messages, etc. The results can be seen in Figure 7. It shows environment for learning Programming in group and its
how the features for sharing code with proper indentation integration by mean of standards in learning management
and formatting, as well as the exchange of error and warning systems” (in Spanish) (REF: TIN2011-29542-C02-02) with
messages from the output of the compiler, etc., are top rated ANEP evaluation, by the Regional Government of Castilla-La
by the students. That is, those features added specifically Mancha (Spain) through the projects iColab, INTEGROUP
for Programming tasks were the most helpful for students. (REF.: PPII11-0013-1219) and GITE-LEARN (PEII11-0133-
In addition, they are also interested in some improvements 6335), and by the University of Castilla-La Mancha through
in the context-awareness, such as customizing colours to the teaching innovation project Prog-Colab.
JURADO et al.: SHAPING COLLABORATIVE LEARNING SUPPORT IN ECLIPSE 161

R EFERENCES [26] F. Jurado, A. I. Molina, M. A. Redondo, and M. Ortega, “Un enfoque


distribuido basado en Estándares para la Integración de servicios Y
[1] ACM/IEEE, “Computer science curriculum 2008: An interim revision agentes en sistemas de elearning,” in Avances en Ingeniería del Software
of CS 2001. Report from the interim review task force,” ACM/IEEE Aplicada al E-learning, J. L. Sierra and A. Sarasa, eds. Madrid, Spain:
Comput. Soc., Stanford Univ., Stanford, CA, USA, Tech. Rep., 2008. Universidad Complutense de Madrid, 2011, pp. 87–102.
[2] T. Allwood and M. Sackman. (2013, Oct. 17). Kenya Reference [27] F. Jurado, M. A. Redondo, and M. Ortega, “Blackboard architecture to
Guide, Imperial College London, London, U.K. [Online]. Available: integrate components and agents in heterogeneous distributed elearning
http://www.doc.ic.ac.uk/kenya/kenya4/ReferenceGuide/ systems: An application to learning to program,” J. Syst. Softw., vol. 85,
[3] L. N. de Barros, A. P. dos Santos Mota, K. V. Delgado, and no. 7, pp. 1621–1636, 2012.
P. M. Matsumoto, “A tool for programming learning with pedagogical [28] T. Koschmann and L. Erlbaum, CSCL: Theory and Practice of an
patterns,” in Proc. OOPSLA Workshop Eclipse Technol. Exchange, 2005, Emerging Paradigm. Mahwah, NJ, USA: Laurence Erlbaum Associates,
pp. 125–129. 1996.
[4] L. de-la Fuente-Valentn, A. Pardo, and C. D. Kloos, “Generic service [29] A. N. Kumar, “Learning programming by solving problems,” in Proc.
integration in adaptive learning experiences using IMS learning design,” Inf. Curricula Teaching Methods, 2002, pp. 29–39.
Comput. Educ., vol. 57, no. 1, pp. 1160–1170, 2011. [30] P. Makkonnen, “Do WWW-based presentations support better (Construc-
[5] J. Bonar amd E. Soloway, “Uncovering principles of novice pro- tiristics) learning in the basics of informatics,” in Proc. 33rd Hawaii Int.
gramming,” in Proc. 10th ACM SIGACT-SIGPLAN Symp. Principles Conf. Syst., Sci., 2000, pp. 1–12.
Program. Lang., ACM, 1983, pp. 10–13. [31] J. J. McConnell, “Active learning and its use in computer science,”
[6] K. E. Boyer, A. A. Dwight, R. T. Fondren, M. A. Vouk, and J. C. Lester, SIGCUE Outlook, vol. 24, nos. 1–3, pp. 52–54, 1996.
“A development environment for distributed synchronous collaborative [32] P. J. Muñoz-Merino, C. D. Kloos, and J. F. Naranjo, “Enabling interop-
programming,” in Proc. 13th Annu. Conf. Innov. Technol. Comput. Sci. erability for LMS educational services,” Comput. Stand. Inter., vol. 31,
Educ., 2008, pp. 158–162. no. 2, pp. 484–498, 2009.
[7] J. Brecht, C. DiGiano, C. Patton, D. Tatar, S. R. Chaudhury, J. Roschelle, [33] J. R. P. Pérez, M. del Puerto Paule Ruiz, and J. M. C. Lovelle, “SICODE:
et al., “Coordinating networked learning activities with a general- A collaborative tool for learning of software development,” in Proc. 4th
purpose interface,” in Proc. 5th World Conf. Mobile Learn., 2006, Int. Conf. Multimedia ICTE, 2006, pp. 3–8.
pp. 1–25. [34] M. Redondo, C. Bravo, M. Marcelino, and A. Mendes, “Tools for
[8] P. Brusilovsky, E. Calabrese, J. Hvorecky, A. Kouchnirenko, and programming learning: An approach to provide a social perspective
P. Miller, “Mini-languages: A way to learn programming principles,” using collaborative planning of design, in Proc. IADIS Int. E-Soc. Conf.,
Educ. Inf. Technol., 1998, pp. 65–83. 2004, pp. 315–322.
[9] BZ Research, “5th annual eclipse adoption study,” 2008. [35] M. Schollmeyer, “Computer programming in high school vs. college,” in
[10] R. Chatley, “Java for beginners,” Ph.D. dissertation, Dept. Comput., Proc. 27th SIGCSE Tech. Symp. Comput. Sci. Educ., 1996, pp. 378–382.
Imperial College London, London, U.K., 2001. [36] V. T. Toll, R. Lee, and T. Ahlswede, “Evaluating the usefulness of pair
[11] R. Chatley, and T. Timbul, “KenyaEclipse: Learning to program in programming in a classroom setting,” in Proc. ACIS Int. Conf. Comput.
eclipse,” SIGSOFT Softw. Eng. Notes, vol. 30, no. 5, pp. 245–248, 2005. Inf. Sci., 2007, pp. 302–308.
[12] J. V. S. Devide, A. Meneely, C.-W. Ho, L. Williams, and M. Devetsiki- [37] M. Satratzemi, V. Dagdilelis, and G. Evagelidis, “A system for program
otis, “Jazz Sangam: A real-time tool for distributed pair programming visualization and problem-solving path assessment of novice program-
on a team development platform,” in Proc. Workshop Infrastruct. Res. mers,” in Proc. 6th Annu. Conf. Innov. Technol. Comput. Sci. Educ.,
Collaborative Software Eng., 2008, pp. . 2001, pp. 137–140.
[13] R. Duque and C. Bravo, “Analyzing work productivity and program [38] A. Vizcaíno, “Enhancing collaborative learning using a simulated stu-
quality in collaborative programming,” in Proc. IEEE Comput. Soc. 3rd dent agent,” Ph.D. thesis, Dept. Technol. Inf. Syst., Universidad de
Int. Conf. Softw. Eng. Adv., Oct. 2008, pp. 270–276. Castilla-La Mancha, Spain, 2001.
[14] J. M. Dodero, and E. Ghiglione, “ReST-based web access to learn- [39] L. Williams and R. R. Kessler, Pair Programming Illuminated. Reading,
ing design services,” IEEE Trans. Learn. Technol., vol. 1, no. 3, MA, USA: Addison-Wesley, 2002.
pp. 190–195, Sep. 2008.
[15] P. Dourish and V. Bellotti, “Awareness and coordination in shared
workspaces,” in Proc. Conf. CSCW, 1992, pp. 107–114.
[16] The Open Source Developer Report, Eclipse Community Survey, Har-
risburg, PA, USA, May 2009.
[17] H. Eden, M. Einsenberg, G. Fischer, and A. Repening, “Making learning
a part of life,” Commun. ACM, vol. 39, no. 4, pp. 40–42, 1996. Francisco Jurado is a Visiting Lecturer with the
[18] J. Garrido, M. Noguera, M. Gonzalez, M. Gea, and M. Hurtado, Departament d’Informàtica i Enginyeria Industrial,
“Leveraging the Linda coordination model for a groupware architecture Escola Politècnica Superior (Polytechnic School),
implementation,” in Proc. 12th Int. Workshop Groupware LNCS, 2006, University of Lleida, Lleida, Spain. His research
pp. 286–301. areas include intelligent tutoring systems for learn-
[19] D. Gelernter, “Generative communication in Linda,” ACM Trans. Pro- ing to program, heterogeneous distributed eLearning
gram. Lang. Syst., vol. 7, no. 1, pp. 80–112, 1985. systems, eLearning standards and computer sup-
[20] A. Giemza, S. Weinbrenner, and J. Engler, and H. Hoppe, “Tuple spaces ported collaborative environments. He received the
as flexible integration platform for distributed learning environments,” Degree in computer science engineering and the
in Proc. ICCE, 2007, pp. 313–320. Ph.D. degree from Escuela Superior de Informática,
[21] A. Gomes and A. J. Mendes, “Learning to program—Difficulties and University of Castilla-La Mancha, in 2005 and 2010,
solutions,” in Proc. ICEE, 2007, pp. 283–287. respectively.
[22] C. Ho, S. Raha, E. Gehringer, and L. Williams, “Sangam: A distributed
pair programming plug-in for eclipse,” in Proc. OOPSLA Workshop
Eclipse Technol. Exchange, 2004, pp. 73–77.
[23] IMS Global Learning Consortium Inc, (2003). IMS Learning
Design. Information Model, Best Practice and Implementation
Guide, XML Binding, Schemas. Version 1.0 Final Specification, Ana I. Molina received the Degree in computer
Technical Report Lake Mary, FL, USA [Online]. Available: science (2002) and the Ph.D. degree (2007) from
http://www.imsglobal.org/learningdesign the University of Castilla-La Mancha, Spain. She has
[24] F. Jurado, A. I. Molina, M. A. Redondo, M. Ortega, A. Giemza, joined Escuela Superior de Informática, University
L. Bollen, et al., “Learning to program with COALA, a distributed of Castilla-La Mancha. Her main interests are in the
computer assisted environment,” J. Univ. Comput. Sci., vol. 15, no. 7, field of new information technologies applied to col-
pp. 1472–1485, 2009. laborative learning and computer-human interaction.
[25] F. Jurado, M. A. Redondo, and M. Ortega, “Providing instructional
guidance with IMS-LD in COALA, an ITS for computer programming
learning,” in Proc. 15th Int. Conf. DMS Eclipse/Jazz Technol. E-Learn.,
Special Session DET Int. Workshop, 2009, pp. 211–215.
162 IEEE REVISTA IBEROAMERICANA DE TECNOLOGIAS DEL APRENDIZAJE, VOL. 8, NO. 4, NOVEMBER 2013

Miguel A. Redondo received the Ph.D. degree in Manuel Ortega is a Full Professor with Escuela
computer science in 2002 and is an Associate Profes- Superior de Informática, University of Castilla-La
sor with Escuela Superior de Informática, University Mancha, Spain. He received the B.Sc. and Ph.D.
of Castilla-La Mancha, Spain. His research interests degrees from Universidad Autónoma de Barcelona,
focus on the fields of new information technologies Barcelona, Spain, in 1982 and 1990, respectively.
applied to computers in education and computer- He is the Director of the Computer Human Inter-
human interaction. action and Collaboration Research Group. His main
interests are in the field of new information technolo-
gies applied to collaborative learning and computer-
human interaction.

You might also like