Uno de los pasos fundamentales que se aborda en la enseñanza de la programación es la codificación de programas en un lenguaje concreto. Los planes de estudio en Ingeniería Informática incluyen asignaturas de programación que son percibidas como difíciles por un elevado porcentaje de estudiantes.
En muchas ocasiones, estas asignaturas emplean un enfoque de resolución de problemas mediante grupos de alumnos que trabajan de forma colaborativa. Cuando dicho trabajo se apoya en el uso de computadores, esta metodología de trabajo se sitúa dentro del denominado trabajo cooperativo soportado por ordenador (CSCW). El uso de CSCW reporta numerosos beneficios en el proceso de aprendizaje, tales como la reducción de la frustración, el aumento del nivel de satisfacción (ya que los alumnos son capaces de resolver los problemas en menos tiempo), y la obtención de resultados de aprendizaje (software) de mayor calidad.
En la actualidad existen multitud de herramientas de programación colaborativa. Sin embargo, la mayoría no están destinadas a dar soporte al proceso de enseñanza y presentan ciertas limitaciones funcionales, por lo que no pueden ser utilizadas como entornos reales con fines didácticos. Por otro lado, un sistema de soporte al trabajo en grupo deberá proporcionar una buena experiencia al usuario, siendo necesario poner especial cuidado en el desarrollo de su interfaz de usuario, que deberá incluir aspectos relacionados con el soporte al awareness.
En el contexto del presente Trabajo Fin de Grado se ha desarrollado la aplicación COLLECE-2.0, que surge como un entorno de programación colaborativo distribuido en tiempo real, con soporte al awareness, que pretende cubrir las necesidades antes comentadas. Para garantizar su uso en un entorno real, el sistema se ha desarrollado como un plug-in multiplataforma sobre el framework de desarrollo de código abierto Eclipse.
One of the fundamental steps addressed in teaching programming is the coding of programs in a specific language. The curricula in Computing Engineering include programming subjects that are perceived as difficult by a high proportion of students.
In many cases, these subjects employ a problem-solving approach through groups of students working collaboratively. When such work is based on the use of computers, this work methodology is within the so-called computer-supported cooperative work (CSCW). The use of CSCW brings numerous benefits to the learning process, such as lower frustration, increased satisfaction (because learners are able to solve problems more quickly), and higher quality learning outcomes (software).
There are currently a multitude of collaborative programming tools. However, most of them are not designed to support the teaching process and present certain functional limitations, so they cannot be used as real environments for didactic purposes. On the other hand, a support system for group work should provide a good user experience, being necessary to take special care in the development of its user interface, which should include aspects related to awareness support.
In the context of this Final Degree Project, the COLLECE-2.0 application has been developed, which emerges as a real-time distributed collaborative programming environment, with awareness support, which aims to cover the aforementioned needs. In order to guarantee its use in a real environment, the system has been developed as a multiplatform plug-in on the Eclipse open source development framework