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