Conferencia Armenia Manuel Ortega

525 views

Published on

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

Published in: Education
  • Be the first to comment

  • Be the first to like this

Conferencia Armenia Manuel Ortega

  1. 1. Segundo Congreso Internacional de Ingeniería del Software Enseñanza de la Programación por pares mediante el entorno Eclipse
  2. 2. Manuel OrtegaEscuela Superior de Informática Mianuel.Ortega@uclm.es Enseñanza de la Programación por pares mediante el entorno Eclipse
  3. 3. Líneas de Investigación de CHICO Manuel Ortega CanteroDr. Manuel Ortega CanteroCatedrático de UniversidadEscuela Superior de InformáticaEdificio Fermín Caballero, Desp A-1Paseo de la Universidad, 413071 – Ciudad Real (España) Armenia (Colombia)e-mail: Manuel.Ortega@uclm.es 11 de Octubre de 2012Telf.: 926295481Fax.: 926295354
  4. 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. 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 Almansa8. Dra. Asunción Sánchez 14. Don Alfonso Aranda 15. Don Fernando Gallego 16. Don José R. Sánchez
  6. 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
  7. 7. Basic Infrastructures
  8. 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. 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. 10. Current Research Projects with Public Fundings (III)• mGUIDE
  11. 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. 12. Current Research Projects with Public Fundings (& V)• FAPPEC
  13. 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. 14. AgendaIntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones
  15. 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. 16. AgendaIntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones
  17. 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. 18. Eclipse en eLearningEclipse Entorno personalizable (extensible) mediante agregación de plug-ins Persigue lograr una plataforma universal de desarrollo
  19. 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
  20. 20. Eclipse en eLearningEjemplos Kenya Eclipse
  21. 21. Eclipse en eLearningEjemplos Jazz Sangam
  22. 22. Ejemplos Eclipse en eLearning Saros
  23. 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 diversascolaborativa para la docencia online de la asignaturas para enseñar diferentes paradigmas oprogramación. En la siguiente sección se metodologías de la programación.Ejemplosdescriben las características de esta herramienta. Desde el punto de vista colaborativo, EclipseGavab incorpora un conjunto de herramientas que dotan al entorno de desarrollo3. Descripción de EclipseGavab EclipseGavabEclipseGavab es una distribución de Eclipse de capacidades colaborativas como clientes de chat, edición compartida del código y un clienteorientada a la docencia presencial y online de la del sistema de control de versiones Subversioninformática. Esta distribución incluye soporte [18] que permite utilizar repositorios de códigopara varios lenguaje de programación, lo que para compartir programas. El control delpermite su utilización en diferentes asignaturas, repositorio subversión se ofrece eny un entorno colaborativo en el cual los alumnos EclipseGavab a través del plugin Subversive. Elpueden llevar a cabo su aprendizaje. Con chat y la edición compartida se implementanEclipseGavab es posible aplicar el Aprendizaje con el plugin Eclipse CommunicationBasado en Proyectos en la enseñanza online. En Framework. Este plugin presenta característicasla 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 elFigura 1. Logotipo de EclipseGavab desarrollo en diversos lenguajes de Como se ha comentado anteriormente, para programación. Están disponibles componentesque una herramienta pueda utilizarse en el para muchos lenguajes de programación, pero al
  24. 24. AgendaIntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones
  25. 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. 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. 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
  28. 28. Desarrollo MDE para Eclipse
  29. 29. Desarrollo MDE para EclipseEjemplo: Circuitos Digitales
  30. 30. Desarrollo MDE para EclipseEjemplo: Diagramas CTT
  31. 31. Desarrollo MDE para EclipseEjemplo: Mapas Conceptuales
  32. 32. AgendaIntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones
  33. 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
  34. 34. http://chico.inf-cr.uclm.es/coala
  35. 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 ProblemTeacher Student Test Test Runs test cases Sets Cases Cases
  36. 36. Penalty Penalty Not acceptance region Total acceptance region Not acceptance region region region1 Low High Normal0 a b c d Measured Value
  37. 37. McCabe n1,201,00 Assessment OWA( pi ) = ∑ a µ(x ) i =1 i i0,800,600,40 Explanation  Fuzzy Rules + Test Cases0,200,00 0 2 4 6 8 10 12 Control Complexity 1,20 Normal Low High 1,00 0,80 Operational Complexity 0,601,20 0,401,00 0,200,80 0,000,60 0 2 4 6 8 10 120,40 Normal Low High0,200,00 0 2 4 6 8 10 12 Normal Low High
  38. 38. Implementación• Entorno Eclipse• Middleware de comunicación  SQLSpace
  39. 39. 1: Send task 3: Download LD 6: Notify solution TupleSpace 4: Download task 5: Send solution 8: View evaluation ServerCOALA’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. 40. Reading activityActivity tree Download programming tasks
  41. 41. Workspace Source code Connection properties Explanation Test CasesEvaluation Fuzzy Representation
  42. 42. 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
  43. 43. Edunet
  44. 44. 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
  45. 45. AgendaIntroducciónEclipse en eLearningDesarrollo MDE para EclipseCOALACole-ProgrammingConclusiones
  46. 46. 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.
  47. 47. 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
  48. 48. 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
  49. 49. 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.
  50. 50. ¿ 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% 231% 4 17% 3 25% 4 3 2 2 2 31% 3 30% 30% 19% 42% 25% 25%
  51. 51. Soporte a la Colaboración en la Arquitectura de COALA COLE-ProgrammingOtros 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
  52. 52. COLE-Programming: Vista de chat
  53. 53. COLE-Programming: Vista de foro
  54. 54. COLE-Programming: Vista votaciones
  55. 55. Mensaje de descripción Tipo de mensaje (código, error, warning, etc.)Código fuente, mensaje de error, etc. Identificador del mensaje compartido
  56. 56. Filtrado de mensajes Selección del filtro Colores para identificar elEspecificación del tipo de mensaje tipo de mensaje
  57. 57. Monitorización Qué usuario se monitoriza Actividad Participación Para cada Colaboraciónherramienta
  58. 58. 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.
  59. 59. 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
  60. 60. 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 g80% 80%70% 70%60% 60%50% 50% C hat 40% C h at40%30% 30%20% Foro 20% Fo ro10% 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
  61. 61. 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 g60%50% P e r s o n a liz a c ió n d e c o lo r e s40%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 je20% H e rra m ie n ta d e10% 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
  62. 62. 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
  63. 63. 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.
  64. 64. MUCHAS GRACIASEspecialmente a:William J. Giraldo M. Lili VillegasFáber D. Giraldo
  65. 65. ¿Preguntas? Enseñanza de la Programación por pares mediante el entorno Eclipse

×