Upload
jose-almaguer
View
64
Download
6
Embed Size (px)
DESCRIPTION
Visual programming language and framework to teach introductory programming.
Citation preview
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
Sumario
• Planteamiento del problema• Objetivos• Resolviendo el problema• Conclusiones y recomendaciones
Planteamiento del problema (1/5)Siglo XXI, expectativas
Planteamiento del problema (2/5)Siglo XXI, realidad
Planteamiento del problema (3/5)Siglo XXI, alternativas
Planteamiento del problema (4/5)Siglo XXI, alternativas
Planteamiento del problema (5/5)Siglo XXI, alternativas
Sumario
• Planteamiento del problema• Objetivos• Resolviendo el problema• Conclusiones y recomendaciones
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
• 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
Sumario
• Planteamiento del problema• Objetivos• Resolviendo el problema• Conclusiones y recomendaciones
Resolviendo el problema(1/19)Marco de trabajo
Lenguaje gráfico
Entorno
Micromundo
Bibliotecas
utilitarias
Resolviendo el problema(2/19)Arquitectura, razones
Resolviendo el problema(3/19)Micromundo Robot (caso de estudio)
Cinco objetos•almacén•fábricas•robot
• Dominio atractivo• Acciones y objetos conocidos
Resolviendo el problema(4/19)El lenguaje, acciones
Resolviendo el problema(5/19)El lenguaje, variables
Resolviendo el problema(6/19)El lenguaje, estructuras de control
Resolviendo el problema(7/19)El entorno, utilización
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
Resolviendo el problema(9/19)Tecnologías utilizadas
JavaFX
•Patrón MVC en el lenguaje•Literales de objetos•Animaciones, transformaciones
Resolviendo el problema(10/19)Tecnologías utilizadas
JRubyJavaFX
• Integración con Java• Forma interna
Resolviendo el problema(11/19)Tecnologías utilizadas
JRubyJavaFX
Scala
• Extensible• Modelo de actor
Resolviendo el problema(12/19)Tecnologías utilizadas
JRuby
Java
JavaFX
Scala
• Lenguaje básico• Integración
Resolviendo el problema(13/19)Tecnologías utilizadas
Erlang
JRuby
Java
JavaFX
Scala
•Integración•Concurrente
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
Resolviendo el problema(15/19)La plataforma, servicios
Resolviendo el problema(16/19)La plataforma, servicios
Resolviendo el problema(17/19)La plataforma, servicios
Resolviendo el problema(18/19)La plataforma, servicios
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í
Sumario
• Planteamiento del problema• Objetivos• Resolviendo el problema• Conclusiones y recomendaciones
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.
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.
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.
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
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
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
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