Ambiente virtual y Lenguaje de Domino Específico para la enseñanza de la programación

Post on 15-Jun-2015

73 views 2 download

description

Modifying the visual programming language scratch and developing a domain-specific language in Scala to facilitate the teaching of programming.

Transcript of Ambiente virtual y Lenguaje de Domino Específico para la enseñanza de la programación

Ambiente virtual y Ambiente virtual y Lenguaje de Domino Lenguaje de Domino

Específico para la Específico para la enseñanza de la enseñanza de la programaciónprogramación

Ambiente virtual y Ambiente virtual y Lenguaje de Domino Lenguaje de Domino

Específico para la Específico para la enseñanza de la enseñanza de la programaciónprogramación

Autor: Lic. JosAutor: Lic. José Albert Cruz é Albert Cruz AlmaguerAlmaguerGrupo de Investigación de Programación Avanzada (GIPA)Grupo de Investigación de Programación Avanzada (GIPA)Universidad de las Ciencias InformáticasUniversidad de las Ciencias Informáticas, Cuba, CubaNoviembre de 2009Noviembre de 2009

GIPA, Universidad de las Ciencias Informáticas

ContenidosContenidos

Implementación

Entornos virtuales

Los LPs en la enseñanza de la programación

Conclusiones

GIPA, Universidad de las Ciencias Informáticas

Los LPs en la Los LPs en la enseñanza de la enseñanza de la programaciónprogramación

• Instruir a la computadora: el LP es Instruir a la computadora: el LP es un lenguaje de máquina de muy un lenguaje de máquina de muy alto nivel (se analizan cuestiones alto nivel (se analizan cuestiones como la gestión de la memoria, el como la gestión de la memoria, el flujo de la ejecución, las flujo de la ejecución, las características imperativas)características imperativas)

GIPA, Universidad de las Ciencias Informáticas

Los LPs en la Los LPs en la enseñanza de la enseñanza de la programaciónprogramación

• Manejar la descripción de los Manejar la descripción de los programas: usado para entender el programas: usado para entender el programa y sus partes (visibilidad, programa y sus partes (visibilidad, encapsulación, modularidad)encapsulación, modularidad)

GIPA, Universidad de las Ciencias Informáticas

Los LPs en la Los LPs en la enseñanza de la enseñanza de la programaciónprogramación

• Modelado conceptual: usado para Modelado conceptual: usado para entender el conocimiento asociado entender el conocimiento asociado y la estructura.y la estructura.

GIPA, Universidad de las Ciencias Informáticas

Instruir a la Instruir a la computadoracomputadora

Necesario para entender de qué Necesario para entender de qué trata la programacióntrata la programación

Útil para estudiantes con pobre Útil para estudiantes con pobre formación matemática (habilidades formación matemática (habilidades de abstracción)de abstracción)

GIPA, Universidad de las Ciencias Informáticas

Particularidades de la Particularidades de la programaciónprogramación

• Previsión: anticipar Previsión: anticipar permanentemente las permanentemente las consecuencias de las consecuencias de las instrucciones dadasinstrucciones dadas

• Poner en concordancia Poner en concordancia conceptos, requisitos, conceptos, requisitos, consideraciones inicialesconsideraciones iniciales

GIPA, Universidad de las Ciencias Informáticas

Mundos virtualesMundos virtuales

• MultimediosMultimedios• Permiten actuar como objetos Permiten actuar como objetos

animados o no dentro de la animados o no dentro de la virtualidadvirtualidad

• Ejemplos:Ejemplos:• TrafficTraffic

• ScratchScratch

GIPA, Universidad de las Ciencias Informáticas

ScratchScratch• Acercamiento a la Acercamiento a la

programación para personas programación para personas que nunca pensaron ser que nunca pensaron ser programadoresprogramadores

• Objetivo: desarrollar una Objetivo: desarrollar una nueva generación de nueva generación de pensadores creativos y pensadores creativos y sistemáticos, que se sientan sistemáticos, que se sientan cómodos expresando sus cómodos expresando sus ideas mediante la ideas mediante la programaciónprogramación

GIPA, Universidad de las Ciencias Informáticas

ScratchScratch

GIPA, Universidad de las Ciencias Informáticas

ScratchScratch• Desarrollado en SqueakDesarrollado en Squeak• Digital fluency: chatear, Digital fluency: chatear,

interactuar…interactuar… diseñar, crear e inventar diseñar, crear e inventar

nuevos medios.nuevos medios.

GIPA, Universidad de las Ciencias Informáticas

ScratchScratch• Cursos propedéuticos: Cursos propedéuticos:

Harvard, UCIHarvard, UCI• Necesidad de utilizar otro Necesidad de utilizar otro

lenguaje: no está diseñado lenguaje: no está diseñado para especialistas en para especialistas en informáticainformática

• Lenguaje de Dominio Lenguaje de Dominio EspecíficoEspecífico

• Etiquetas técnicamente Etiquetas técnicamente imprecisasimprecisas

• Redefinición: el Source Code Redefinición: el Source Code es públicoes público

GIPA, Universidad de las Ciencias Informáticas

ScratchScratch

Bloque en Scratch Significado

Para representar la asignación ( En Pascal: numero := 4; )

Para representar una variación del valor actual ( En Pascal: numero := numero + 2; )

GIPA, Universidad de las Ciencias Informáticas

ScratchScratch

GIPA, Universidad de las Ciencias Informáticas

POO: El lenguajePOO: El lenguaje• Éxito/Fracaso: DidácticaÉxito/Fracaso: Didáctica• Uso de medios: Traffic, AliceUso de medios: Traffic, Alice• Conceptos asociados a GUIsConceptos asociados a GUIs

GIPA, Universidad de las Ciencias Informáticas

El lenguajeEl lenguaje

GIPA, Universidad de las Ciencias Informáticas

El lenguajeEl lenguaje

GIPA, Universidad de las Ciencias Informáticas

El lenguajeEl lenguaje

GIPA, Universidad de las Ciencias Informáticas

ImplementaciónImplementación

• ScratchScratch• ScalaScala• ErlangErlang

GIPA, Universidad de las Ciencias Informáticas

Diseño de un curso de Diseño de un curso de programaciónprogramación

Marco de trabajo:Marco de trabajo:Enseñar conceptos iniciales Enseñar conceptos iniciales

en Scratchen ScratchLuego pasar al LDELuego pasar al LDE

GIPA, Universidad de las Ciencias Informáticas

ConclusionesConclusiones• Utilice siempre interfaz de Utilice siempre interfaz de

ventanas y objetos ventanas y objetos interactivosinteractivos

• Inicie a los estudiantes en la Inicie a los estudiantes en la codificación de instrucciones codificación de instrucciones mediante el ensamblado de mediante el ensamblado de bloques con mensajes claros bloques con mensajes claros asociadosasociados

GIPA, Universidad de las Ciencias Informáticas

ConclusionesConclusiones• Codifique en modo texto Codifique en modo texto

utilizando un lenguaje cuyas utilizando un lenguaje cuyas palabras pertenezcan al palabras pertenezcan al EspañolEspañol

• Utilice objetos como medio Utilice objetos como medio de asimilación de algunos de de asimilación de algunos de los principales conceptos de los principales conceptos de OO: mensajes/métodos y OO: mensajes/métodos y objetosobjetos

GIPA, Universidad de las Ciencias Informáticas

PreguntasPreguntas