SlideShare una empresa de Scribd logo
1 de 85
Descargar para leer sin conexión
Segundo Congreso Internacional de
     Ingeniería del Software


   Enseñanza de la Programación por
   pares mediante el entorno Eclipse
Manuel Ortega
Escuela Superior de Informática
   Mianuel.Ortega@uclm.es




                                  Enseñanza de la
                                  Programación por pares
                                  mediante el entorno
                                  Eclipse
Líneas de Investigación de CHICO
                                      Manuel Ortega Cantero
Dr. Manuel Ortega Cantero
Catedrático de Universidad

Escuela Superior de Informática
Edificio Fermín Caballero, Desp A-1
Paseo de la Universidad, 4
13071 – Ciudad Real (España)                                    Armenia (Colombia)
e-mail: Manuel.Ortega@uclm.es
                                                              11 de Octubre de 2012
Telf.: 926295481
Fax.: 926295354
Basic Research
• Informática Educativa y sistemas de E-Learning
   – Diseño de modelos computacionales de e-learning
   – Integración de ontologías, estándares y objetos de aprendizaje
     en e-learning
• Interacción Persona – Computador
   – Diseño y especificación de interfaces de usuario
     colaborativas/cooperativas
   – Diseño de interacción con dispositivos para computación ubicua
     y móvil y Realidad Aumentada
El grupo CHICO
                                    9. Dr. Francisco Jurado (Univ.
1.   Dr. Manuel Ortega                 Lleida)
2.   Dr. Miguel A. Redondo          10. Dr. Rafael Duque (Univ.
3.   Dr. Crescencio Bravo              Cantabria)
4.   Dr. Miguel Lacruz              11. Dr. Jesús Gallardo (Univ.
                                       Zaragoza)
5.   Dr. Maximiliano Paredes (URJC)
                                    12. Dr. William J. Giraldo (Univ.
6.   Dra. Ana Isabel Molina            Quindío)
7.   Dr. Pedro P. Sánchez           13. Dr. Emiliano Almansa
8.   Dra. Asunción Sánchez          14. Don Alfonso Aranda
                                     15. Don Fernando Gallego
                                     16. Don José R. Sánchez
Applied Research
• Aplicaciones industriales
   – E-Learning
      • Learning to write by writing on the web (EOI-JCCM)
      • Learning Management Systems (LMS-MEC-JCCM)
      • CIVI-ERASMUS (UCLM)


   – Human – Computer Interaction
      •   Visualización instrumental y móvil (Repsol)
      •   Aplicaciones de diagnosis de automóviles (COJALI)
      •   Herramientas móviles de desarrollo (COFARCIR)
      •   Reuniones móviles (Grupo DINFOR)
      •   Herramientas CASE Tools para desarrollo de interfaces colaborativas
Basic Infrastructures
Current Research Projects with Public Fundings (I)
• AULA-T
  – Desarrollo de métodos y sistemas de aprendizaje basados en
    estándares para la enseñanza de la programación
  – Grupo de Excelencia de la JCCM
Current Research Projects with Public Fundings (II)
• mGUIDE
  – Framework metodológico para el desarrollo de para computación
    móvil.
  – Dos universidades
  – COFARCIR
  – Patrocinio de la JCCM
Current Research Projects with Public Fundings (III)
• mGUIDE
Current Research Projects with Public Fundings (IV)
• FAPPEC
    Framework metodológico y tecnológico para la construcción de
    sistemas de análisis de la colaboración en sistemas de soporte al
    trabajo en grupo
  – Participación de grupos de 2 universidades españolas
  – Financiado por la JCCM
Current Research Projects with Public Fundings (& V)
• FAPPEC
Nuevo Proyecto: EDUCA-PROG

• Sistemas de software avanzados para el
  aprendizaje activo y colaborativo de la
  programación.
  – IPs de los Subproyectos:
     • VELÁZQUEZ ITURBIDE; J. ÁNGEL
     • REDONDO DUQUE; MIGUEL ANGEL
Agenda



Introducción
Eclipse en eLearning
Desarrollo MDE para Eclipse
COALA
Cole-Programming
Conclusiones
Introducción
Consideramos el desarrollo de un sistema de
 eLearning como el desarrollo de un sistema
 software

Desarrollo de software
  Tarea costosa y compleja
     Lenguajes orientados a objetos
     Reutilización de componentes


Se requiere explorar nuevos paradigmas
Agenda



Introducción
Eclipse en eLearning
Desarrollo MDE para Eclipse
COALA
Cole-Programming
Conclusiones
Eclipse en eLearning
Eclipse
  IDE de uso profesional y docente
  Soporte para integración en CASEs
     Por ejemplo, Visual Paradigm
  No tiene soporte específico para enseñanza
  Incorpora posibilidades de personalización y
   expansión
     Eclipse Communications Framework (ECF)
     Web Tools Project (WTP)
     Eclipse Modelling Framework (EMF)
     Graphical Editing Framework (GEF)
     Test and Performance Tooling Project (TPTP)
     Business Intelligence and Reporting Tools (BIRT)
Eclipse en eLearning
Eclipse
  Entorno personalizable (extensible) mediante
   agregación de plug-ins
  Persigue lograr una plataforma universal de
   desarrollo
Eclipse en eLearning
Versión de Eclipse para educación
  Pretende crear un entorno que permita a los
   estudiantes centrarse en la tarea de aprender
  Soporte para los lenguajes de programación y
   herramientas de uso común en estas titulaciones
     Ej. Java, Scheme, Prolog, etc.

  Se encuentra en “incubation”

  http://wiki.eclipse.org/Eclipse_IDE_for_Education
Eclipse en eLearning
Ejemplos
  Kenya Eclipse
Eclipse en eLearning
Ejemplos
  Jazz Sangam
Ejemplos
            Eclipse en eLearning
  Saros
504                                                                                      Recursos docentes


    temporal de los cambios producidos en el              soporte de todos estos lenguajes incluye editores
    código.                                               con resaltado de sintaxis y marcación de errores
                                            XV Jornadas dede compilación en el propiode la Informática
                                                           Enseñanza Universitaria código, depuración,        5


                                    Eclipse en eLearning
    Con estas características en mente se ha              ayuda integrada, entre otras características.
desarrollado EclipseGavab, una herramienta                Todos estos lenguajes se utilizan en diversas
colaborativa para la docencia online de la                asignaturas para enseñar diferentes paradigmas o
programación. En la siguiente sección se                  metodologías de la programación.

Ejemplos
describen las características de esta herramienta.            Desde el punto de vista colaborativo,
                                                          EclipseGavab incorpora un conjunto de
                                                          herramientas que dotan al entorno de desarrollo
3. Descripción de EclipseGavab
      EclipseGavab
EclipseGavab es una distribución de Eclipse
                                                          de capacidades colaborativas como clientes de
                                                          chat, edición compartida del código y un cliente
orientada a la docencia presencial y online de la         del sistema de control de versiones Subversion
informática. Esta distribución incluye soporte            [18] que permite utilizar repositorios de código
para varios lenguaje de programación, lo que              para compartir programas. El control del
permite su utilización en diferentes asignaturas,         repositorio     subversión    se     ofrece    en
y un entorno colaborativo en el cual los alumnos          EclipseGavab a través del plugin Subversive. El
pueden llevar a cabo su aprendizaje. Con                  chat y la edición compartida se implementan
EclipseGavab es posible aplicar el Aprendizaje            con el plugin Eclipse Communication
Basado en Proyectos en la enseñanza online. En            Framework. Este plugin presenta características
la Figura 1 se muestra el logotipo de esta                similares al módulo Collab de Netbeans.
herramienta.                                                  Las Figura 2 y 3 muestran una sesión de
                                                          edición compartida de código. La Figura 2
                                                          muestra el entorno EclipseGavab que está
                                                          siendo utilizado por el profesor. La Figura 3
                                                          muestra el entorno que está siendo utilizado por
                                                          el alumno. El profesor incluye un comentario en
                                                          el código del alumno indicándole que la
                                                          implementación que ha realizado de una
                                                          determinada funcionalidad que se le requería en
                                                          la práctica no considera un caso básico. En su
                                                          editor, el alumno observa inmediatamente lo que
                                                          el profesor escribe.
                                                              Eclipse es un sistema modular que permite
                                                          la inclusión de funcionalidades para el
Figura 1.   Logotipo de EclipseGavab
                                                          desarrollo     en    diversos    lenguajes     de
    Como se ha comentado anteriormente, para              programación. Están disponibles componentes
que una herramienta pueda utilizarse en el                para muchos lenguajes de programación, pero al
Agenda



Introducción
Eclipse en eLearning
Desarrollo MDE para Eclipse
COALA
Cole-Programming
Conclusiones
U N M É T O D O P A R A E L D E S A R R O L L O D E S IS T E M A S C O L A B O R A T IV O S D E M O D E L A D O


    Desarrollo MDE para Eclipse
Framework metodológico
Desarrollo MDE para Eclipse
Framework conceptual
  Metamodelos que se usan en el proceso
     Metamodelo del dominio
     Metamodelo del espacio de trabajo
     Metamodelos de la sesión de trabajo
     Metamodelo del protocolo de colaboración
Desarrollo MDE para Eclipse
Framework Tecnológico
  Ejemplo de creación de un editor gráfico




                                                       Selección de objetos gráficos (o
                                                      diccionario gráfico) con gmfgraph
               Modelo de dominio
                  con ecore




                 Construcción de
                 herramientas
                 con gmftool



                             Correspondencia/mape
                             o dominio-gráficos con
                                           gmfmap
Desarrollo MDE para Eclipse
Desarrollo MDE para Eclipse
Ejemplo: Circuitos Digitales
Desarrollo MDE para Eclipse
Ejemplo: Diagramas CTT
Desarrollo MDE para Eclipse
Ejemplo: Mapas Conceptuales
Agenda



Introducción
Eclipse en eLearning
Desarrollo MDE para Eclipse
COALA
Cole-Programming
Conclusiones
Introducción a COALA
• Ayudar a adquirir la competencia de la
  Programación
  – Diseño de ITS (Intelligent Tutoring System) para
    aprender a programar  COALA
     •   eLearning standards
     •   Interoperable
     •   Agregación Ad-hoc de componentes
     •   Interacción natural
  – COALA: Computer Assisted Environment for
    Learning Algorithms
http://chico.inf-cr.uclm.es/coala
Fuzzy representation
                    Fuzzy representation
                   of the ideal algorithm
                    of the ideal algorithm
                                              Degree of membership
                                              with the fuzzy set


                    Metrics
                    Metrics                 Metrics
                                            Metrics
                  Calculation
                   Calculation            Calculation
                                           Calculation




                 Algorithm that
                  Algorithm that       Algorithm for
                                        Algorithm for
      Writes                                             Writes
                     solves
                      solves          trying to solve
                                       trying to solve
                  the problem
                   the problem         The Problem
                                        The Problem

Teacher                                                              Student
                                  Test
                                   Test            Runs test cases
          Sets
                                 Cases
                                  Cases
Penalty                      Penalty
    Not acceptance   region    Total acceptance   region        Not acceptance
        region                       region                         region
1


        Low                                                         High
                                  Normal


0
                 a         b                      c         d
                                 Measured
                                  Value
McCabe                                                                         n

1,20
1,00
                                                         Assessment OWA( pi ) =                   ∑ a µ(x )
                                                                                                   i =1
                                                                                                           i    i

0,80
0,60
0,40                                                    Explanation  Fuzzy Rules + Test Cases
0,20
0,00
       0   2        4       6     8          10   12                  Control Complexity
                                                       1,20
               Normal       Low       High
                                                       1,00
                                                       0,80
           Operational Complexity                      0,60
1,20                                                   0,40
1,00                                                   0,20
0,80                                                   0,00
0,60                                                          0   2       4     6     8           10       12
0,40
                                                                      Normal    Low        High
0,20
0,00
       0   2       4        6     8          10   12

               Normal       Low       High
Implementación
• Entorno Eclipse

• Middleware de comunicación  SQLSpace
1: Send task                                                     3: Download LD

                     6: Notify solution                            TupleSpace         4: Download task
                                                                                     5: Send solution
                     8: View evaluation                              Server
COALA’s instance                                                                      8: View evaluation
 for the teacher                                                                     2:
                                                                                        Se
                                                                                8:
                                                                           9:       Ch nd
                                                   ion             n          Se      an        LD                COALA’s instance
                                               t              io                 nd      ge         fo
                                          solu        lu   at                       up        pr       r           for the students
                                     tify          va                                  da       o p eac
                                                 e                                                       h
                                  No           d                                          te       er
                                                                                                      ty   us
                               6:         S en                                               d
                                                                                               LD            er
                                       7:



                                                                         WS                           Proxy
                                                                                                    LD Service
                                                                                                                          EJB/WS

                   Evaluator
                    Service
                                                                              LDs use from Tuple Space Server:
                                                                                    -Tasks
                                                                                    -Evaluations
                                                                              Runs use from LD enginee:
                                                                                    -Users
Reading activity




Activity tree



            Download programming
                    tasks
Workspace

                                                 Source code




                         Connection properties




                           Explanation




                                                               Test Cases




Evaluation
                                                                            Fuzzy Representation
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Complementos de COALA
• Edunet (Education on Internet):
   – IMS-LD player  GUI con Adobe Flash CS4
• Tuple-LD (Tuple Learning Design)
   – Motor deLearning Design basado en TupleSpaces
      • Usa SQLSpaces
• COLE-Programming (Collaborative Learning
  Programming)
   – Eclipse plug-in para colaboración
      • Usa SQLSpaces
• Más información en:
   – http://chico.esi.uclm.es/coala
Edunet
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Conferencia Armenia Manuel Ortega
Resumen de COALA
• COALA  ITS
   – Modelos:
       • Cognitive Student Model  Conjunto de evaluaciones
       • Instructional Model  Especificaciones del learning design Artefact
         Model  Lógica difusa
   – Características:
       • Entorno sobre Eclipse
       • Sistema heterogéneo distribuido  SQLSpaces
                                                               Extensible
       • Escritura a mano
• Mejoras para el estudiante
   – Mejota de la Interfaz de usuario  Edunet
   – Motor para TupleSpace Tuple-LD
   – Herramientas colaborativas  COLE-Programming
Agenda



Introducción
Eclipse en eLearning
Desarrollo MDE para Eclipse
COALA
Cole-Programming
Conclusiones
Introducción
• Contexto: Aprendizaje de la programación
   – Escenario tipico: Clases teóricas + lab. de programación
   – Actividades que implican resolución de problemas
      • Fomentar un aprendizaje activo
   – Los estudiantes
      • deben aprender a diseñar, desarrollar, verificar y depurar
      • empleando herramientas profesionales (IDEs) que están
        diseñadas para programadores profesionales (p. ej. Eclipse,
        JDeveloper, NetBeans, IntelliJ, etc.)
• Propósito:
      • Introducir mejoras en entornos profesionales mediante
        herramientas que soporten al proceso de
        aprendizaje/enseñanza.
Introducción
• La implantación de los principios propuestos por el EEES incluye el
  trabajo en grupo como técnica a potenciar en las aulas.

• Computer Supported Collaborative Learning
    – Aprovecha el efecto sinérgico de que varios estudiantes colaboren
      para resolver un problema
    – Proporciona el soporte computacional que les permita comunicarse y
      coordinarse en la realización de sus actividades de aprendizaje

• Aplicado al aprendizaje de la Programación
    – Programación por pares
Objetivo
• Dar soporte computacional a contextos educativos CSCL para
  aprendizaje de la programación.

• Dos aproximaciones:
   – herramientas y servicios colaborativos de uso extendido y
     generalizado (como aquellos que proporcionan los LMS)
   – herramientas y servicios colaborativos más adaptados a la tarea
     concreta a realizar e integrados dentro del entorno de aprendizaje
     que habitualmente se emplee para la enseñanza de esta disciplina.

• Se pretende: evolucionar COALA  sistema existente para el
  aprendizaje de la Programación sin soporte para la realización de
  tareas colaborativas, dotándole de herramientas colaborativas
  integradas en dicho entorno
Identificando necesidades
• Identificar las necesidades en cuanto a IDEs de
  Programación (y de Eclipse en particular)

• Objetivo:
   – Conocer a qué herramientas de comunicación/coordinación
     suelen recurrir a la hora de realizar tareas colaborativas de
     Programación, qué tipo de información intercambia a través de
     las mismas, etc.

• Método:
   – Cuestionario cumplimentado por estudiantes de la asignatura
     Sistemas para la Colaboración de 5º Curso de la Ingeniería
     Superior en Informática de la UCLM.
¿ A q u é h e r r a m i e n t a s d e c o m u n i c a c ió n / c o o r d i n a c i ó n s u e l e r e c u r r ir ?
         E -m a il                            Chat                            1   Fo ro           A u d i o / v i d e o c o n f e r e n c ia       R e d e s s o c ia l e s    1
                                                                             0%                                                                                               0%
          4
       3 6%           1                   4 5                                  5       2                      5
                                                                                                                        1
                                                                                                                                                                 2
                                         6% 6%          1                     11%     22%                              14%                             5
      18%            35%                                                4                                    29%               2                      30%       20%
                                                       44%
                                      3                                22%                                                    14%
                                                                                                                                      3
                                     31%
          2                                                                          3                                               0%                  4         3
                                               2                                                                     4
         41%                                                                        45%                                                                 20%       30%
                                              13%                                                                   43%




                                               ¿ Q u é t i p o d e i n f o r m a c i ó n in t e r c a m b i a ?
M e n sa je s d e e r r o r   C o p i a l i t e r a l d e c ó d ig o   Fich e r o s f u e n t e    P a n t a lla z o s d e c ó d igo           P a n t a lla d e a p ln e n
                                                                                                                                               m o m en to d e erro r
          4                              4                                            1                        5        1                               5        1
         6%            1                19%             1                            16%                      17%      16%                                      10%    2
                                                                        5                                                                              20%
 3                    38%                              31%                                                                                                            10%
                                                                       42%                                                      2
31%
                                                                                                        4                      17%
                                      3                                                                25%                                            4                3
                                                     2                                 2
            2                        31%                                                                              3                              30%              30%
                                                    19%                               42%
           25%                                                                                                       25%
Soporte a la Colaboración en la
                     Arquitectura de COALA
                                                                                          COLE-Programming

Otros servicios                                    Lado del cliente                                Lado del servidor
                   Eclipse SWT                                                   Resto
                                        Chat           Foro         Pool
                                                                                Viewers
                   Viewers/Editors     Viewer         Viewer       Viewer       COALA

                                                                                 Resto
                   Eclipse SWT          Chat           Foro         Pool
                                                                               Controllers
                   ContentProviders   Controller     Controller   Controller     COALA

  Servicios                             Chat           Foro         Pool
                                                                                 Resto
                                                                                Proxies
                                                                                               Lógica conversión
   COALA              Eclipse
                                        Proxy          Proxy        Proxy       COALA            Tuplas - SQL

   SQLSpaces         Platform                                                                   SQLSpaces
                                                    SQLSpaces Client Stubs                                         MySQL
   Client Stubs                                                                                   Server

         JVM                                          JVM                                           JVM

                                                     Conexión TCP
COLE-Programming: Vista de chat
COLE-Programming: Vista de foro
COLE-Programming: Vista votaciones
Mensaje de descripción


                               Tipo de mensaje
                         (código, error, warning, etc.)



Código fuente, mensaje
     de error, etc.




                                      Identificador del mensaje compartido
Filtrado de mensajes



                                                             Selección del filtro




                               Colores para identificar el
Especificación del
                                   tipo de mensaje
 tipo de mensaje
Monitorización
                           Qué usuario se
                            monitoriza
                               Actividad

                                Participación

 Para cada                      Colaboración
herramienta
Experiencia
• Objetivo:
   – Analizar la viabilidad de la propuesta
• Cómo:
   – Comprobar qué alternativa prefieren los estudiantes sobre
     herramientas colaborativas:
       • específicas para la Programación e incluidas dentro del IDE
       • genéricas basadas en LMS no integradas
• Participantes:
   – 16 estudiantes de la asignatura Sistemas para la Colaboración de 5º
     Curso de la Ingeniería Superior en Informática de la UCLM
       • Los mismos a los que anteriormente se les pasó el cuestionario para
         identificar las necesidades en herramientas colaborativas específicas para la
         Programación.
       • Para la experiencia los estudiantes fueron agrupados aleatoriamente en
         parejas.
Experiencia
• Procedimiento:
   – 1ª sesión práctica (Eclipse+Herram. extern. Moodle): 40 min.
       • Ejercicio de Programación haciendo uso de Eclipse, así como las herramientas
         externas de comunicación y coordinación incluidas en Moodle.
   – Cuestionario (Eclipse+Herram. externas Moodle): 10 min
       • Evaluar su impresión sobre dichas herramientas.
   – 2ª sesión práctica (Eclipse+COLE-Programming): 40 min.
       • Ejercicio de Programación (nivel de complejidad similar), usando las
         herramientas integradas en Eclipse (COLE-Programming).
   – Cuestionario (Eclipse+COLE-Programming): 10 min
       • Evaluar su impresión sobre dichas herramienta
• Cuestionarios:
   – Preguntas de respuesta acotada  escala tipo Likert del 1 al 5
   – Preguntas de respuesta abierta para emitir opinión o dar
     explicación/justificación
Resultados
      P u n t u a ció n a la s h e r r a m ie n t a s                                       P u n t u a ció n a la s h e r r a m ie n t a s
           co la b o r a t iv a s g e n é rica s                                          in t e g r a d a s e n CO LE-P r o g ra m m in g
80%                                                                                 80%
70%                                                                                 70%
60%                                                                                 60%
50%                                                                                 50%
                                                        C hat                       40%                                                 C h at
40%
30%                                                                                 30%
20%                                                     Foro                        20%                                                 Fo ro
10%                                                                                 10%
 0%                                                                                  0%                                                 H e r r a m ie n ta s d e
                                                        H e r r a m ie n ta s d e
                                                        v o t a c ió n                                                                  v o ta c ió n
Resultados
      U t ilid a d d e c a ra ct e r íst ica s e sp e cíf ic a s p a r a la p r o g r a m a c ió n e n
                                       C O LE -P r o g ra m m in g
60%


50%
                                                                               P e r s o n a liz a c ió n d e c o lo r e s
40%


30%                                                                            In fo r m a c ió n d e l in s t a n t e d e
                                                                               e n v ío d e l ú lt im o m e n s a je
20%
                                                                               H e rra m ie n ta d e
10%                                                                            c o m p a r t ic ió n d e c ó d ig o
 0%                                                                            H e rr a m ie n t a p a r a c o m p a r t ir
                                                                               e r r o r e s , w a r n in g s , e t c
Conclusiones (I)
• Marco de trabajo y aplicación:
   – Resolución de problemas de Programación de forma colaborativa
      • Técnicas como la Programación por Pares
      • Dentro del EEES
• Identificación de necesidades apuntadas por los estudiantes
  para la realización de tareas colaborativas de Programación
   – Requisitos funcionales para construir un sistema colaborativo para el
     aprendizaje de la Programación
Conclusiones (II)
• Construcción del sistemaEvolución de COALA + COLE-
  Programming
   – Partiendo de COALA: sistema sin soporte para la colaboración basado
     en Eclipse
   – Integración de los requisitos necesarios en su arquitectura para
     proporcionar soporte a la colaboración
   – Se ha mostrado cómo ha quedado implementada la funcionalidad
     identificada por los estudiantes en el plug-in para Eclipse  COLE-
     Programming.
• Primeras impresiones de los estudiantes:
   – Resultan interesantes las características introducidas en las
     herramientas por COLE-Programming específicas para la
     Programación e integradas dentro del IDE que suelen emplear para
     realizar sus tareas de Programación.
MUCHAS GRACIAS


Especialmente a:
William J. Giraldo
 M. Lili Villegas
Fáber D. Giraldo
¿Preguntas?


   Enseñanza de la
   Programación por
   pares mediante el
   entorno Eclipse

Más contenido relacionado

La actualidad más candente

Fundamentos de Lenguaje de programacion
Fundamentos de Lenguaje de programacionFundamentos de Lenguaje de programacion
Fundamentos de Lenguaje de programacionGermán Sailema
 
Introducción a JAVA
Introducción a JAVAIntroducción a JAVA
Introducción a JAVAjohitafresh
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conprejtk1
 
Java kaime con
Java kaime conJava kaime con
Java kaime conjtk1
 
Java Teoría-ejercicios
Java Teoría-ejerciciosJava Teoría-ejercicios
Java Teoría-ejerciciosEstefy Sanchez
 
[ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java [ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java Eudris Cabrera
 
C# DidáCtico
C# DidáCticoC# DidáCtico
C# DidáCticosemuvi
 
CUESTIONARIO JAVA
CUESTIONARIO JAVACUESTIONARIO JAVA
CUESTIONARIO JAVAjesanchez5
 
Avanse de proyecto de calculo
Avanse de proyecto de calculoAvanse de proyecto de calculo
Avanse de proyecto de calculoRoque Macias E.
 
Users c#guia total del programador
Users c#guia total del programadorUsers c#guia total del programador
Users c#guia total del programadorSantos Rivera Luján
 
Fundamentos de programamacion c#
Fundamentos de programamacion c# Fundamentos de programamacion c#
Fundamentos de programamacion c# Robert Rodriguez
 
Lenguajes de programación 5 marzo 2013
Lenguajes de programación 5 marzo 2013Lenguajes de programación 5 marzo 2013
Lenguajes de programación 5 marzo 2013Belén
 
Test Programación Orientada a Objetos
Test Programación Orientada a  ObjetosTest Programación Orientada a  Objetos
Test Programación Orientada a ObjetosLuis Arturo Vargas
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCFmikaelsorai
 

La actualidad más candente (20)

Clase No.2 Preparando el Ambiente de Java
Clase No.2 Preparando el Ambiente de Java Clase No.2 Preparando el Ambiente de Java
Clase No.2 Preparando el Ambiente de Java
 
Fundamentos de Lenguaje de programacion
Fundamentos de Lenguaje de programacionFundamentos de Lenguaje de programacion
Fundamentos de Lenguaje de programacion
 
Introducción a JAVA
Introducción a JAVAIntroducción a JAVA
Introducción a JAVA
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conpre
 
Java kaime con
Java kaime conJava kaime con
Java kaime con
 
Java Teoría-ejercicios
Java Teoría-ejerciciosJava Teoría-ejercicios
Java Teoría-ejercicios
 
Lenguaje C sharp
Lenguaje C sharpLenguaje C sharp
Lenguaje C sharp
 
Java basico
Java basicoJava basico
Java basico
 
[ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java [ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java
 
C# DidáCtico
C# DidáCticoC# DidáCtico
C# DidáCtico
 
CUESTIONARIO JAVA
CUESTIONARIO JAVACUESTIONARIO JAVA
CUESTIONARIO JAVA
 
Avanse de proyecto de calculo
Avanse de proyecto de calculoAvanse de proyecto de calculo
Avanse de proyecto de calculo
 
Users c#guia total del programador
Users c#guia total del programadorUsers c#guia total del programador
Users c#guia total del programador
 
Kiwi
KiwiKiwi
Kiwi
 
Fundamentos de programamacion c#
Fundamentos de programamacion c# Fundamentos de programamacion c#
Fundamentos de programamacion c#
 
Lenguajes de programación 5 marzo 2013
Lenguajes de programación 5 marzo 2013Lenguajes de programación 5 marzo 2013
Lenguajes de programación 5 marzo 2013
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Java
JavaJava
Java
 
Test Programación Orientada a Objetos
Test Programación Orientada a  ObjetosTest Programación Orientada a  Objetos
Test Programación Orientada a Objetos
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
 

Destacado

Usos educativos de internet
Usos educativos de internetUsos educativos de internet
Usos educativos de internetGissela Andrade
 
La verdad: VEA LAS IMÁGENES DE SUPUESTA BRUTALIDAD POLICIAL EN VENEZUELA, QUE...
La verdad: VEA LAS IMÁGENES DE SUPUESTA BRUTALIDAD POLICIAL EN VENEZUELA, QUE...La verdad: VEA LAS IMÁGENES DE SUPUESTA BRUTALIDAD POLICIAL EN VENEZUELA, QUE...
La verdad: VEA LAS IMÁGENES DE SUPUESTA BRUTALIDAD POLICIAL EN VENEZUELA, QUE...Colectivo Toleranciaydemocracia
 
Oer satsinger i norge stockholm 080210 jens breivik
Oer satsinger i norge  stockholm 080210 jens breivikOer satsinger i norge  stockholm 080210 jens breivik
Oer satsinger i norge stockholm 080210 jens breivikJensBreivik
 
Callejeros en el tiempo. Mi proyecto para el curso ABP Mooc del Intef
Callejeros en el tiempo. Mi proyecto para el curso ABP Mooc del IntefCallejeros en el tiempo. Mi proyecto para el curso ABP Mooc del Intef
Callejeros en el tiempo. Mi proyecto para el curso ABP Mooc del IntefJose Luis Redondo
 
Cyclomundo Ny Times
Cyclomundo Ny TimesCyclomundo Ny Times
Cyclomundo Ny TimesCyclomundo
 

Destacado (8)

Usos educativos de internet
Usos educativos de internetUsos educativos de internet
Usos educativos de internet
 
La verdad: VEA LAS IMÁGENES DE SUPUESTA BRUTALIDAD POLICIAL EN VENEZUELA, QUE...
La verdad: VEA LAS IMÁGENES DE SUPUESTA BRUTALIDAD POLICIAL EN VENEZUELA, QUE...La verdad: VEA LAS IMÁGENES DE SUPUESTA BRUTALIDAD POLICIAL EN VENEZUELA, QUE...
La verdad: VEA LAS IMÁGENES DE SUPUESTA BRUTALIDAD POLICIAL EN VENEZUELA, QUE...
 
Oer satsinger i norge stockholm 080210 jens breivik
Oer satsinger i norge  stockholm 080210 jens breivikOer satsinger i norge  stockholm 080210 jens breivik
Oer satsinger i norge stockholm 080210 jens breivik
 
Almacen rr.ss.
Almacen rr.ss.Almacen rr.ss.
Almacen rr.ss.
 
Callejeros en el tiempo. Mi proyecto para el curso ABP Mooc del Intef
Callejeros en el tiempo. Mi proyecto para el curso ABP Mooc del IntefCallejeros en el tiempo. Mi proyecto para el curso ABP Mooc del Intef
Callejeros en el tiempo. Mi proyecto para el curso ABP Mooc del Intef
 
Cyclomundo Ny Times
Cyclomundo Ny TimesCyclomundo Ny Times
Cyclomundo Ny Times
 
Seegood
SeegoodSeegood
Seegood
 
Guia Clinica 2
Guia Clinica 2Guia Clinica 2
Guia Clinica 2
 

Similar a Conferencia Armenia Manuel Ortega

Similar a Conferencia Armenia Manuel Ortega (20)

Actividad 10
Actividad 10Actividad 10
Actividad 10
 
Progra
PrograProgra
Progra
 
Introducción a java
Introducción a javaIntroducción a java
Introducción a java
 
Opcion 5 Certificacion
Opcion 5 CertificacionOpcion 5 Certificacion
Opcion 5 Certificacion
 
Guia 1 java
Guia 1 javaGuia 1 java
Guia 1 java
 
Tarea3 de informatiaca aplicada a la educacion
Tarea3 de informatiaca aplicada a la educacionTarea3 de informatiaca aplicada a la educacion
Tarea3 de informatiaca aplicada a la educacion
 
FPJUCE - Secuencia del Curso
FPJUCE - Secuencia del CursoFPJUCE - Secuencia del Curso
FPJUCE - Secuencia del Curso
 
Poa Borrador
Poa BorradorPoa Borrador
Poa Borrador
 
Aspect Oriented Programming introduction
Aspect Oriented Programming introductionAspect Oriented Programming introduction
Aspect Oriented Programming introduction
 
CB09 ventura gladys
CB09 ventura gladysCB09 ventura gladys
CB09 ventura gladys
 
¡Tecnologia
¡Tecnologia¡Tecnologia
¡Tecnologia
 
¡Tecnologia
¡Tecnologia¡Tecnologia
¡Tecnologia
 
¡Tecnologia
¡Tecnologia¡Tecnologia
¡Tecnologia
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Exposicion equipo 2
Exposicion equipo 2Exposicion equipo 2
Exposicion equipo 2
 
Qué son herramientas para la creación y publicación de contenidos didácticos
Qué son herramientas para la creación y publicación de contenidos didácticosQué son herramientas para la creación y publicación de contenidos didácticos
Qué son herramientas para la creación y publicación de contenidos didácticos
 
Metodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesMetodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móviles
 
Eclipse
EclipseEclipse
Eclipse
 
Eclipse José Manuel unidad 1 semestre 2
Eclipse José Manuel unidad 1 semestre 2Eclipse José Manuel unidad 1 semestre 2
Eclipse José Manuel unidad 1 semestre 2
 
Eclipse jose manuel
Eclipse jose  manuelEclipse jose  manuel
Eclipse jose manuel
 

Último

U2_EA1_descargable TIC 2 SEM VIR PRE.pdf
U2_EA1_descargable TIC 2 SEM VIR PRE.pdfU2_EA1_descargable TIC 2 SEM VIR PRE.pdf
U2_EA1_descargable TIC 2 SEM VIR PRE.pdfJavier Correa
 
Revista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaRevista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaTatiTerlecky1
 
U2_EA2_descargable TICS PRESENCIAL 2.pdf
U2_EA2_descargable TICS PRESENCIAL 2.pdfU2_EA2_descargable TICS PRESENCIAL 2.pdf
U2_EA2_descargable TICS PRESENCIAL 2.pdfJavier Correa
 
EL BRILLO DEL ECLIPSE (CUENTO LITERARIO). Autor y diseñador JAVIER SOLIS NOYOLA
EL BRILLO DEL ECLIPSE (CUENTO LITERARIO). Autor y diseñador JAVIER SOLIS NOYOLAEL BRILLO DEL ECLIPSE (CUENTO LITERARIO). Autor y diseñador JAVIER SOLIS NOYOLA
EL BRILLO DEL ECLIPSE (CUENTO LITERARIO). Autor y diseñador JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
sociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercerosociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre terceroCEIP TIERRA DE PINARES
 
Tema 4 Rocas sedimentarias, características y clasificación
Tema 4 Rocas sedimentarias, características y clasificaciónTema 4 Rocas sedimentarias, características y clasificación
Tema 4 Rocas sedimentarias, características y clasificaciónIES Vicent Andres Estelles
 
GUÍA SIANET - Agenda - Tareas - Archivos - Participaciones - Notas.pdf
GUÍA SIANET - Agenda - Tareas - Archivos - Participaciones - Notas.pdfGUÍA SIANET - Agenda - Tareas - Archivos - Participaciones - Notas.pdf
GUÍA SIANET - Agenda - Tareas - Archivos - Participaciones - Notas.pdfNELLYKATTY
 
Programación Anual 2024 - CIENCIAS SOCIALES.docx
Programación Anual 2024  - CIENCIAS SOCIALES.docxProgramación Anual 2024  - CIENCIAS SOCIALES.docx
Programación Anual 2024 - CIENCIAS SOCIALES.docxJhordanBenitesSanche1
 
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdfRecursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdfNELLYKATTY
 
SECUENCIA DIDÁCTICA Matemática 1er grado
SECUENCIA  DIDÁCTICA Matemática 1er gradoSECUENCIA  DIDÁCTICA Matemática 1er grado
SECUENCIA DIDÁCTICA Matemática 1er gradoAnaMara883998
 
PROGRAMACIÓN CURRICULAR ANUAL DE CIENCIA Y TECNOLOGÍA
PROGRAMACIÓN CURRICULAR ANUAL DE CIENCIA Y TECNOLOGÍAPROGRAMACIÓN CURRICULAR ANUAL DE CIENCIA Y TECNOLOGÍA
PROGRAMACIÓN CURRICULAR ANUAL DE CIENCIA Y TECNOLOGÍAJoaqunSolrzano
 
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didácticaLa poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didácticaIGNACIO BALLESTER PARDO
 
1° GRADO UNIDAD DE APRENDIZAJE 0 - 2024.pdf
1° GRADO UNIDAD DE APRENDIZAJE 0 - 2024.pdf1° GRADO UNIDAD DE APRENDIZAJE 0 - 2024.pdf
1° GRADO UNIDAD DE APRENDIZAJE 0 - 2024.pdfdiana593621
 
TECNOLOGÍA EDUCATIVA, USO DE LAS TIC.pptx
TECNOLOGÍA EDUCATIVA, USO DE LAS TIC.pptxTECNOLOGÍA EDUCATIVA, USO DE LAS TIC.pptx
TECNOLOGÍA EDUCATIVA, USO DE LAS TIC.pptxFranciscoCruz296518
 
Concurso de Innovación Pedagógica T2 FONDEP 2024 Ccesa007.pdf
Concurso de Innovación Pedagógica  T2  FONDEP 2024 Ccesa007.pdfConcurso de Innovación Pedagógica  T2  FONDEP 2024 Ccesa007.pdf
Concurso de Innovación Pedagógica T2 FONDEP 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdfceeabarcia
 
1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADO1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADODJElvitt
 

Último (20)

Conducta ética en investigación científica.pdf
Conducta ética en investigación científica.pdfConducta ética en investigación científica.pdf
Conducta ética en investigación científica.pdf
 
VISITA DE ESTUDO À CRUZ VERMELHA _
VISITA DE ESTUDO À CRUZ VERMELHA                   _VISITA DE ESTUDO À CRUZ VERMELHA                   _
VISITA DE ESTUDO À CRUZ VERMELHA _
 
U2_EA1_descargable TIC 2 SEM VIR PRE.pdf
U2_EA1_descargable TIC 2 SEM VIR PRE.pdfU2_EA1_descargable TIC 2 SEM VIR PRE.pdf
U2_EA1_descargable TIC 2 SEM VIR PRE.pdf
 
Revista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección edibaRevista digital primer ciclo 2024 colección ediba
Revista digital primer ciclo 2024 colección ediba
 
U2_EA2_descargable TICS PRESENCIAL 2.pdf
U2_EA2_descargable TICS PRESENCIAL 2.pdfU2_EA2_descargable TICS PRESENCIAL 2.pdf
U2_EA2_descargable TICS PRESENCIAL 2.pdf
 
EL BRILLO DEL ECLIPSE (CUENTO LITERARIO). Autor y diseñador JAVIER SOLIS NOYOLA
EL BRILLO DEL ECLIPSE (CUENTO LITERARIO). Autor y diseñador JAVIER SOLIS NOYOLAEL BRILLO DEL ECLIPSE (CUENTO LITERARIO). Autor y diseñador JAVIER SOLIS NOYOLA
EL BRILLO DEL ECLIPSE (CUENTO LITERARIO). Autor y diseñador JAVIER SOLIS NOYOLA
 
sociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercerosociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercero
 
Tema 4 Rocas sedimentarias, características y clasificación
Tema 4 Rocas sedimentarias, características y clasificaciónTema 4 Rocas sedimentarias, características y clasificación
Tema 4 Rocas sedimentarias, características y clasificación
 
GUÍA SIANET - Agenda - Tareas - Archivos - Participaciones - Notas.pdf
GUÍA SIANET - Agenda - Tareas - Archivos - Participaciones - Notas.pdfGUÍA SIANET - Agenda - Tareas - Archivos - Participaciones - Notas.pdf
GUÍA SIANET - Agenda - Tareas - Archivos - Participaciones - Notas.pdf
 
Actividad de bienestar docente 2016 Pereira
Actividad de bienestar docente 2016 PereiraActividad de bienestar docente 2016 Pereira
Actividad de bienestar docente 2016 Pereira
 
Programación Anual 2024 - CIENCIAS SOCIALES.docx
Programación Anual 2024  - CIENCIAS SOCIALES.docxProgramación Anual 2024  - CIENCIAS SOCIALES.docx
Programación Anual 2024 - CIENCIAS SOCIALES.docx
 
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdfRecursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
 
SECUENCIA DIDÁCTICA Matemática 1er grado
SECUENCIA  DIDÁCTICA Matemática 1er gradoSECUENCIA  DIDÁCTICA Matemática 1er grado
SECUENCIA DIDÁCTICA Matemática 1er grado
 
PROGRAMACIÓN CURRICULAR ANUAL DE CIENCIA Y TECNOLOGÍA
PROGRAMACIÓN CURRICULAR ANUAL DE CIENCIA Y TECNOLOGÍAPROGRAMACIÓN CURRICULAR ANUAL DE CIENCIA Y TECNOLOGÍA
PROGRAMACIÓN CURRICULAR ANUAL DE CIENCIA Y TECNOLOGÍA
 
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didácticaLa poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
 
1° GRADO UNIDAD DE APRENDIZAJE 0 - 2024.pdf
1° GRADO UNIDAD DE APRENDIZAJE 0 - 2024.pdf1° GRADO UNIDAD DE APRENDIZAJE 0 - 2024.pdf
1° GRADO UNIDAD DE APRENDIZAJE 0 - 2024.pdf
 
TECNOLOGÍA EDUCATIVA, USO DE LAS TIC.pptx
TECNOLOGÍA EDUCATIVA, USO DE LAS TIC.pptxTECNOLOGÍA EDUCATIVA, USO DE LAS TIC.pptx
TECNOLOGÍA EDUCATIVA, USO DE LAS TIC.pptx
 
Concurso de Innovación Pedagógica T2 FONDEP 2024 Ccesa007.pdf
Concurso de Innovación Pedagógica  T2  FONDEP 2024 Ccesa007.pdfConcurso de Innovación Pedagógica  T2  FONDEP 2024 Ccesa007.pdf
Concurso de Innovación Pedagógica T2 FONDEP 2024 Ccesa007.pdf
 
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
21 MARZO DIA INTERNACIONAL DOS BOSQUES.pdf
 
1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADO1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADO
 

Conferencia Armenia Manuel Ortega

  • 1. Segundo Congreso Internacional de Ingeniería del Software Enseñanza de la Programación por pares mediante el entorno Eclipse
  • 2. Manuel Ortega Escuela Superior de Informática Mianuel.Ortega@uclm.es Enseñanza de la Programación por pares mediante el entorno Eclipse
  • 3. Líneas de Investigación de CHICO Manuel Ortega Cantero Dr. Manuel Ortega Cantero Catedrático de Universidad Escuela Superior de Informática Edificio Fermín Caballero, Desp A-1 Paseo de la Universidad, 4 13071 – Ciudad Real (España) Armenia (Colombia) e-mail: Manuel.Ortega@uclm.es 11 de Octubre de 2012 Telf.: 926295481 Fax.: 926295354
  • 4. Basic Research • Informática Educativa y sistemas de E-Learning – Diseño de modelos computacionales de e-learning – Integración de ontologías, estándares y objetos de aprendizaje en e-learning • Interacción Persona – Computador – Diseño y especificación de interfaces de usuario colaborativas/cooperativas – Diseño de interacción con dispositivos para computación ubicua y móvil y Realidad Aumentada
  • 5. El grupo CHICO 9. Dr. Francisco Jurado (Univ. 1. Dr. Manuel Ortega Lleida) 2. Dr. Miguel A. Redondo 10. Dr. Rafael Duque (Univ. 3. Dr. Crescencio Bravo Cantabria) 4. Dr. Miguel Lacruz 11. Dr. Jesús Gallardo (Univ. Zaragoza) 5. Dr. Maximiliano Paredes (URJC) 12. Dr. William J. Giraldo (Univ. 6. Dra. Ana Isabel Molina Quindío) 7. Dr. Pedro P. Sánchez 13. Dr. Emiliano Almansa 8. Dra. Asunción Sánchez 14. Don Alfonso Aranda 15. Don Fernando Gallego 16. Don José R. Sánchez
  • 6. Applied Research • Aplicaciones industriales – E-Learning • Learning to write by writing on the web (EOI-JCCM) • Learning Management Systems (LMS-MEC-JCCM) • CIVI-ERASMUS (UCLM) – Human – Computer Interaction • Visualización instrumental y móvil (Repsol) • Aplicaciones de diagnosis de automóviles (COJALI) • Herramientas móviles de desarrollo (COFARCIR) • Reuniones móviles (Grupo DINFOR) • Herramientas CASE Tools para desarrollo de interfaces colaborativas
  • 8. Current Research Projects with Public Fundings (I) • AULA-T – Desarrollo de métodos y sistemas de aprendizaje basados en estándares para la enseñanza de la programación – Grupo de Excelencia de la JCCM
  • 9. Current Research Projects with Public Fundings (II) • mGUIDE – Framework metodológico para el desarrollo de para computación móvil. – Dos universidades – COFARCIR – Patrocinio de la JCCM
  • 10. Current Research Projects with Public Fundings (III) • mGUIDE
  • 11. Current Research Projects with Public Fundings (IV) • FAPPEC Framework metodológico y tecnológico para la construcción de sistemas de análisis de la colaboración en sistemas de soporte al trabajo en grupo – Participación de grupos de 2 universidades españolas – Financiado por la JCCM
  • 12. Current Research Projects with Public Fundings (& V) • FAPPEC
  • 13. Nuevo Proyecto: EDUCA-PROG • Sistemas de software avanzados para el aprendizaje activo y colaborativo de la programación. – IPs de los Subproyectos: • VELÁZQUEZ ITURBIDE; J. ÁNGEL • REDONDO DUQUE; MIGUEL ANGEL
  • 14. Agenda Introducción Eclipse en eLearning Desarrollo MDE para Eclipse COALA Cole-Programming Conclusiones
  • 15. Introducción Consideramos el desarrollo de un sistema de eLearning como el desarrollo de un sistema software Desarrollo de software Tarea costosa y compleja Lenguajes orientados a objetos Reutilización de componentes Se requiere explorar nuevos paradigmas
  • 16. Agenda Introducción Eclipse en eLearning Desarrollo MDE para Eclipse COALA Cole-Programming Conclusiones
  • 17. Eclipse en eLearning Eclipse IDE de uso profesional y docente Soporte para integración en CASEs Por ejemplo, Visual Paradigm No tiene soporte específico para enseñanza Incorpora posibilidades de personalización y expansión Eclipse Communications Framework (ECF) Web Tools Project (WTP) Eclipse Modelling Framework (EMF) Graphical Editing Framework (GEF) Test and Performance Tooling Project (TPTP) Business Intelligence and Reporting Tools (BIRT)
  • 18. Eclipse en eLearning Eclipse Entorno personalizable (extensible) mediante agregación de plug-ins Persigue lograr una plataforma universal de desarrollo
  • 19. Eclipse en eLearning Versión de Eclipse para educación Pretende crear un entorno que permita a los estudiantes centrarse en la tarea de aprender Soporte para los lenguajes de programación y herramientas de uso común en estas titulaciones Ej. Java, Scheme, Prolog, etc. Se encuentra en “incubation” http://wiki.eclipse.org/Eclipse_IDE_for_Education
  • 22. Ejemplos Eclipse en eLearning Saros
  • 23. 504 Recursos docentes temporal de los cambios producidos en el soporte de todos estos lenguajes incluye editores código. con resaltado de sintaxis y marcación de errores XV Jornadas dede compilación en el propiode la Informática Enseñanza Universitaria código, depuración, 5 Eclipse en eLearning Con estas características en mente se ha ayuda integrada, entre otras características. desarrollado EclipseGavab, una herramienta Todos estos lenguajes se utilizan en diversas colaborativa para la docencia online de la asignaturas para enseñar diferentes paradigmas o programación. En la siguiente sección se metodologías de la programación. Ejemplos describen las características de esta herramienta. Desde el punto de vista colaborativo, EclipseGavab incorpora un conjunto de herramientas que dotan al entorno de desarrollo 3. Descripción de EclipseGavab EclipseGavab EclipseGavab es una distribución de Eclipse de capacidades colaborativas como clientes de chat, edición compartida del código y un cliente orientada a la docencia presencial y online de la del sistema de control de versiones Subversion informática. Esta distribución incluye soporte [18] que permite utilizar repositorios de código para varios lenguaje de programación, lo que para compartir programas. El control del permite su utilización en diferentes asignaturas, repositorio subversión se ofrece en y un entorno colaborativo en el cual los alumnos EclipseGavab a través del plugin Subversive. El pueden llevar a cabo su aprendizaje. Con chat y la edición compartida se implementan EclipseGavab es posible aplicar el Aprendizaje con el plugin Eclipse Communication Basado en Proyectos en la enseñanza online. En Framework. Este plugin presenta características la Figura 1 se muestra el logotipo de esta similares al módulo Collab de Netbeans. herramienta. Las Figura 2 y 3 muestran una sesión de edición compartida de código. La Figura 2 muestra el entorno EclipseGavab que está siendo utilizado por el profesor. La Figura 3 muestra el entorno que está siendo utilizado por el alumno. El profesor incluye un comentario en el código del alumno indicándole que la implementación que ha realizado de una determinada funcionalidad que se le requería en la práctica no considera un caso básico. En su editor, el alumno observa inmediatamente lo que el profesor escribe. Eclipse es un sistema modular que permite la inclusión de funcionalidades para el Figura 1. Logotipo de EclipseGavab desarrollo en diversos lenguajes de Como se ha comentado anteriormente, para programación. Están disponibles componentes que una herramienta pueda utilizarse en el para muchos lenguajes de programación, pero al
  • 24. Agenda Introducción Eclipse en eLearning Desarrollo MDE para Eclipse COALA Cole-Programming Conclusiones
  • 25. U N M É T O D O P A R A E L D E S A R R O L L O D E S IS T E M A S C O L A B O R A T IV O S D E M O D E L A D O Desarrollo MDE para Eclipse Framework metodológico
  • 26. Desarrollo MDE para Eclipse Framework conceptual Metamodelos que se usan en el proceso Metamodelo del dominio Metamodelo del espacio de trabajo Metamodelos de la sesión de trabajo Metamodelo del protocolo de colaboración
  • 27. Desarrollo MDE para Eclipse Framework Tecnológico Ejemplo de creación de un editor gráfico Selección de objetos gráficos (o diccionario gráfico) con gmfgraph Modelo de dominio con ecore Construcción de herramientas con gmftool Correspondencia/mape o dominio-gráficos con gmfmap
  • 29. Desarrollo MDE para Eclipse Ejemplo: Circuitos Digitales
  • 30. Desarrollo MDE para Eclipse Ejemplo: Diagramas CTT
  • 31. Desarrollo MDE para Eclipse Ejemplo: Mapas Conceptuales
  • 32. Agenda Introducción Eclipse en eLearning Desarrollo MDE para Eclipse COALA Cole-Programming Conclusiones
  • 33. Introducción a COALA • Ayudar a adquirir la competencia de la Programación – Diseño de ITS (Intelligent Tutoring System) para aprender a programar  COALA • eLearning standards • Interoperable • Agregación Ad-hoc de componentes • Interacción natural – COALA: Computer Assisted Environment for Learning Algorithms
  • 35. Fuzzy representation Fuzzy representation of the ideal algorithm of the ideal algorithm Degree of membership with the fuzzy set Metrics Metrics Metrics Metrics Calculation Calculation Calculation Calculation Algorithm that Algorithm that Algorithm for Algorithm for Writes Writes solves solves trying to solve trying to solve the problem the problem The Problem The Problem Teacher Student Test Test Runs test cases Sets Cases Cases
  • 36. Penalty Penalty Not acceptance region Total acceptance region Not acceptance region region region 1 Low High Normal 0 a b c d Measured Value
  • 37. McCabe n 1,20 1,00 Assessment OWA( pi ) = ∑ a µ(x ) i =1 i i 0,80 0,60 0,40 Explanation  Fuzzy Rules + Test Cases 0,20 0,00 0 2 4 6 8 10 12 Control Complexity 1,20 Normal Low High 1,00 0,80 Operational Complexity 0,60 1,20 0,40 1,00 0,20 0,80 0,00 0,60 0 2 4 6 8 10 12 0,40 Normal Low High 0,20 0,00 0 2 4 6 8 10 12 Normal Low High
  • 38. Implementación • Entorno Eclipse • Middleware de comunicación  SQLSpace
  • 39. 1: Send task 3: Download LD 6: Notify solution TupleSpace 4: Download task 5: Send solution 8: View evaluation Server COALA’s instance 8: View evaluation for the teacher 2: Se 8: 9: Ch nd ion n Se an LD COALA’s instance t io nd ge fo solu lu at up pr r for the students tify va da o p eac e h No d te er ty us 6: S en d LD er 7: WS Proxy LD Service EJB/WS Evaluator Service LDs use from Tuple Space Server: -Tasks -Evaluations Runs use from LD enginee: -Users
  • 40. Reading activity Activity tree Download programming tasks
  • 41. Workspace Source code Connection properties Explanation Test Cases Evaluation Fuzzy Representation
  • 51. Complementos de COALA • Edunet (Education on Internet): – IMS-LD player  GUI con Adobe Flash CS4 • Tuple-LD (Tuple Learning Design) – Motor deLearning Design basado en TupleSpaces • Usa SQLSpaces • COLE-Programming (Collaborative Learning Programming) – Eclipse plug-in para colaboración • Usa SQLSpaces • Más información en: – http://chico.esi.uclm.es/coala
  • 64. Resumen de COALA • COALA  ITS – Modelos: • Cognitive Student Model  Conjunto de evaluaciones • Instructional Model  Especificaciones del learning design Artefact Model  Lógica difusa – Características: • Entorno sobre Eclipse • Sistema heterogéneo distribuido  SQLSpaces Extensible • Escritura a mano • Mejoras para el estudiante – Mejota de la Interfaz de usuario  Edunet – Motor para TupleSpace Tuple-LD – Herramientas colaborativas  COLE-Programming
  • 65. Agenda Introducción Eclipse en eLearning Desarrollo MDE para Eclipse COALA Cole-Programming Conclusiones
  • 66. Introducción • Contexto: Aprendizaje de la programación – Escenario tipico: Clases teóricas + lab. de programación – Actividades que implican resolución de problemas • Fomentar un aprendizaje activo – Los estudiantes • deben aprender a diseñar, desarrollar, verificar y depurar • empleando herramientas profesionales (IDEs) que están diseñadas para programadores profesionales (p. ej. Eclipse, JDeveloper, NetBeans, IntelliJ, etc.) • Propósito: • Introducir mejoras en entornos profesionales mediante herramientas que soporten al proceso de aprendizaje/enseñanza.
  • 67. Introducción • La implantación de los principios propuestos por el EEES incluye el trabajo en grupo como técnica a potenciar en las aulas. • Computer Supported Collaborative Learning – Aprovecha el efecto sinérgico de que varios estudiantes colaboren para resolver un problema – Proporciona el soporte computacional que les permita comunicarse y coordinarse en la realización de sus actividades de aprendizaje • Aplicado al aprendizaje de la Programación – Programación por pares
  • 68. Objetivo • Dar soporte computacional a contextos educativos CSCL para aprendizaje de la programación. • Dos aproximaciones: – herramientas y servicios colaborativos de uso extendido y generalizado (como aquellos que proporcionan los LMS) – herramientas y servicios colaborativos más adaptados a la tarea concreta a realizar e integrados dentro del entorno de aprendizaje que habitualmente se emplee para la enseñanza de esta disciplina. • Se pretende: evolucionar COALA  sistema existente para el aprendizaje de la Programación sin soporte para la realización de tareas colaborativas, dotándole de herramientas colaborativas integradas en dicho entorno
  • 69. Identificando necesidades • Identificar las necesidades en cuanto a IDEs de Programación (y de Eclipse en particular) • Objetivo: – Conocer a qué herramientas de comunicación/coordinación suelen recurrir a la hora de realizar tareas colaborativas de Programación, qué tipo de información intercambia a través de las mismas, etc. • Método: – Cuestionario cumplimentado por estudiantes de la asignatura Sistemas para la Colaboración de 5º Curso de la Ingeniería Superior en Informática de la UCLM.
  • 70. ¿ A q u é h e r r a m i e n t a s d e c o m u n i c a c ió n / c o o r d i n a c i ó n s u e l e r e c u r r ir ? E -m a il Chat 1 Fo ro A u d i o / v i d e o c o n f e r e n c ia R e d e s s o c ia l e s 1 0% 0% 4 3 6% 1 4 5 5 2 5 1 2 6% 6% 1 11% 22% 14% 5 18% 35% 4 29% 2 30% 20% 44% 3 22% 14% 3 31% 2 3 0% 4 3 2 4 41% 45% 20% 30% 13% 43% ¿ Q u é t i p o d e i n f o r m a c i ó n in t e r c a m b i a ? M e n sa je s d e e r r o r C o p i a l i t e r a l d e c ó d ig o Fich e r o s f u e n t e P a n t a lla z o s d e c ó d igo P a n t a lla d e a p ln e n m o m en to d e erro r 4 4 1 5 1 5 1 6% 1 19% 1 16% 17% 16% 10% 2 5 20% 3 38% 31% 10% 42% 2 31% 4 17% 3 25% 4 3 2 2 2 31% 3 30% 30% 19% 42% 25% 25%
  • 71. Soporte a la Colaboración en la Arquitectura de COALA COLE-Programming Otros servicios Lado del cliente Lado del servidor Eclipse SWT Resto Chat Foro Pool Viewers Viewers/Editors Viewer Viewer Viewer COALA Resto Eclipse SWT Chat Foro Pool Controllers ContentProviders Controller Controller Controller COALA Servicios Chat Foro Pool Resto Proxies Lógica conversión COALA Eclipse Proxy Proxy Proxy COALA Tuplas - SQL SQLSpaces Platform SQLSpaces SQLSpaces Client Stubs MySQL Client Stubs Server JVM JVM JVM Conexión TCP
  • 75. Mensaje de descripción Tipo de mensaje (código, error, warning, etc.) Código fuente, mensaje de error, etc. Identificador del mensaje compartido
  • 76. Filtrado de mensajes Selección del filtro Colores para identificar el Especificación del tipo de mensaje tipo de mensaje
  • 77. Monitorización Qué usuario se monitoriza Actividad Participación Para cada Colaboración herramienta
  • 78. Experiencia • Objetivo: – Analizar la viabilidad de la propuesta • Cómo: – Comprobar qué alternativa prefieren los estudiantes sobre herramientas colaborativas: • específicas para la Programación e incluidas dentro del IDE • genéricas basadas en LMS no integradas • Participantes: – 16 estudiantes de la asignatura Sistemas para la Colaboración de 5º Curso de la Ingeniería Superior en Informática de la UCLM • Los mismos a los que anteriormente se les pasó el cuestionario para identificar las necesidades en herramientas colaborativas específicas para la Programación. • Para la experiencia los estudiantes fueron agrupados aleatoriamente en parejas.
  • 79. Experiencia • Procedimiento: – 1ª sesión práctica (Eclipse+Herram. extern. Moodle): 40 min. • Ejercicio de Programación haciendo uso de Eclipse, así como las herramientas externas de comunicación y coordinación incluidas en Moodle. – Cuestionario (Eclipse+Herram. externas Moodle): 10 min • Evaluar su impresión sobre dichas herramientas. – 2ª sesión práctica (Eclipse+COLE-Programming): 40 min. • Ejercicio de Programación (nivel de complejidad similar), usando las herramientas integradas en Eclipse (COLE-Programming). – Cuestionario (Eclipse+COLE-Programming): 10 min • Evaluar su impresión sobre dichas herramienta • Cuestionarios: – Preguntas de respuesta acotada  escala tipo Likert del 1 al 5 – Preguntas de respuesta abierta para emitir opinión o dar explicación/justificación
  • 80. Resultados P u n t u a ció n a la s h e r r a m ie n t a s P u n t u a ció n a la s h e r r a m ie n t a s co la b o r a t iv a s g e n é rica s in t e g r a d a s e n CO LE-P r o g ra m m in g 80% 80% 70% 70% 60% 60% 50% 50% C hat 40% C h at 40% 30% 30% 20% Foro 20% Fo ro 10% 10% 0% 0% H e r r a m ie n ta s d e H e r r a m ie n ta s d e v o t a c ió n v o ta c ió n
  • 81. Resultados U t ilid a d d e c a ra ct e r íst ica s e sp e cíf ic a s p a r a la p r o g r a m a c ió n e n C O LE -P r o g ra m m in g 60% 50% P e r s o n a liz a c ió n d e c o lo r e s 40% 30% In fo r m a c ió n d e l in s t a n t e d e e n v ío d e l ú lt im o m e n s a je 20% H e rra m ie n ta d e 10% c o m p a r t ic ió n d e c ó d ig o 0% H e rr a m ie n t a p a r a c o m p a r t ir e r r o r e s , w a r n in g s , e t c
  • 82. Conclusiones (I) • Marco de trabajo y aplicación: – Resolución de problemas de Programación de forma colaborativa • Técnicas como la Programación por Pares • Dentro del EEES • Identificación de necesidades apuntadas por los estudiantes para la realización de tareas colaborativas de Programación – Requisitos funcionales para construir un sistema colaborativo para el aprendizaje de la Programación
  • 83. Conclusiones (II) • Construcción del sistemaEvolución de COALA + COLE- Programming – Partiendo de COALA: sistema sin soporte para la colaboración basado en Eclipse – Integración de los requisitos necesarios en su arquitectura para proporcionar soporte a la colaboración – Se ha mostrado cómo ha quedado implementada la funcionalidad identificada por los estudiantes en el plug-in para Eclipse  COLE- Programming. • Primeras impresiones de los estudiantes: – Resultan interesantes las características introducidas en las herramientas por COLE-Programming específicas para la Programación e integradas dentro del IDE que suelen emplear para realizar sus tareas de Programación.
  • 84. MUCHAS GRACIAS Especialmente a: William J. Giraldo M. Lili Villegas Fáber D. Giraldo
  • 85. ¿Preguntas? Enseñanza de la Programación por pares mediante el entorno Eclipse

Notas del editor

  1. Pregunta: Educational Tools o EducationalToolIntegration? Tools, aunque sea posicion adjetiva. Cámbialo tú en el título patrón de las demás diapositivas, que no me acuerdo en esta versión (bueno es que me sale en español, no sé) Nota: Se ve poco tu nombre y filiación. Yo lo pondría debajo, aunque se repita luego en blanco. He cambiado sobre todo las tres diapositivas de AWLA y AIOLE las he dejado en dos, y les he puesto texto en español debajo. Miralas a ver qué tal.
  2. He añadido Learning Design based on Frameworks and ePortfolios ya que luego incluyes AWLA y AIOLE
  3. Fuentes: Paco Jesús William
  4. Fuentes: Paco Jesús William
  5. Hecho en URJC para Pasacal, C, Haskell y otros
  6. Fuentes: Paco Jesús William
  7. Fuentes: Paco Jesús William
  8. Abstract —Programming is an important competence for the students of Computer Science. These students must acquire knowledge and abilities for solving problems and it is widely accepted that the best way is learning by doing. On the other hand, computer programming is a good research field where students should be assisted by an Intelligent Tutoring System (ITS) that guides them in their learning process. In this paper we will present how we have provided guidance in COALA, our ITS for programming learning, merging Fuzzy Logic and IMS Learning Design.
  9. In our system the teacher writes an implementation for the ideal algorithm that solves a problem. Next, several software metrics will be calculated for this proposal. With this we obtain an instance of the ideal approximated algorithm metrics. But to take into account the vagueness of the response, the fuzzy set for each metric will be established in order to compare this fuzzy representation with the student ’ s algorithm. Algorithms that students have written (on the right of the figure) will be correct according with the fuzzy representation of the metrics because these metrics, will give us an idea of the quality of the algorithm that students have developed. The fuzzy approach of this Artefact model face the static part of the algorithm. This part is complemented with the dynamic test based on running test cases for the algorithm. With this method, we have an artefact model that manages imprecision and vagueness; furthermore, it is based on solid software engineering practice.
  10. The fuzzy representation of an algorithm is presented here. This is the classical manner of representation of fuzzy sets that we are using because of his powerful We have two regions in which the metric don ’ t fit the requirements of the solution with values represented by LOW and HIGH Labels. A region of Total acceptance (The NORMAL one) and two penalty Areas between the other regions. With this representation for each metric we can correct the students ’ algorithm presenting to them advices over the code.
  11. In this slide we can see some of the metrics used in our system to measure the correctness of the students ’ solutions. For example: The McCabe or the operational and control complexity. And also you know that we are extensively using the Test Cases approach to complement the fuzzy measurement of the algorithms.
  12. We are using two technologies broadly used to developed our system: The Eclipse environment in which we have added plugins for the evaluation of the algorithms and for the test cases. We also have a Learning Design (LD) engine to present the student the related materials and the algorithms to design. We used as a middleware the SQLSpace, a Tuple Space implementation made at the Essen –Duisburg University in the COLLIDE research group. With this group we are doing some common research in the last years.
  13. In the next slides we are showing several screenshots of the eclipse environment with our plugins. In this slide on the left we can see the activity tree according to the Learning Design made by the teacher with some programming tasks to download and in the case presented here with a simple reading activity previous to solve the programming tasks. In the web of the COALA project you can see another application developed by our group CHICO specifically made for this kind of reading tasks named EDUNET.
  14. If the connection to the system is in teacher mode, there are another kind of actions to be performed, for example for changing the values in the fuzzy representation of the values or for making rules with a visual editor developed with the Graphical Eclipse Framework (GEF). In this case we are formulating a rule with the result “ You have developed a good solution ” with the premises in 4 variable in the range “ NORMAL ”
  15. In the system we added a Graphical Editor capable of making handwriting annotations over the code of the students. This feature is very useful to correct the code of the students or for reinforce the basic ideas studied in the assessments. This handwriting notes are uploaded to the student and can be easily selected by the teacher to present conclusions about the code generation.
  16. This is a screenshot of the student environment with the handwriting note of the teacher and the annotations automatically made by the system
  17. This is a Photo of one of the sessions realized for testing the tool in the classroom. In this case the teacher is the main developer of COALA. He is a Ph D student, Francisco Jurado, the first researcher in the signature of this paper.
  18. In this photo we are seeing the correction with a pen –based interaction, more natural and useful than other approaches.
  19. And in these slides we are presenting some preliminary results over the use of the COALA system in a classroom in Spain. We are doing the same tests in the Duisburg – Essen University in a research stay of Francisco Jurado previous to the defense of his doctoral thesis. The results of the use of our tool are very positive in the scoring assigned by the student. This is one of the questions about how stimulating is the use of our tool…
  20. And the results over the integration of our tools in the Eclipse environment are also “ prometedores o algo así ”
  21. Similar results for the covering of necessities to develop the tasks.
  22. And finally a global satisfaction
  23. Fuentes: Paco Jesús William
  24. En las diferentes asignaturas relacionadas con esta competencia, el método de enseñanza más empleado suele basarse en actividades que impliquen resolución de problemas [16] [26]. El escenario típico consiste en complementar las clases teóricas con laboratorios de Programación [25] [30], tratando de fomentar un aprendizaje activo [27]. Además, dado que los estudiantes deben aprender a diseñar, desarrollar, verificar y depurar programas con determinadas herramientas que están diseñadas para ser empleadas por programadores profesionales tal y como apunta Satratzemi [32], en los laboratorios de Programación se suelen emplear entornos de desarrollo integrado de uso profesional, como Eclipse, JDeveloper, NetBeans, IntelliJ, etc. De este modo, introducir mejoras sobre estos entornos a modo de herramientas que den soporte al proceso de aprendizaje/enseñanza en la competencia de Programación, puede resultar una aproximación interesante.
  25. La implantación de los principios propuestos por parte del Espacio Europeo de Educación Superior (EEES) incluye el trabajo en grupo como una de las técnicas a potenciar en las aulas. En este sentido, el paradigma educativo del Aprendizaje Colaborativo Soportado por Computador (CSCL, Computer Supported Collaborative Learning ) [24], pretende aprovecharse del efecto sinérgico que supone el hecho de que varios estudiantes colaboren para resolver un determinado problema, proporcionando el soporte computacional que les permita comunicarse y coordinarse en la realización de sus actividades de aprendizaje. Así, aplicar el paradigma colaborativo en el proceso de enseñanza/aprendizaje de la Programación mediante la resolución de problemas o proyectos en grupo (aprendizaje colaborativo), permitiría introducir los principios del EEES en la adquisición de esta competencia. No en vano, ha sido aplicado al ámbito del aprendizaje de la Programación, existiendo varias propuestas en este sentido [33] [29] [28] [12]. La aplicación de CSCL para el aprendizaje de la Programación proporciona un medio en el que los estudiantes pueden interactuar y comunicarse entre sí, en un entorno computacional típicamente distribuido, que permite a los estudiantes beneficiarse del conocimiento y habilidades del resto de integrantes del grupo, mejorando así sus propias destrezas. Dentro del ámbito del aprendizaje colaborativo aplicado a la Programación, habitualmente se emplea la técnica de la Programación por Pares (del inglés Pair-Programming ). En ella, dos programadores trabajan de forma conjunta en un mismo diseño, algoritmo, código o prueba [34], de modo que, mientras que uno de ellos ejecuta acciones sobre el entorno, el otro analiza los pasos de su compañero para tratar de detectar errores e informarle de ellos. Aunque se trata de una técnica típicamente empleada en el campo de la Ingeniería del Software, su aplicación en contextos educativos proporciona interesantes beneficios que mejoran el proceso de aprendizaje [31].
  26. Actualmente, el soporte computacional en la mayoría de centros educativos se limita a la implantación de plataformas de gestión de cursos, más conocidas por su término en inglés Learning Management Systems (LMS). Éstos proporcionan repositorios de material didáctico, test de auto-evaluación a disposición de los estudiantes, aplicaciones a emplear por el profesor, para el seguimiento y monitorización del uso que los estudiantes hacen de estos entornos, así como herramientas de colaboración síncronas y asíncronas (chats, foros o herramientas de votación) que añaden una componente más colaborativa a este soporte computacional. Este último tipo de herramientas pueden emplearse para cubrir ciertas necesidades de coordinación y comunicación entre los profesores y los estudiantes y entre estudiantes. Nuestro objetivo en este trabajo, es dar soporte computacional a contextos educativos que apliquen la técnica de la Programación por Pares. Para soportarlo se pueden optar por dos aproximaciones: el manejo de herramientas y servicios colaborativos de uso extendido y generalizado, como aquellos que proporcionan los LMS (implantados en muchas instituciones educativas); el empleo de herramientas y servicios colaborativos más adaptados a la tarea concreta a realizar (en nuestro caso la resolución de problemas de Programación) e integrados dentro del entorno de aprendizaje que habitualmente se emplee para la enseñanza de esta disciplina. En particular, en el presente trabajo se pretende evolucionar un sistema para el aprendizaje de la Programación ya existente y sin soporte para la realización de tareas colaborativas, el cuál está basado en un entorno de desarrollo integrado ampliamente extendido como es Eclipse, dotándole de herramientas colaborativas que quedarán integradas en dicho entorno.
  27. Con el fin de identificar las necesidades en cuanto a IDEs de Programación (y de Eclipse en particular), conocer a qué herramientas de comunicación/coordinación suelen recurrir a la hora de realizar tareas colaborativas de Programación, qué tipo de información intercambia a través de las mismas, etc., se elaboró un cuestionario que fue cumplimentado por un grupo de dieciséis estudiantes de la asignatura Sistemas para la Colaboración de quinto Curso de la Ingeniería Superior en Informática de la Universidad de Castilla-La Mancha (UCLM). Se seleccionó este perfil de estudiante dado que tenían los conocimientos necesarios tanto en el ámbito de la Programación (para valorar las herramientas de soporte a la Programación), como en el ámbito de los sistemas colaborativos (que les permite proporcionar una visión más objetiva y crítica en los temas relacionados con el soporte colaborativo implementado).
  28. En la figura se muestran los porcentajes en cuanto a la tendencia de uso que los estudiantes tienen respecto a las herramientas colaborativas a emplear y al tipo de información que intercambian a la hora de realizar una tarea colaborativa de Programación. Los estudiantes elaboraron una ordenación en una escala Likert de 1 a 5 (siendo 1 la opción menos deseada y 5 la opción más deseada). Como datos relevantes, cabe destacar que: - los estudiantes optan por el correo electrónico (un 35% y un 41% lo señalaron como la primera y segunda opción respectivamente), - seguido del chat (un 44% lo identificaron como primera opción) y - el foro (un 22% lo identificaron como segunda opción) como las herramientas colaborativas a usar a la hora de resolver actividades de Programación en grupo, independientemente de que estas sean externas o se encuentren integradas en el entorno. Por otro lado, el análisis de los datos obtenidos permitió determinar cuál es el tipo de información (además de los mensajes de texto) que habitualmente intercambian los estudiantes en estas sesiones de Programación colaborativa, destacando: - los mensajes de error y warning (un 38% de los estudiante lo marcaron como primera opción y un 25% como segunda) y - copias literales de fragmentos de código (un 31% lo identificó como primera opción y un 19% como segunda).
  29. Como se ha mencionado con anterioridad, el punto de partida para nuestro trabajo es COALA [21] [22]. La figura muestra el diagrama de bloques de la arquitectura de COALA una vez añadidos el plug-in COLE-Programming. COALA fue desarrollado como plug-in s para Eclipse, con el fin de permitir el empleo de un entorno de Programación real en un ámbito académico. El plug-in para Eclipse de COALA permite la comunicación a través de un servidor de espacios de tuplas [17] [18]. Este servidor se comporta como una memoria central compartida en un entorno de red, donde los diferentes clientes y servicios pueden almacenar y leer información en forma de tuplas [23]. Dado que la opción de los espacios de tuplas parece apropiada para implementar sistemas colaborativos eLearning [6] [15], parecía factible emplear la arquitectura de COALA para implementar los nuevos servicios. Como puede apreciarse, la implantación de las herramientas colaborativas sobre la arquitectura inicial de COALA resulta sencilla. Tan sólo hubo que implementar los correspondientes proxies, proveedores de contenido y vistas/editores para hacerlos disponibles en los diferentes clientes. Los mensajes y la información que los usuarios intercambiarán en ellas quedarán representados por tuplas accesibles por el grupo de trabajo en el servidor del espacio de tuplas. En la siguiente sección se describirán las funcionalidades implementadas en las herramientas colaborativas. Como puede apreciarse en dicha figura, todos los clientes y servicios están conectados mediante una red TCP. El servidor de espacios de tuplas seleccionado (SQLSpaces Server a la derecha) se ejecuta sobre una máquina virtual de Java (JVM) que implementa la correspondiente lógica de transformación entre tuplas y base de datos relacional. En el caso concreto de COALA se eligió una base de datos MySQL sobre la que realizar la persistencia. Para que los diferentes clientes y servicios puedan interactuar, éstos precisan de las correspondientes librerías que dan soporte al middleware ( SQLSpaces client stubs ), tanto si se ejecutan sobre una máquina virtual de Java, como si son empleadas desde cualquier otro lenguaje de programación de entre los soportados por SQLSpace. Este es el caso de las herramientas de las que dispone COALA (zona sombreada en el centro de la figura) y de los servicios de los que dispone (a la izquierda) para permitir la especificación de actividades de Programación por parte del profesor, los casos de prueba que deben cumplirse, la distribución de las tareas a los estudiantes, la entrega de las soluciones elaboradas por éstos y la evaluación automática de dichas soluciones, etc. En el lado del cliente (zona central de la figura), puede verse Eclipse como la plataforma a emplear por los usuarios. Tanto la plataforma de Eclipse como las librerías del lado del cliente de SQLSpaces se ejecutan sobra una máquina virtual de Java. Con el fin de facilitar la implementación de las capas superiores, se implementan diferentes proxies que proporcionan la transparencia suficiente respecto del middleware . Sobre esta capa de proxies se encuentran las capas del modelo-vista-controlador que propone Eclipse. Dicho modelo consta de proveedores de contenido ( SWT Content Providers ) y de las correspondientes vistas y editores ( SWT Viewers and Editors ) para cada una de las herramientas a implementar, ya sean de las ya implementadas en COALA (zona central sombreada a la derecha) o de las nuevas herramientas implementadas (el chat, el foro y el pool de votaciones). (click) Se ha implementado el plug-in que hemos convenido llamar COLE-Programming ( Collaborative Learning Programming ) que implementa las herramientas de chat, foro y pool de votaciones.
  30. La figura muestra cómo COLE-Programming implementa las diferentes vistas para las herramientas de chat (arriba a la izquierda) y foro (arriba a la derecha) con las funcionalidades que los estudiantes apuntaron y que describiremos más adelante. Además añade un pool de votaciones (abajo). Para facilitar el intercambio de la información que los estudiantes apuntaron como necesaria en una comunicación durante una sesión colaborativa de Programación (sección 3), se añadió lo necesario para que pudieran compartir código, mensajes de error del compilador, mensajes de alerta ( warnings ), etc. Cuando un alumno desea compartir uno de estos elementos a través de un chat o un foro, se abre una ventana de diálogo como la que se muestra en la figura 5. Ésta le permite introducir un mensaje de descripción, el tipo de información que está introduciendo (fragmento de código fuente, mensaje de error o alerta, etc.) y la información a compartir. En el chat o el foro amarecerá un mensaje del tipo “<usuario> publicó el <tipo de mensaje>: <id>” , indicando que la información ha sido publicada para aquellas personas que están conectadas al chat. Los alumnos podrán seleccionar en un combo desplegable dentro del mismo chat el id de la información a visualizar, abriéndose un editor que mostrará tanto el código como la descripción.
  31. La figura muestra cómo COLE-Programming implementa las diferentes vistas para las herramientas de chat (arriba a la izquierda) y foro (arriba a la derecha) con las funcionalidades que los estudiantes apuntaron y que describiremos más adelante. Además añade un pool de votaciones (abajo). Para facilitar el intercambio de la información que los estudiantes apuntaron como necesaria en una comunicación durante una sesión colaborativa de Programación (sección 3), se añadió lo necesario para que pudieran compartir código, mensajes de error del compilador, mensajes de alerta ( warnings ), etc. Cuando un alumno desea compartir uno de estos elementos a través de un chat o un foro, se abre una ventana de diálogo como la que se muestra en la figura 5. Ésta le permite introducir un mensaje de descripción, el tipo de información que está introduciendo (fragmento de código fuente, mensaje de error o alerta, etc.) y la información a compartir. En el chat o el foro amarecerá un mensaje del tipo “<usuario> publicó el <tipo de mensaje>: <id>” , indicando que la información ha sido publicada para aquellas personas que están conectadas al chat. Los alumnos podrán seleccionar en un combo desplegable dentro del mismo chat el id de la información a visualizar, abriéndose un editor que mostrará tanto el código como la descripción.
  32. La figura muestra cómo COLE-Programming implementa las diferentes vistas para las herramientas de chat (arriba a la izquierda) y foro (arriba a la derecha) con las funcionalidades que los estudiantes apuntaron y que describiremos más adelante. Además añade un pool de votaciones (abajo). Para facilitar el intercambio de la información que los estudiantes apuntaron como necesaria en una comunicación durante una sesión colaborativa de Programación (sección 3), se añadió lo necesario para que pudieran compartir código, mensajes de error del compilador, mensajes de alerta ( warnings ), etc. Cuando un alumno desea compartir uno de estos elementos a través de un chat o un foro, se abre una ventana de diálogo como la que se muestra en la figura 5. Ésta le permite introducir un mensaje de descripción, el tipo de información que está introduciendo (fragmento de código fuente, mensaje de error o alerta, etc.) y la información a compartir. En el chat o el foro amarecerá un mensaje del tipo “<usuario> publicó el <tipo de mensaje>: <id>” , indicando que la información ha sido publicada para aquellas personas que están conectadas al chat. Los alumnos podrán seleccionar en un combo desplegable dentro del mismo chat el id de la información a visualizar, abriéndose un editor que mostrará tanto el código como la descripción.
  33. Para facilitar el intercambio de la información que los estudiantes apuntaron como necesaria en una comunicación durante una sesión colaborativa de Programación, se añadió lo necesario para que pudieran compartir código, mensajes de error del compilador, mensajes de alerta ( warnings ), etc. Cuando un alumno desea compartir uno de estos elementos a través de un chat o un foro, se abre una ventana de diálogo como la que se muestra en la figura. Ésta le permite introducir un mensaje de descripción, el tipo de información que está introduciendo (fragmento de código fuente, mensaje de error o alerta, etc.) y la información a compartir. En el chat o el foro amarecerá un mensaje del tipo “<usuario> publicó el <tipo de mensaje>: <id>” , indicando que la información ha sido publicada para aquellas personas que están conectadas al chat. Los alumnos podrán seleccionar en un combo desplegable dentro del mismo chat el id de la información a visualizar, abriéndose un editor que mostrará tanto el código como la descripción.
  34. Además, en el foro se ha añadido un mecanismo de filtrado de mensajes en las conversaciones atendiendo al tipo de mensaje (planteamiento de un problema, propuesta al mismo, crítica de un comentario, etc.) tal y como se muestra en la figura. Un desplegable les permite filtrar el tipo de mensajes a mostrar, permitiéndoles por ejemplo, visualizar sólo las propuestas de soluciones a un problema, sólo las dudas, etc. Además, una gama de colores identifica al tipo de comentario, de modo que los estudiantes pueden identificar rápidamente el tipo de mensaje de que se trata.
  35. Con el fin de ayudar al profesor en las tareas de análisis y seguimiento de las tareas colaborativas de aprendizaje, COLE-Programming implementa un monitor de colaboración (figura) que permite observar determinadas características de la colaboración, como el número de aportaciones de un determinado usuario por cada herramienta, porcentajes de participación, usuarios con los que ha colaborado o compartido información, etc.
  36. Se planteó una experiencia que permitiera analizar la viabilidad de la propuesta. Así, se trató de comprobar si los estudiantes prefieren emplear herramientas colaborativas específicas para la Programación, incluidas dentro del Entorno de Desarrollo Integrado que empleen para realizar las tareas, frente a las proporcionadas por otras alternativas genéricas basadas en LMS no integradas. Para ello, se tomó la evolución llevada a cabo a COALA mediante el plug-in COLE-Programming con las herramientas específicamente diseñadas para el aprendizaje de la Programación. Posteriormente fue empleado por estudiantes, quienes contrastaron dichas herramientas con las proporcionadas por un LMS de uso extendido como es Moodle para la realización de tareas de Programación. En la experiencia llevada a cabo participaron los 16 estudiantes de la asignatura Sistemas para la Colaboración de 5º Curso de la Ingeniería Superior en Informática de la Universidad de Castilla-La Mancha (UCLM) a los que anteriormente se les pasó el cuestionario para identificar las necesidades en herramientas colaborativas específicas para la Programación. Para la realización de la experiencia los estudiantes fueron agrupados aleatoriamente en parejas.
  37. La experiencia tuvo una duración de dos horas, en las que los estudiantes debían resolver dos ejercicios de Programación y cumplimentar los correspondientes cuestionarios. Cada test incluía un ID de estudiante, que sirvió para identificar a los participantes en el resto de actividades de la experiencia, preservando así el anonimato. La experiencia constó de las siguientes fases: 1.- Primera sesión práctica (Eclipse+Herramientas externas Moodle): Todos los estudiantes formaron parejas (creados por los experimentadores de forma aleatoria) de dos participantes. En esta primera sesión práctica se les proporcionó el enunciado de un ejercicio de Programación, que debían resolver haciendo uso de la herramienta Eclipse, así como las herramientas externas de comunicación y coordinación incluidas en Moodle. El tiempo aproximado de realización de este primer ejercicio de Programación fue de 40 minutos. 2.- Test de valoración (Eclipse+Herramientas externas Moodle): Los estudiantes cumplimentaron un test para evaluar su impresión sobre dichas herramientas de colaboración durante la sesión de Programación en grupo. El tiempo para cumplimentarlo fue de 10 minutos. 3.- Segunda sesión práctica (Eclipse+COLE-Programming): Los mismos parejas de trabajo que participaron en la primera sesión de trabajo realizaron una segunda actividad de Programación (con un nivel de complejidad similar al de la primera sesión) haciendo uso de las herramientas integradas en Eclipse (COLE-Programming). El tiempo aproximado de realización de este segundo ejercicio de Programación fue de 40 minutos. 4.- Test de valoración (Eclipse+COLE-Programming): Los estudiantes cumplimentaron un test para evaluar su impresión sobre dichas herramientas de colaboración durante la sesión de Programación en grupo. El tiempo para cumplimentar fue de 10 minutos. Los test constaron tanto de una serie de preguntas que los estudiantes deberían contestar siguiendo una escala tipo Likert con puntuaciones del 1 al 5 (1: nada, 2: poco, 3: ocasionalmente, 4: a menudo, 5: mucho), así como preguntas de respuesta abierta en las que podían emitir su opinión o dar explicación y justificación sobre determinadas cuestiones.
  38. En la figura se ven las gráficas que muestran la valoración proporcionada por los estudiantes a las herramientas colaborativas genéricas y las integradas en COLE-Programming. Analizando dichas gráficas se puede ver cómo el uso de foros y las herramientas de votación parece menos extendido (la mayoría de los estudiantes otorgan un no sabe/no contesta a la hora de puntuar estas herramientas). En las preguntas de respuesta abierta, los estudiantes explicaron el porqué de su inclinación por el uso del chat. Lo consideran la herramienta colaborativa que les permite comunicarse con el compañero de forma más inmediata, permitiendo un diálogo más ágil y menos estructurado. Además, en la figura se puede ver cómo la los estudiantes dan mayor puntuación a las herramientas de COLE-Programming. Así, en el caso de las herramientas genéricas los estudiantes consideran el empleo del chat y el foro resulta nada, poco u ocasionalmente interesante, pasando a considerar ocasionalmente, bastante o muy valiosos sus equivalentes en COLE-Programming, sobre todo el chat. Los valores tan altos en la opción de no sabe o no contesta (ns/nc) en los casos del foro y la herramienta de votación se debieron a aquellos estudiantes que optaron por no emplearlas, volviéndose así a confirmar la predilección de los estudiantes por la herramienta de chat. El principal problema que destacaron en las herramientas colaborativas genéricas fue que éstas no estaban pensadas para compartir código, por lo que carecían de características como una correcta tabulación o el coloreado de sintaxis. Además, indicaron que, al encontrarse en ventanas externas al entorno de trabajo (Eclipse), debían cambiar su foco de atención constantemente haciendo que no pudieran centrarse en la tarea que estaban realizando.
  39. Igualmente, los estudiantes analizaron las características introducidas en las herramientas de COLE-Programming específicas para la Programación, como aquellas que permiten compartir código, mensajes de error y warnings , etc. Los resultados pueden apreciarse en la figura. En ella se ve cómo las características de compartir código con una correcta identación y formateo, así como el permitir el intercambio de los mensajes de error, mensajes de warning , etc. proporcionados por la salida del compilador, son los rasgos mejor valorados por los estudiantes. Es decir, aquellas funcionalidades añadidas específicamente para las tareas de Programación, resultaron ser las más útiles para los estudiantes. Además, resultan también de interesantes a los estudiantes algunas mejoras en el awareness , tales como la personalización de colores para identificar a los usuarios que intervienen en la colaboración y la información relativa al instante de envío del último mensaje. Así, tras evolucionar COALA mediante la implementación del plug-in COLE-Programming, con herramientas colaborativas especialmente diseñadas para realizar tareas de Programación, contrastando su uso frente a las herramientas colaborativas genéricas proporcionadas por un LMS para la realización de tareas colaborativas de Programación, ha podido apreciarse cómo los estudiantes encuentran especialmente atractivas aquellas integradas dentro del entorno de Programación.
  40. Una de las técnicas empleadas en el proceso de enseñanza/aprendizaje de la competencia de Programación implica la resolución de problemas de Programación de forma colaborativa, aplicando técnicas como la Programación por Pares. Así, tras analizar los antecedentes sobre los sistemas que permiten dar soporte a los laboratorios de Programación, se ha mostrado cómo se han identificado las necesidades apuntadas por los estudiantes para la realización de tareas colaborativas de Programación, extrayendo así los requisitos funcionales para las herramientas de un sistema colaborativo para el aprendizaje de la Programación. Con ello, se ha mostrado cómo se ha tomando como punto de partida COALA (un sistema existente para el aprendizaje de la Programación sin soporte para la colaboración basado en Eclipse), y se ha detallado cómo se han encajado en su arquitectura los requisitos necesarios para proporcionar soporte a la colaboración, pasando posteriormente a mostrar cómo ha quedado implementada la funcionalidad identificada por los estudiantes en el plug-in para Eclipse que se ha convenido llamar COLE-Programming. Posteriormente, se han analizado las primeras impresiones de los estudiantes respecto de las herramientas integradas en el entorno. Dichas impresiones apuntan que los estudiantes encuentran interesantes las características introducidas en las herramientas por COLE-Programming específicas para la Programación e integradas dentro del Entorno de Desarrollo Integrado que suelen emplear para realizar sus tareas de Programación.