Conferencia Armenia Manuel Ortega

85
Segundo Congreso Internacional de Ingeniería del Software Enseñanza de la Programación por pares mediante el entorno Eclipse

description

Conferencia presentada el día 11 de Octubre de 2012 en Armenia (Colombia)

Transcript of Conferencia Armenia Manuel Ortega

Page 1: Conferencia Armenia Manuel Ortega

Segundo Congreso Internacional de Ingeniería del Software

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

Page 2: Conferencia Armenia Manuel Ortega

Enseñanza de la Programacion por pares mediante el entorno Eclipse

Manuel OrtegaEscuela Superior de Informática

[email protected]

Page 3: Conferencia Armenia Manuel Ortega

Dr. Manuel Ortega CanteroCatedrático de Universidad

Escuela Superior de InformáticaEdificio Fermín Caballero, Desp A-1Paseo de la Universidad, 413071 – Ciudad Real (España)

e-mail: [email protected].: 926295481Fax.: 926295354

Líneas de Investigación de CHICO Manuel Ortega Cantero

Armenia (Colombia)11 de Octubre de 2012

Page 4: Conferencia Armenia Manuel Ortega

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

Page 5: Conferencia Armenia Manuel Ortega

El grupo CHICO1. Dr. Manuel Ortega2. Dr. Miguel A. Redondo 3. Dr. Crescencio Bravo4. Dr. Miguel Lacruz5. Dr. Maximiliano Paredes (URJC)6. Dra. Ana Isabel Molina7. Dr. Pedro P. Sánchez 8. Dra. Asunción Sánchez

9. Dr. Francisco Jurado (Univ. Lleida)

10. Dr. Rafael Duque (Univ. Cantabria)

11. Dr. Jesús Gallardo (Univ. Zaragoza)

12. Dr. William J. Giraldo (Univ. Quindío)

13. Dr. Emiliano Almansa 14. Don Alfonso Aranda15. Don Fernando Gallego16. Don José R. Sánchez

Page 6: Conferencia Armenia Manuel Ortega

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

Page 8: Conferencia Armenia Manuel Ortega

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

Page 9: Conferencia Armenia Manuel Ortega

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

Page 10: Conferencia Armenia Manuel Ortega

Current Research Projects with Public Fundings (III)

• mGUIDE

Page 11: Conferencia Armenia Manuel Ortega

Current Research Projects with Public Fundings (IV)

• FAPPECFramework 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

Page 12: Conferencia Armenia Manuel Ortega

Current Research Projects with Public Fundings (& V)

• FAPPEC

Page 13: Conferencia Armenia Manuel Ortega

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

Page 14: Conferencia Armenia Manuel Ortega

Agenda

IntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones

Page 15: Conferencia Armenia Manuel Ortega

Introducción

Consideramos el desarrollo de un sistema de eLearning como el desarrollo de un sistema software

Desarrollo de softwareTarea costosa y compleja

Lenguajes orientados a objetosReutilización de componentes

Se requiere explorar nuevos paradigmas

Page 16: Conferencia Armenia Manuel Ortega

Agenda

IntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones

Page 17: Conferencia Armenia Manuel Ortega

Eclipse en eLearningEclipse

IDE de uso profesional y docenteSoporte para integración en CASEs

Por ejemplo, Visual ParadigmNo tiene soporte específico para enseñanzaIncorpora 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)

Page 18: Conferencia Armenia Manuel Ortega

Eclipse en eLearningEclipse

Entorno personalizable (extensible) mediante agregación de plug-ins

Persigue lograr una plataforma universal de desarrollo

Page 19: Conferencia Armenia Manuel Ortega

Eclipse en eLearningVersió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 titulacionesEj. Java, Scheme, Prolog, etc.

Se encuentra en “incubation”

http://wiki.eclipse.org/Eclipse_IDE_for_Education

Page 20: Conferencia Armenia Manuel Ortega

Eclipse en eLearningEjemplos

Kenya Eclipse

Page 21: Conferencia Armenia Manuel Ortega

Eclipse en eLearningEjemplos

Jazz Sangam

Page 22: Conferencia Armenia Manuel Ortega

Eclipse en eLearningEjemplos

Saros

Page 23: Conferencia Armenia Manuel Ortega

Eclipse en eLearningEjemplos

EclipseGavab

Page 24: Conferencia Armenia Manuel Ortega

Agenda

IntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones

Page 25: Conferencia Armenia Manuel Ortega

Desarrollo MDE para EclipseFramework metodológico

Page 26: Conferencia Armenia Manuel Ortega

Desarrollo MDE para EclipseFramework conceptual

Metamodelos que se usan en el procesoMetamodelo del dominioMetamodelo del espacio de trabajoMetamodelos de la sesión de trabajoMetamodelo del protocolo de colaboración

Page 27: Conferencia Armenia Manuel Ortega

Desarrollo MDE para EclipseFramework Tecnológico

Ejemplo de creación de un editor gráfico

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

diccionario gráfico) con gmfgraph

Construcción de herramientas con gmftool

Construcción de herramientas con gmftool

Correspondencia/mapeo dominio-

gráficos con gmfmap

Correspondencia/mapeo dominio-

gráficos con gmfmap

Modelo de dominio con ecore

Modelo de dominio con ecore

Page 28: Conferencia Armenia Manuel Ortega

Desarrollo MDE para Eclipse

Page 29: Conferencia Armenia Manuel Ortega

Desarrollo MDE para EclipseEjemplo: Circuitos Digitales

Page 30: Conferencia Armenia Manuel Ortega

Desarrollo MDE para EclipseEjemplo: Diagramas CTT

Page 31: Conferencia Armenia Manuel Ortega

Desarrollo MDE para EclipseEjemplo: Mapas Conceptuales

Page 32: Conferencia Armenia Manuel Ortega

Agenda

IntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones

Page 33: Conferencia Armenia Manuel Ortega

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

Page 34: Conferencia Armenia Manuel Ortega

http://chico.inf-cr.uclm.es/coala

Page 35: Conferencia Armenia Manuel Ortega

Student

Algorithm thatsolves

the problem

Algorithm thatsolves

the problem

Fuzzy representationof the ideal algorithmFuzzy representationof the ideal algorithm

Algorithm fortrying to solveThe Problem

Algorithm fortrying to solveThe Problem

Writes

Teacher

MetricsCalculation

MetricsCalculation

MetricsCalculation

MetricsCalculation

Writes

Degree of membershipwith the fuzzy set

TestCasesTest

CasesRuns test casesSets

Page 36: Conferencia Armenia Manuel Ortega

Measured Value

a b c d

NormalLow High

Total acceptanceregion

Penaltyregion

PenaltyregionNot acceptance

regionNot acceptance

region

1

0

Page 37: Conferencia Armenia Manuel Ortega

0,000,200,400,600,801,001,20

0 2 4 6 8 10 12

Operational Complexity

Normal Low High

0,000,200,400,600,801,001,20

0 2 4 6 8 10 12

Control Complexity

Normal Low High

0,000,200,400,600,801,001,20

0 2 4 6 8 10 12

McCabe

Normal Low High

n

iiii xapOWA

1

)()( Assessment

Explanation Fuzzy Rules + Test Cases

Page 38: Conferencia Armenia Manuel Ortega

Implementación• Entorno Eclipse

• Middleware de comunicación SQLSpace

Page 39: Conferencia Armenia Manuel Ortega

Evaluator Service

4: Download task

1: Send task

6: Notify solution5: Send solution

6: Notify

solutio

n

7: Send eva

luation

8: View evaluation8: View evaluationCOALA’s instance

for the teacher

COALA’s instancefor the students

TupleSpace Server

LDs use from Tuple Space Server:-Tasks-Evaluations

Runs use from LD enginee:-Users

2: Send LD for each user

8: Change property

ProxyLD Service

9: Send updated LD

3: Download LD

EJB/WSWS

Page 40: Conferencia Armenia Manuel Ortega

Activity tree

Reading activity

Download programming tasks

Page 41: Conferencia Armenia Manuel Ortega

Source code

Explanation

Test Cases

Workspace

Fuzzy RepresentationEvaluation

Connection properties

Page 42: Conferencia Armenia Manuel Ortega
Page 43: Conferencia Armenia Manuel Ortega
Page 44: Conferencia Armenia Manuel Ortega
Page 45: Conferencia Armenia Manuel Ortega
Page 46: Conferencia Armenia Manuel Ortega
Page 47: Conferencia Armenia Manuel Ortega
Page 48: Conferencia Armenia Manuel Ortega
Page 49: Conferencia Armenia Manuel Ortega
Page 50: Conferencia Armenia Manuel Ortega
Page 51: 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

Page 52: Conferencia Armenia Manuel Ortega

Edunet

Page 53: Conferencia Armenia Manuel Ortega
Page 54: Conferencia Armenia Manuel Ortega
Page 55: Conferencia Armenia Manuel Ortega
Page 56: Conferencia Armenia Manuel Ortega
Page 57: Conferencia Armenia Manuel Ortega
Page 58: Conferencia Armenia Manuel Ortega
Page 59: Conferencia Armenia Manuel Ortega
Page 60: Conferencia Armenia Manuel Ortega
Page 61: Conferencia Armenia Manuel Ortega
Page 62: Conferencia Armenia Manuel Ortega
Page 63: Conferencia Armenia Manuel Ortega
Page 64: 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• Escritura a mano

• Mejoras para el estudiante– Mejota de la Interfaz de usuario Edunet– Motor para TupleSpace Tuple-LD– Herramientas colaborativas COLE-Programming

Extensible

Page 65: Conferencia Armenia Manuel Ortega

Agenda

IntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones

Page 66: Conferencia Armenia Manuel Ortega

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.

Page 67: Conferencia Armenia Manuel Ortega

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

Page 68: Conferencia Armenia Manuel Ortega

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

Page 69: Conferencia Armenia Manuel Ortega

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.

Page 70: Conferencia Armenia Manuel Ortega
Page 71: Conferencia Armenia Manuel Ortega

Soporte a la Colaboración en la Arquitectura de COALA

JVM

SQLSpaces Server MySQLSQLSpaces Client Stubs

ChatProxy

ForoProxy

PoolProxy

ChatController

ForoController

PoolController

ChatViewer

ForoViewer

PoolViewer

Lado del cliente Lado del servidor

Eclipse SWTViewers/Editors

Eclipse SWTContentProviders

Eclipse Platform

Lógica conversiónTuplas - SQL

JVM

Conexión TCP

RestoProxiesCOALA

RestoControllers

COALA

RestoViewers COALA

JVM

SQLSpacesClient Stubs

Servicios COALA

Otros servicios

COLE-Programming

Page 72: Conferencia Armenia Manuel Ortega

COLE-Programming: Vista de chat

Page 73: Conferencia Armenia Manuel Ortega

COLE-Programming: Vista de foro

Page 74: Conferencia Armenia Manuel Ortega

COLE-Programming: Vista votaciones

Page 75: Conferencia Armenia Manuel Ortega

Mensaje de descripción

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

Código fuente, mensajede error, etc.

Identificador del mensaje compartido

Page 76: Conferencia Armenia Manuel Ortega

Filtrado de mensajes

Selección del filtro

Especificación del tipo de mensaje

Colores para identificar el tipo de mensaje

Page 77: Conferencia Armenia Manuel Ortega

Monitorización

Participación

Colaboración

Actividad

Para cada herramienta

Qué usuario se monitoriza

Page 78: Conferencia Armenia Manuel Ortega

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.

Page 79: Conferencia Armenia Manuel Ortega

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

Page 80: Conferencia Armenia Manuel Ortega

Resultados

Page 81: Conferencia Armenia Manuel Ortega

Resultados

Page 82: Conferencia Armenia Manuel Ortega

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

Page 83: Conferencia Armenia Manuel Ortega

Conclusiones (II)• Construcción del sistemaEvolució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.

Page 84: Conferencia Armenia Manuel Ortega

MUCHAS GRACIAS

Especialmente a:William J. Giraldo

M. Lili VillegasFáber D. Giraldo

Page 85: Conferencia Armenia Manuel Ortega

¿Preguntas?¿Preguntas?

Enseñanza de la Programacion por pares mediante el entorno Eclipse