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

23
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ón programación Autor: Lic. Jos Autor: Lic. Jos é Albert Cruz é Albert Cruz Almaguer Almaguer Grupo de Investigación de Programación Avanzada (GIPA) Grupo de Investigación de Programación Avanzada (GIPA) Universidad de las Ciencias Informáticas Universidad de las Ciencias Informáticas , Cuba , Cuba Noviembre de 2009 Noviembre de 2009

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

Page 1: 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

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

GIPA, Universidad de las Ciencias Informáticas

ContenidosContenidos

Implementación

Entornos virtuales

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

Conclusiones

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

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)

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

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)

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

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.

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

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)

Page 7: Ambiente virtual y Lenguaje de Domino Específico para la enseñanza de la programació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

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

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

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

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

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

GIPA, Universidad de las Ciencias Informáticas

ScratchScratch

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

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.

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

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

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

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; )

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

GIPA, Universidad de las Ciencias Informáticas

ScratchScratch

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

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

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

GIPA, Universidad de las Ciencias Informáticas

El lenguajeEl lenguaje

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

GIPA, Universidad de las Ciencias Informáticas

El lenguajeEl lenguaje

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

GIPA, Universidad de las Ciencias Informáticas

El lenguajeEl lenguaje

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

GIPA, Universidad de las Ciencias Informáticas

ImplementaciónImplementación

• ScratchScratch• ScalaScala• ErlangErlang

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

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

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

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

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

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

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

GIPA, Universidad de las Ciencias Informáticas

PreguntasPreguntas