conferencia armenia manuel ortega
DESCRIPTION
Conferencia presentada el día 11 de Octubre de 2012 en Armenia (Colombia)TRANSCRIPT
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
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
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
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)
• 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