Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de...

40
Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido Trabajo para optar por el título de Máster en Ciencia de la Computación Santa Clara, marzo de 2011 Autor: Lic. José Albert Cruz Almaguer Tutor: Dr. Rafael Arturo Trujillo Rasúa

description

Visual programming language and framework to teach introductory programming.

Transcript of Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de...

Page 1: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Plataforma de apoyo al proceso de enseñanza-aprendizaje de la

algoritmización con un enfoque de Currículo Invertido

Plataforma de apoyo al proceso de enseñanza-aprendizaje de la

algoritmización con un enfoque de Currículo Invertido

Trabajo para optar por el título de Máster en Ciencia de la Computación

Santa Clara, marzo de 2011

Autor: Lic. José Albert Cruz AlmaguerTutor: Dr. Rafael Arturo Trujillo

Rasúa

Page 2: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Sumario

• Planteamiento del problema• Objetivos• Resolviendo el problema• Conclusiones y recomendaciones

Page 3: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Planteamiento del problema (1/5)Siglo XXI, expectativas

Page 4: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Planteamiento del problema (2/5)Siglo XXI, realidad

Page 5: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Planteamiento del problema (3/5)Siglo XXI, alternativas

Page 6: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Planteamiento del problema (4/5)Siglo XXI, alternativas

Page 7: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Planteamiento del problema (5/5)Siglo XXI, alternativas

Page 8: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Sumario

• Planteamiento del problema• Objetivos• Resolviendo el problema• Conclusiones y recomendaciones

Page 9: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Desarrollar una herramienta que facilite la construcción de programas para el apoyo del proceso de enseñanza-aprendizaje de la algoritmización usando el enfoque de Currículo Invertido.

Objetivo general

Page 10: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

• Definir un lenguaje gráfico de programación que conste de estructuras de control, invocación a métodos, asignación y declaración de variables.

• Construir un micromundo que sirva de caso de estudio.

• Establecer una arquitectura distribuida para la interacción entre el lenguaje y los micromundos.

Objetivos específicos

Page 11: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Sumario

• Planteamiento del problema• Objetivos• Resolviendo el problema• Conclusiones y recomendaciones

Page 12: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(1/19)Marco de trabajo

Lenguaje gráfico

Entorno

Micromundo

Bibliotecas

utilitarias

Page 13: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(2/19)Arquitectura, razones

Page 14: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(3/19)Micromundo Robot (caso de estudio)

Cinco objetos•almacén•fábricas•robot

• Dominio atractivo• Acciones y objetos conocidos

Page 15: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(4/19)El lenguaje, acciones

Page 16: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(5/19)El lenguaje, variables

Page 17: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(6/19)El lenguaje, estructuras de control

Page 18: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(7/19)El entorno, utilización

Page 19: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(8/19)El entorno, ejecución de un programa

proxiesmover

robot fab2

AST

robot.mover(fab2)

proxies

Enrutador

robotfab2

Micromundo

construye

genera

Page 20: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(9/19)Tecnologías utilizadas

JavaFX

•Patrón MVC en el lenguaje•Literales de objetos•Animaciones, transformaciones

Page 21: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(10/19)Tecnologías utilizadas

JRubyJavaFX

• Integración con Java• Forma interna

Page 22: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(11/19)Tecnologías utilizadas

JRubyJavaFX

Scala

• Extensible• Modelo de actor

Page 23: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(12/19)Tecnologías utilizadas

JRuby

Java

JavaFX

Scala

• Lenguaje básico• Integración

Page 24: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(13/19)Tecnologías utilizadas

Erlang

JRuby

Java

JavaFX

Scala

•Integración•Concurrente

Page 25: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(14/19)La plataforma, servicios

• Especificación de interfaz vía anotaciones• Generación de proxies• Generación del enrutador• Configuración de las etiquetas en las

estructuras de control y en la asignación

Page 26: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(15/19)La plataforma, servicios

Page 27: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(16/19)La plataforma, servicios

Page 28: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(17/19)La plataforma, servicios

Page 29: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(18/19)La plataforma, servicios

Page 30: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Resolviendo el problema(19/19)La plataforma, novedad

Scratch Plataforma

Etiquetas fijas Sí No

Varios usuarios sobre el mismo ambiente No Sí

Invocación a métodos (paso de parámetros) No Sí

Aplicabilidad de Currículo invertido No Sí

Page 31: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Sumario

• Planteamiento del problema• Objetivos• Resolviendo el problema• Conclusiones y recomendaciones

Page 32: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Conclusiones (1/2)

• Marco de trabajo para el montaje de ejercicios que, bajo un enfoque de Currículo Invertido, permita el desarrollo de cursos introductorios de programación.

• Lenguaje de programación gráfico basado en bloques que permite personalizar las estructuras de control.

• Entorno de trabajo para la utilización del lenguaje.

Page 33: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Conclusiones (2/2)

• Arquitectura distribuida para la interacción entre los micromundos y el entorno de programación.

• Utilización del marco de trabajo para el montaje de un caso de estudio.

• Exposición de los principales conceptos asociados a la solución de problemas mediante computadoras.

Page 34: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Recomendaciones

• Incluir un debugger en el entorno.• Añadir soporte para la definición de los conceptos

de método y clase.• Escribir un manual que apoye la realización de un

curso de programación utilizando la herramienta.• Hacer una validación de la propuesta con

estudiantes de primer año de una carrera de Informática.

• Utilizar la herramienta en un círculo de interés de la enseñanza secundaria.

Page 35: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

Plataforma de apoyo al proceso de enseñanza-aprendizaje de la

algoritmización con un enfoque de Currículo Invertido

Plataforma de apoyo al proceso de enseñanza-aprendizaje de la

algoritmización con un enfoque de Currículo Invertido

Trabajo para optar por el título de Máster en Ciencia de la Computación

Autor: Lic. José Albert Cruz AlmaguerTutor: Dr. Rafael Arturo Trujillo

Rasúa

Page 36: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

1.- El autor del trabajo cita en el epígrafe 1.2.1 de su tesis que para solucionar problemas se manifiestan o intervienen 4 etapas mentales las que son empleadas de manera cíclica. Sin embargo no queda claro en el informe, cómo se tienen en cuenta a la hora de lograr el objetivo general del trabajo. ¿Podría explicar cómo esas etapas se manifiestan en uso de la herramienta para lograr buenos resultados en apoyo de ésta al proceso de enseñanza-aprendizaje de la algoritmización usando el enfoque de Currículo Invertido?

Preguntas de la Oponencia

Page 37: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido
Page 38: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido
Page 39: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

2.- ¿Qué ventajas considera le haya proporcionado el uso de la programación en Java, así como JavaFX en la implementación del marco de trabajo? ¿Cómo apoya la arquitectura cliente servidor al trabajo de comunicación de los entornos de programación con el micromundo? ¿cómo se manifiesta aquí el enfoque de Currículo invertido?

Preguntas de la Oponencia

Page 40: Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización con un enfoque de Currículo Invertido

3.- En el informe se plantea el haber utilizado el Patrón del Modelo Vista Controlador, para sincronizar las diferentes vistas dependientes de un modelo dado, ¿cómo logra entonces mejorar la reusabilidad de la aplicación diseñada?

Preguntas de la Oponencia