Conferencia Armenia Manuel Ortega

Post on 13-Jun-2015

329 views 8 download

description

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

Transcript of Conferencia Armenia Manuel Ortega

Segundo Congreso Internacional de Ingeniería del Software

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

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

Manuel OrtegaEscuela Superior de Informática

Mianuel.Ortega@uclm.es

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: Manuel.Ortega@uclm.esTelf.: 926295481Fax.: 926295354

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

Armenia (Colombia)11 de Octubre de 2012

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

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

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)

• 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

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ónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones

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

Agenda

IntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones

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)

Eclipse en eLearningEclipse

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

Persigue lograr una plataforma universal de desarrollo

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

Eclipse en eLearningEjemplos

Kenya Eclipse

Eclipse en eLearningEjemplos

Jazz Sangam

Eclipse en eLearningEjemplos

Saros

Eclipse en eLearningEjemplos

EclipseGavab

Agenda

IntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones

Desarrollo MDE para EclipseFramework metodológico

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

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

Desarrollo MDE para Eclipse

Desarrollo MDE para EclipseEjemplo: Circuitos Digitales

Desarrollo MDE para EclipseEjemplo: Diagramas CTT

Desarrollo MDE para EclipseEjemplo: Mapas Conceptuales

Agenda

IntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones

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

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

Measured Value

a b c d

NormalLow High

Total acceptanceregion

Penaltyregion

PenaltyregionNot acceptance

regionNot acceptance

region

1

0

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

Implementación• Entorno Eclipse

• Middleware de comunicación SQLSpace

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

Activity tree

Reading activity

Download programming tasks

Source code

Explanation

Test Cases

Workspace

Fuzzy RepresentationEvaluation

Connection properties

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

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

Agenda

IntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones

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.

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

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, mensajede error, etc.

Identificador del mensaje compartido

Filtrado de mensajes

Selección del filtro

Especificación del tipo de mensaje

Colores para identificar el tipo de mensaje

Monitorización

Participación

Colaboración

Actividad

Para cada herramienta

Qué usuario se monitoriza

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

Resultados

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 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.

MUCHAS GRACIAS

Especialmente a:William J. Giraldo

M. Lili VillegasFáber D. Giraldo

¿Preguntas?¿Preguntas?

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