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

Post on 15-Jun-2015

67 views 6 download

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

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