Un lenguaje de programación educativo es un lenguaje de programación que está diseñado principalmente como un instrumento para el aprendizaje , y generalmente está diseñado para ser un punto de partida para pasar a lenguajes de programación más complejos y útiles.
Tipos de lenguajes de programación educativa
Lenguajes ensambladores
Inicialmente, el código de máquina era el único método para programar computadoras. El lenguaje ensamblador fue el primero en desarrollarse, convirtiéndose en una de las familias de lenguajes de programación más antiguas que aún se utilizan en la actualidad. Existen numerosos dialectos e implementaciones, cada uno adaptado a una arquitectura de procesador de computadora específica. Los lenguajes ensambladores se consideran de bajo nivel y más difíciles de usar, ya que no tienen tipos y son rígidos. Con fines educativos, se han desarrollado dialectos simplificados del lenguaje ensamblador para que la codificación sea más accesible para los principiantes.
Los lenguajes de bajo nivel , como el lenguaje ensamblador, deben escribirse para una arquitectura de procesador particular. No se pueden enseñar ni utilizar de manera eficaz de manera aislada del hardware para el que fueron diseñados. A diferencia de los lenguajes de alto nivel, los lenguajes ensambladores educativos requieren alguna forma de representación del procesador, ya sea virtual o física. Los lenguajes ensambladores se utilizan comúnmente para enseñar las operaciones fundamentales de un procesador de computadora.
- Little Man Computer (LMC) (1965) es un modelo instructivo de una computadora simple con arquitectura de Von Neumann. Incluye las características básicas de las computadoras modernas y se puede programar mediante código de máquina (generalmente en decimal) o en ensamblador. El modelo simula un entorno informático mediante una metáfora visual de una persona (el "Hombrecito") en una habitación con 100 buzones (memoria), una calculadora (el acumulador) y un contador de programas. LMC se utiliza para ayudar a los estudiantes a comprender las funciones básicas del procesador y la gestión de la memoria .
- MIX (1968) y MMIX (1999) son modelos hipotéticos de ordenador que aparecen en "El arte de la programación informática" de Donald Knuth. El ordenador MIX está diseñado con fines educativos, para ilustrar cómo funciona un lenguaje de máquina básico. A pesar de su simplicidad, puede manejar tareas complejas típicas de los ordenadores de alto rendimiento. MIX permite programar tanto en binario como en decimal, con emuladores de software disponibles para ambos modelos. MMIX, que sustituyó a MIX, es una arquitectura de conjunto de instrucciones RISC de 64 bits, modernizada para la enseñanza de la arquitectura informática contemporánea.
- DLX (1994) es una arquitectura de procesador de computadorade conjunto de instrucciones reducido ( RISC ) creada por los desarrolladores clave de los diseños MIPS y Berkeley RISC . DLX es una versión simplificada de MIPS , que ofrece una arquitectura de carga/almacenamiento de 32 bits que se utiliza comúnmente en cursos de arquitectura de computadoras de nivel universitario.
- Next Byte Codes (NBC) (2007) es un lenguaje ensamblador simple que se utiliza para programar bloques programables Lego Mindstorms NXT . El compilador NBC produce código de máquina compatible con NXT y es compatible con Windows, macOS y Linux.
- Little Computer 3 (LC-3) (2019) es un lenguaje ensamblador con un conjunto de instrucciones simplificado, que permite escribir programas ensambladores moderadamente complejos. Incluye muchas características que se encuentran en lenguajes más avanzados, lo que lo hace útil para enseñar programación básica y arquitectura informática . Se utiliza principalmente en cursos introductorios de informática e ingeniería.
Variantes básicas
BASIC (que significa código simbólico de instrucciones para principiantes) se inventó en 1964 para brindar acceso a computadoras a estudiantes no científicos. Se hizo popular en las minicomputadoras durante la década de 1960 y se convirtió en un lenguaje de computación estándar para microcomputadoras a fines de la década de 1970 y principios de la de 1980. Los objetivos de BASIC se centraban en la necesidad de aprender a programar fácilmente:
- ser fácil de usar para principiantes,
- ser interactivo,
- Proporcionar mensajes de error claros y amigables,
- Responder rápidamente,
- No requieren conocimientos de hardware de computadoras ni de sistemas operativos.
Lo que hizo que BASIC fuera particularmente útil para la educación fue el pequeño tamaño de los programas, que podían ilustrar un concepto en una docena de líneas. BASIC sigue siendo hasta el día de hoy un lenguaje autodidacta con excelentes tutoriales e implementaciones.
Véase también Lista de dialectos BASIC por plataforma .
BASIC ofrece una ruta de aprendizaje desde BASIC orientados al aprendizaje, como Microsoft Small Basic , BASIC-256 y SiMPLE , hasta BASIC con más funciones, como Visual Basic .NET y Gambas .
- Microsoft Small Basic es una versión restringida de Visual Basic diseñada como primer lenguaje, "con el objetivo de devolver la 'diversión' a la programación". El lenguaje es intencionadamente minimalista y solo cuenta con 15 palabras clave intuitivas. Al proporcionar bibliotecas específicas de objetos para temas que interesan a los niños, pueden crear fácilmente programas atractivos e interactivos tanto para la web como para entornos de escritorio. Por ejemplo, con 6 líneas de código, es posible demostrar un visor de imágenes de red aleatorio utilizando Flickr como fuente. [1] El sistema utiliza elIDE de Microsoft Visual Studio para proporcionar autocompletado y ayuda contextual .
- Basic-256 es una versión fácil de usar de BASIC diseñada para enseñar a cualquier persona los conceptos básicos de la programación informática. Utiliza las estructuras de control tradicionales de BASIC ( gosub , bucles for , goto ) para facilitar la comprensión del control del flujo del programa. Tiene un modo gráfico integrado que permite a los niños dibujar imágenes en la pantalla después de unos minutos.
- SiMPLE es un sistema de desarrollo de programación que fue creado para proporcionar habilidades de programación sencillas para todos, especialmente para los no profesionales. Es algo así como AppleSoft BASIC . Está compilado y permite a los usuarios crear sus propias bibliotecas de funciones de uso frecuente. "Simple" es un término genérico para tres versiones ligeramente diferentes del lenguaje: Micro-SIMPLE (utiliza solo 4 palabras clave), Pro-SiMPLE y Ultra-SiMPLE (utiliza 23 palabras clave).
- Hot Soup Processor es un lenguaje derivado de BASIC utilizado en las escuelas japonesas.
- TI-BASIC es un lenguaje simple similar a BASIC implementado en las calculadoras gráficas de Texas Instruments , que a menudo sirve como una primera mirada a la programación para los estudiantes.
- SmallBASIC es un intérprete de lenguaje BASIC rápido y fácil de aprender,ideal para cálculos cotidianos, scripts y prototipos . Incluye funciones trigonométricas , matriciales y algebraicas , un IDE integrado, una potente biblioteca de cadenas, comandos de sistema, de sonido y gráficos, y una sintaxis de programación estructurada.
Basado en C
- Ch es un intérprete de C / C++ diseñado para ayudar a estudiantes que no son de informática a aprender matemáticas, computación y programación en C y C++. Amplía C con funciones numéricas, de trazado gráfico 2D/3D y de creación de scripts.
Basado en Java
- NetLogo , escrito en Java y Scala , es un entorno de desarrollo para construir y explorar modelos científicos, específicamente modelos basados en agentes . Su uso está muy extendido tanto en la investigación científica (artículos científicos que utilizan NetLogo) como en contextos educativos, incluidas escuelas primarias y secundarias, universidades y museos.
Basado en Lisp
- Lisp es la segunda familia más antigua de lenguajes de programación en uso en la actualidad y, como tal, tiene muchos dialectos e implementaciones con una amplia gama de dificultades. Lisp se creó originalmente como una notación matemática práctica para programas de computadora, basada en el cálculo lambda , lo que lo hace particularmente adecuado para enseñar teorías de computación. Como uno de los primeros lenguajes, Lisp fue pionero en muchas ideas en informática , incluidas las estructuras de datos en árbol , la gestión automática del almacenamiento , el tipado dinámico , la programación orientada a objetos y el compilador autoalojado , todas ellas útiles para aprender informática. El nombre LISP deriva de "lenguaje de procesamiento de listas". Las listas enlazadas son una de las principales estructuras de datos de los lenguajes , y el código fuente de Lisp está hecho de listas. Por lo tanto, los programas Lisp pueden manipular el código fuente como una estructura de datos, dando lugar a los macrosistemas que permiten a los programadores crear nueva sintaxis o incluso nuevos lenguajes específicos del dominio integrados en Lisp. Por lo tanto, Lisp puede ser útil para aprender diseño de lenguajes. [ cita requerida ]
- Logo es un lenguaje que fue diseñado específicamente para introducir a los niños a la programación. La primera parte del aprendizaje de Logo trata sobre los "gráficos de tortuga" (derivados de los robots tortuga ) utilizados ya en 1969 con el proto-Logo. En las implementaciones modernas, se utiliza un dispositivo de dibujo abstracto, llamado tortuga , para hacer que la programación para los niños sea muy atractiva al concentrarse en hacer gráficos de tortuga . Seymour Papert , uno de los creadores de Logo, fue un importante pensador del construccionismo , una variedad de teorías de aprendizaje constructivistas . Papert argumentó que actividades como la escritura serían aprendidas naturalmente por niños mucho más pequeños siempre que adoptaran una cultura informática. [2] Logo fue diseñado no sólo para enseñar programación y conceptos informáticos, sino para mejorar el bienestar general de un niño en una cultura cada vez más dominada por la tecnología, " más importante que comenzar temprano con el desarrollo intelectual, es salvarse de un largo período de dependencia durante el cual uno aprende a pensar en el aprendizaje como algo que tiene que ser impartido por un otro más poderoso... Tales niños no se definirían a sí mismos ni permitirían que la sociedad los definiera como intelectualmente indefensos " . [2] Ha sido utilizado por niños de tan solo 3 años y tiene un historial de 30 años de éxito en educación. Dado que Logo es en realidad una versión simplificada de Lisp con estudiantes más avanzados, se puede utilizar para introducir los conceptos básicos de la informática e incluso la inteligencia artificial. Logo está ampliamente disponible en prácticamente todas las plataformas, tanto en versiones gratuitas como comerciales.
Basado en Scala
- Kojo es un entorno de desarrollo de escritorio interactivo desarrollado principalmente para aplicaciones con fines educativos que se ejecuta en Windows , Linux y OS X. Es un entorno de aprendizaje, con muchas características diferentes que ayudan con la exploración, el aprendizaje y la enseñanza de conceptos en las áreas de programación informática y pensamiento crítico , matemáticas y ciencias, arte, música y pensamiento creativo, alfabetización informática e Internet . [3]
Basado en Smalltalk
Como parte del proyecto One Laptop per Child , se ha desarrollado una secuencia de lenguajes basados en Smalltalk, cada uno diseñado para actuar como una introducción al siguiente. La estructura es Scratch, Etoys, Squeak y cualquier Smalltalk . [4]
Cada uno proporciona entornos gráficos que pueden usarse para enseñar no solo conceptos de programación a los niños, sino también simulaciones de física y matemáticas, ejercicios de narración de historias, etc., mediante el uso del aprendizaje constructivo . Smalltalk y Squeak son lenguajes de desarrollo de aplicaciones con todas las funciones que han existido y son muy respetados durante décadas; Scratch es una herramienta de aprendizaje para niños.
- Scratch es un lenguaje visual basado en Squeak e implementado en él. Su objetivo es enseñar conceptos de programación a los niños y permitirles crear juegos, vídeos y música. En Scratch, todos los objetos interactivos, gráficos y sonidos se pueden importar fácilmente a un nuevo programa y combinar de nuevas formas. De esa manera, los principiantes pueden obtener resultados rápidos y estar motivados para seguir intentándolo. La comunidad Scratch ha desarrollado y subido más de 3.000.000 de proyectos. [5] Está desarrollado por el grupo Lifelong Kindergarten en el MIT Media Lab .
- Etoys se basa en la idea de entidades virtuales programables que se comportan en la pantalla de la computadora. Etoys proporciona un entorno de creación de contenido multimedia con un modelo de objetos con scripts simple y potente para muchos tipos de objetos creados por los usuarios finales. Incluye gráficos 2D y 3D , imágenes , texto , partículas, presentaciones, páginas web, videos , sonido y MIDI , la capacidad de compartir escritorios con otros usuarios de Etoys en tiempo real , por lo que se pueden realizarmuchas formas de tutoría y juego inmersivos a través de Internet . Es multilingüe y se ha utilizado con éxito en Estados Unidos , Europa , Sudamérica , Japón , Corea , India , Nepal y otros lugares. El programa está dirigido a niños de entre 9 y 12 años. [6]
- Squeak es una implementación moderna, de código abierto y con todas las funciones del lenguaje y entorno Smalltalk. Smalltalk es unlenguaje de programación reflexivo , de tipado dinámico y orientado a objetos creado para respaldar el "nuevo mundo" de la informática ejemplificado por la "simbiosis humano-computadora". [7] Al igual que Lisp , tiene persistencia basada en imágenes , por lo que todo es modificable desde dentro del lenguaje (consulte Smalltalk#Reflection ). [8] Ha influido enormemente en la industria al introducir muchos de los conceptos de programación orientada a objetos y compilación justo a tiempo . Squeak es el vehículo para una amplia gama de proyectos que incluyen aplicaciones multimedia, plataformas educativas y desarrollo de aplicaciones web comerciales . Squeak está diseñado para ser altamente portátil y fácil de depurar, analizar y cambiar, ya que su máquina virtual está escrita completamente en Smalltalk.
Pascal
- Pascal es un lenguaje diseñado por Niklaus Wirth en 1970 aproximadamente con el objetivo de enseñar programación estructurada. [9] Desde finales de los años 1970 hasta finales de los años 1980, fue la opción principal en las clases introductorias de informática para enseñar programación a los estudiantes tanto en los EE. UU. como en Europa. Desde entonces, su uso para aplicaciones del mundo real ha aumentado y, desde entonces, considerarlo un lenguaje puramente educativo se ha vuelto algo controvertido. [ ¿según quién? ]
Otro
Niños
- AgentSheets y AgentCubes son dos herramientas de pensamiento computacional para crear juegos y simulaciones en 2D y 3D. La creación se realiza a través de aplicaciones de escritorio o aplicaciones basadas en navegador y puede crear juegos en 2D y 3D que se pueden reproducir en navegadores compatibles con HTML5, incluidos los móviles.
- Alice es un software de programación gratuito diseñado para enseñar programación orientada a objetos basada en eventos a niños. Los programadores crean historias interactivas utilizando una interfaz IDE moderna con un estilo de programación de arrastrar y soltar. El público objetivo son los estudiantes universitarios de primer año, aunque la mayoría de los niños con experiencia en computadoras lo encontrarán entretenido y educativo. [ cita requerida ] Story Telling Alice es una variante de Alice diseñada para niños más pequeños, con una inclinación aún más fuerte hacia la narración de historias. [ 10 ]
- Blockly es un lenguaje gráfico de código abierto basado en la web en el que los usuarios pueden arrastrar bloques para crear una aplicación sin necesidad de escribir. Fue desarrollado por Google . Hay más información disponible en la página de inicio del proyecto. [11]
- CiMPLE es un lenguaje visual para programar kits de robótica para niños. Está construido sobre C como un DSL . ThinkLabs, una startup india de educación en robótica, lo ha construido para el kit de robótica iPitara. El lenguaje tiene un gran parecido con el lenguaje C. Aproximadamente más de 5000 estudiantes en la India han comprado el kit iPitara y lo han programado utilizando CiMPLE. [ cita requerida ] Hay más información disponible en el blog de desarrolladores originales de CiMPLE [12] y en ThinkLabs. [13]
- Physical Etoys es una extensión de código abierto y gratuita de Etoys. Su filosofía es "ayudar a los niños a modelar y programar el mundo real para aprender más sobre él". [ cita requerida ] Puede ejecutarse en Windows , Linux y Sugar . Debido a su sistema de scripting en bloques, Physical Etoys permite que diferentes dispositivos electrónicos como Lego NXT ,placas Arduino , Sphero , Kinect y joysticks de Wiimote interactúen entre sí.
- Hackety Hack es un entornogratuito basado en Ruby que tiene como objetivo hacer que el aprendizaje de la programación sea fácil para principiantes, especialmente adolescentes [ cita requerida ] .
- Karel , Karel++ y Karel J. Robot son lenguajes orientados a principiantes que se utilizan para controlar un robot simple en una ciudad que consta de una cuadrícula rectangular de calles. Si bien Karel es un lenguaje propio, Karel++ es una versión de Karel implementada en C++ , mientras que Karel J. Robot es una versión de Karel implementada en Java .
- Kodu es un lenguaje simple y basado completamente en íconos. Fue creado por Microsoft Research como un proyecto para que los niños más pequeños, y especialmente las niñas, disfruten de la tecnología. Los programas se componen de páginas, que se dividen en reglas, que a su vez se dividen en condiciones y acciones. Las condiciones se evalúan simultáneamente. El lenguaje Kodu está diseñado específicamente para el desarrollo de juegos y proporciona primitivas especializadas derivadas de escenarios de juegos. Los programas se expresan en términos físicos, utilizando conceptos como la visión, la audición y el tiempo para controlar el comportamiento de los personajes. La herramienta Kodu está disponible en tres formatos: para PC como descarga gratuita en versión beta pública y académica, y como descarga económica para Xbox 360 Live.
- Logo es un lenguaje educativo para niños diseñado en 1967 por Daniel G. Bobrow , Wally Feurzeig , Seymour Papert y Cynthia Solomon . Hoy en día, el lenguaje es recordado principalmente por su uso de " gráficos de tortuga ", en los que los comandos de movimiento y dibujo producen gráficos de líneas utilizando un pequeño robot llamado " tortuga ". El lenguaje fue concebido originalmente para enseñar conceptos de programación relacionados con Lisp y solo más tarde para permitir lo que Papert llamó " razonamiento sintónico corporal ", donde los estudiantes podían comprender (y predecir y razonar sobre) el movimiento de la tortuga imaginando lo que harían si fueran la tortuga [ cita requerida ] .
- Lego Mindstorms es una línea de sets Lego que combina bloques programables con motores eléctricos, sensores, bloques Lego y piezas Lego Technic (como engranajes, ejes y vigas). Mindstorms se originó a partir de los bloques de sensores programables utilizados en la línea de juguetes educativos. La primera versión minorista de Lego Mindstorms se lanzó en 1998 y se comercializó como Robotics Invention System (RIS). La versión actual se lanzó en 2006 como Lego Mindstorms NXT . Se utiliza una amplia gama de lenguajes de programación para Mindstorms, desde Logo hasta BASIC y derivados de Java, Smalltalk y C. El enfoque de programación de Mindstorm ahora tiene sitios físicos dedicados llamados Computer Clubhouses .
- Mama es un lenguaje educativo orientado a objetos diseñado para ayudar a los estudiantes jóvenes a comenzar a programar, proporcionándoles todos los elementos del lenguaje en su lengua materna. El lenguaje Mama está disponible en varios idiomas, con soporte para direcciones de lenguaje LTR y RTL. Una nueva variante de Mama se construyó sobre el entorno de desarrollo Alice de Carnegie Mellon , que admite la creación de scripts de los objetos del escenario 3D. Esta variante fue diseñada para ayudar a los estudiantes jóvenes a comenzar a programar mediante la creación de animaciones y juegos 3D. Un documento sobre los principios de programación educativa explica las consideraciones de diseño de Mama. [14]
- RoboMind es un entorno de programación educativo sencillo que permite a los principiantes programar un robot. Presenta técnicas de programación populares junto con la robótica y la inteligencia artificial. El robot se puede programar en árabe, chino, holandés, alemán, inglés y sueco.
- Scratch es un lenguaje gráfico basado en bloques que se utiliza para crear historias y juegos animados.
- ScratchJr es un derivado del lenguaje gráfico Scratch. Está diseñado para niños de entre 5 y 7 años.
- Snap! es unlenguaje gráfico gratuito de código abierto basado en bloques implementado en JavaScript y originalmente derivado de Scratch del MIT . Snap! agrega la capacidad de crear nuevos bloques y tiene funciones de primera clase que permiten el uso de funciones anónimas . UC Berkeley lo mantiene activamente. El código fuente está alojado íntegramente en GitHub .
- Stagecast Creator es un sistema de programación visual basado en la programación por demostración . Los usuarios demuestran al sistema qué hacer moviendo íconos en la pantalla y este genera reglas para los objetos (personajes). Los usuarios pueden crear simulaciones bidimensionales que modelan conceptos, juegos de varios niveles e historias interactivas.
- Stencyl es un IDE de desarrollo de juegos y programación visual que se ha utilizado en educación y comercio. El concepto de bloques de código que implementa se basa en el lenguaje visual Scratch del MIT (mencionado anteriormente). También permite el uso de código tipificado normal (separado o entremezclado) a través de su propia API y el lenguaje Haxe .
- ToonTalk es un lenguaje y un entorno que parece un videojuego. Las abstracciones computacionales se asignan a análogos concretos, como robots, casas, camiones, pájaros, nidos y cajas. Admite números enteros grandes y números racionales exactos. Se basa en programación con restricciones concurrentes .
- TurboWarp es una versión optimizada no oficial de Scratch que mejora el rendimiento de muchos proyectos.
Universidad
- Curry es un lenguaje didáctico [15] diseñado para amalgamar los paradigmas de programación declarativa más importantes, a saber, la programación funcional (expresiones anidadas, funciones de orden superior, evaluación diferida) y la programación lógica (variables lógicas, estructuras de datos parciales, búsqueda incorporada). También integra los dos principios operativos más importantes desarrollados en el área de lenguajes lógicos funcionales integrados: "residuación" y "estrechamiento". [16] [17]
- Flowgorithm es una herramienta de creación gráfica para escribir y ejecutar programas mediante diagramas de flujo . El enfoque está diseñado para enfatizar el algoritmo en lugar de la sintaxis de un lenguaje determinado. El diagrama de flujo se puede convertir a varios lenguajes importantes como C# , Java , Visual Basic .NET y Python . [18]
- Oz es un lenguaje diseñado para enseñar teoría de computadoras. Admite la mayoría de los paradigmas principales [19] en un solo lenguaje para que los estudiantes puedan aprender paradigmas sin tener que aprender múltiples sintaxis . Oz contiene de una manera simple y bien factorizada, la mayoría de los conceptos de los principales paradigmas de programación, incluyendo la lógica, la programación funcional (tanto perezosa como ansiosa), la programación imperativa, la programación orientada a objetos, la programación por restricciones, la programación distribuida y la programación concurrente. Tiene un libro de texto canónico , Concepts, Techniques, and Models of Computer Programming (2004), y una implementación estándar disponible de forma gratuita, el Sistema de Programación Mozart . [ cita requerida ]
Véase también
Referencias
- ^ Microsoft Corporation 2009 Guía de inicio rápido para Small Basic, pág. 64.
- ^ ab Papert, Seymour (octubre de 1980). Redefiniendo la infancia: la presencia informática como experimento en psicología del desarrollo. Tokio, Japón y Melbourne, Australia: 8º Congreso Mundial de Informática: Congreso IFIP.
- ^ "Acerca de Kogics Kojo" . Consultado el 12 de febrero de 2011 .
- ^ Cavallo, David (28 de mayo de 2007). "Aprendiendo a usar Squeak desde cero". One Laptop Per Child News . Consultado el 3 de abril de 2009 .
- ^ Mitchel Resnick; John Maloney; Natalie Rusk; Evelyn Eastmond; Amon Millner; Jay Silver; Eric Rosenbaum; Karen Brennan; Amos Blanton. "Scratch: imagina, programa, comparte". Instituto Tecnológico de Massachusetts . Consultado el 8 de enero de 2013 .
- ^ Ducasse, Stéphane (2005). Squeak: Aprenda a programar con robots (Tecnología en acción). Apress. pp. 289 en el cap. 24: Un recorrido o eTOY . ISBN 1-59059-491-6.
- ^ Kay, Alan. "La historia temprana de Smalltalk". Archivado desde el original el 29 de abril de 2011. Consultado el 13 de septiembre de 2007 .
- ^ Para una explicación más detallada de por qué esto lo hace fácil, consulte el Evaluador metacircular.
- ^ Hemmendinger, David. "Pascal". Enciclopedia Británica, 5 de abril de 2024, https://www.britannica.com/technology/Pascal-computer-language. Consultado el 12 de junio de 2024.
- ^ "Cuentos de Alice – Alice" . Consultado el 7 de noviembre de 2023 .
- ^ "Archivo de código de Google: almacenamiento a largo plazo para el alojamiento de proyectos de código de Google". code.google.com . Consultado el 7 de noviembre de 2023 .
- ^ Blog original de desarrolladores de CiMPLE Archivado el 21 de julio de 2011 en Wayback Machine
- ^ ThinkLabs
- ^ Principios de programación educativa de Mama
- ^ M. Hanus. Enseñanza de la programación funcional y lógica con un único modelo computacional. En Proc. Noveno Simposio Internacional sobre Lenguajes de Programación, Implementaciones, Lógicas y Programas (PLILP'97), págs. 335-350. Springer LNCS 1292, 1997.
- ^ "Informe Curry, Introducción". Archivado desde el original el 4 de octubre de 2009.
- ^ Hanus, M. (1994). "La integración de funciones en la programación lógica: de la teoría a la práctica". Journal of Logic Programming . 19&20: 583–628.
- ^ "Acerca de". Flowgorithm . Consultado el 26 de agosto de 2014 .
- ^ Afiche de Paradigmas de programación
Enlaces externos
- Lenguajes de programación educativa en Curlie