Un lenguaje de programación educativo es un lenguaje de programación que está diseñado principalmente como un instrumento para el aprendizaje y menos como una herramienta para escribir programas para realizar un trabajo.
Tipos de lenguajes de programación educativos
Lenguajes ensambladores
Originalmente, el código de máquina era la única forma de programar computadoras. El lenguaje ensamblador fue el siguiente tipo de lenguaje utilizado; convirtiéndola en una de las familias de lenguajes informáticos más antiguas que se utilizan en la actualidad. Hay muchos dialectos e implementaciones disponibles, generalmente algunos para cada arquitectura de procesador de computadora. Es muy básico y se denomina lenguaje de programación de bajo nivel . Es uno de los lenguajes más difíciles de trabajar al no estar tipificado y ser rígido. Existen varios dialectos simplificados para la educación.
Los lenguajes de bajo nivel deben escribirse para una arquitectura de procesador específica y no pueden escribirse ni enseñarse de forma aislada sin hacer referencia al procesador para el que fueron escritos. A diferencia de los lenguajes de nivel superior, el uso de un lenguaje ensamblador educativo necesita una representación de un procesador, ya sea virtualizado o físico. El ensamblaje se utiliza para aprender sobre el funcionamiento fundamental del procesador de la computadora.
- Little Man Computer (LMC) (1965) es un modelo instructivo de una computadora simple con arquitectura von Neumann con todas las características básicas de las computadoras modernas. Se puede programar en código máquina (normalmente decimal) o ensamblador. Se basa en el concepto de tener un hombrecito encerrado en una habitación pequeña. En un extremo de la sala se encuentran 100 buzones a modo de memoria; cada uno puede contener una instrucción o datos de tres dígitos. En el otro extremo de la sala hay dos buzones etiquetados INBOX y OUTBOX que reciben y emiten datos. En el medio de la sala hay un área de trabajo con una calculadora simple de dos funciones (suma y resta) llamada Acumulador y un contador reiniciable llamado Contador de programa. El contador es similar al que utiliza un portero para contar cuántas personas han entrado a una instalación; puede contar hasta 1 o puede restablecerse a 0. Según lo especificado por la arquitectura de von Neumann , la memoria contiene tanto instrucciones como datos. El usuario carga datos en los buzones de correo y luego le indica al hombrecito que comience a ejecutar.
- MIX (1968) y MMIX (1999) son computadoras hipotéticas utilizadas en la monografía de Donald Knuth , The Art of Computer Programming ( TAOCP ). Los sistemas informáticos MIX están diseñados para educar a las personas sobre lo que ocurre dentro de una computadora mediante el uso de un lenguaje de máquina básico y comprensible. A pesar de su simplicidad, el sistema MIX maneja tareas complejas que se encuentran en las típicas computadoras de uso general de alto rendimiento. MIX es un híbrido programable ennúmeros binarios y decimales ; la mayoría de los programas escritos para él funcionarán de cualquier forma. Knuth ha desarrollado implementaciones de software para MIX y MMIX y las ha puesto a disposición de forma gratuita. Existen varias versiones de ambos emuladores. MIX es una computadora al estilo de los años 60. Es reemplazado por MMIX, una arquitectura informática moderna más nueva, una arquitectura de conjunto de instrucciones RISC (ISA) de 64 bits . Para MMIX, Knuth colaboró con los arquitectos de MIPS y Alpha ISA.
- DLX (1994) es una arquitectura de procesador de computadora con conjunto de instrucciones reducido (RISC) de los principales diseñadores de los diseños MIPS y Berkeley RISC , dos ejemplos de referencia del diseño RISC. DLX es esencialmente un MIPS limpio y simplificado, con una arquitectura simple de carga/almacenamiento de 32 bits . Se utiliza ampliamente en cursos de arquitectura informática de nivel universitario .
- Next Byte Codes (NBC) (2007) es un lenguaje simple con sintaxis de lenguaje ensamblador que se utiliza para programarladrillos programables Lego Mindstorms NXT . El compilador de línea de comandos emite código de máquina compatible con NXT y es compatible con Windows , Mac OS X y Linux .
- Little Computer 3 (LC-3) (2019) es un lenguaje ensamblador con un conjunto de instrucciones simplificado, pero puede usarse para escribir programas ensambladores moderadamente complejos y es un objetivo teóricamente viable para los compiladores de C. Es más simple que el ensamblaje x86 pero tiene muchas características similares a las de lenguajes más complejos. Estas características lo hacen útil para enseñar programación básica y arquitectura informática a estudiantes universitarios principiantes en informática e ingeniería informática, que es su uso más común.
Variantes BÁSICAS
BASIC (que significa Código de instrucción simbólica multiusos para principiantes) se inventó en 1964 para proporcionar acceso a computadoras a estudiantes que no eran de ciencias. Se hizo popular en las minicomputadoras durante la década de 1960 y se convirtió en un lenguaje informático estándar para microcomputadoras a finales 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 y
- No requieren conocimientos de hardware o 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 continúa siendo hasta el día de hoy autodidacta con excelentes tutoriales e implementaciones.
Ver también Listado de dialectos BÁSICOS 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 completas como Visual Basic .NET y Gambas .
- Microsoft Small Basic es una versión restringida de Visual Basic diseñada como primer lenguaje, "destinada a devolver la 'diversión' a la programación". El lenguaje es explícitamente bastante pequeño con sólo 15 palabras clave intuitivas. Al incluir bibliotecas de objetos específicos para cosas de interés general para los niños, los niños pueden crear programas interactivos y entretenidos, en la red o en el 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 el IDE 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 cualquiera los conceptos básicos de programación informática. Utiliza estructuras de control BÁSICAS tradicionales ( gosub , for loops , goto ) para facilitar la comprensión del control de flujo del programa. Tiene un modo de gráficos incorporado que permite a los niños hacer dibujos 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 (usa solo 4 palabras clave), Pro-SiMPLE y Ultra-SiMPLE (usa 23 palabras clave).
- Hot Soup Processor es un lenguaje derivado de BASIC que se utiliza 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 un primer vistazo 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, scripts y prototipos cotidianos . Incluye funciones trigonométricas , matriciales y de álgebra, 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 los estudiantes que no saben informática a aprender matemáticas, informática y programación en C y C++. Amplía C con funciones numéricas de trazado gráfico y secuencias de comandos 2D/3D.
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 . Tiene un uso generalizado tanto en la investigación científica (artículos científicos que utilizan NetLogo) como en contextos educativos, incluidas escuelas primarias, secundarias, universidades y museos.
Basado en Lisp
Lisp es la segunda familia de lenguajes de programación más antigua que se utiliza 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 la enseñanza de teorías de la computación. Como uno de los primeros lenguajes, Lisp fue pionero en muchas ideas en informática , incluidas estructuras de datos en árbol , gestión automática de almacenamiento , escritura dinámica , programación orientada a objetos y el compilador autohospedado , todos los cuales son ú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á formado por listas. Por lo tanto, los programas Lisp pueden manipular el código fuente como una estructura de datos, dando lugar a macrosistemas que permiten a los programadores crear nueva sintaxis o incluso nuevos lenguajes de dominio específico integrados en Lisp. Por lo tanto, los Lisps son útiles para aprender a diseñar lenguajes y crear lenguajes personalizados.
Una ruta de aprendizaje razonable sería Logo seguido de cualquier variante educativa como Scheme o newLISP, seguido de una variante profesional como Common Lisp .
- Logo es un lenguaje que fue diseñado específicamente para presentar a los niños la programación. La primera parte del aprendizaje de Logo trata de los "gráficos de tortugas" (derivados de robots tortugas ) 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 tortugas . Seymour Papert , uno de los creadores de Logo, fue un pensador importante del construccionismo , una variedad de teorías constructivistas del aprendizaje . Papert argumentó que niños mucho más pequeños aprenderían naturalmente actividades como la escritura, siempre que adoptaran una cultura informática. [2] Logo fue así diseñado no sólo para enseñar conceptos de programación e informática, sino también para mejorar el bienestar total de un niño en una cultura cada vez más dominada por la tecnología, " más importante que tener un comienzo temprano en 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 debe ser impartido por otro más poderoso... Estos niños no se definirían a sí mismos ni permitirían que la sociedad los defina 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 para estudiantes más avanzados, se puede utilizar para presentar los conceptos básicos de informática e incluso inteligencia artificial. Logo está ampliamente disponible en prácticamente todas las plataformas, tanto en versión gratuita como comercial.
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 a Etoys para Squeak a 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 cuentos, etc., mediante el uso de aprendizaje constructivo . Smalltalk y Squeak tienen lenguajes de desarrollo de aplicaciones con todas las funciones que existen y son muy respetados durante décadas; Scratch es una herramienta de aprendizaje para niños.
- Scratch es un lenguaje visual basado e implementado en Squeak . Tiene el objetivo de enseñar conceptos de programación a los niños y permitirles crear juegos, videos y música. En Scratch, todos los objetos, gráficos y sonidos interactivos se pueden importar fácilmente a un nuevo programa y combinarlos de nuevas maneras. De esa manera, los principiantes pueden obtener resultados rápidos y estar motivados para seguir intentando. La comunidad Scratch ha desarrollado y subido más de 3.000.000 de proyectos. [5] Está desarrollado por el grupo Lifelong Kindergarten del 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 rico en medios con un modelo de objetos con script 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 Etoy en tiempo real , por lo que se pueden realizarmuchas formas de tutoría y juego inmersivos. La Internet . Es multilingüe y se ha utilizado con éxito en Estados Unidos , Europa , América del Sur , Japón , Corea , India , Nepal y otros lugares. El programa está dirigido a niños de entre 9 y 12 años. [6]
Pascal
- Pascal es un lenguaje diseñado por Niklaus Wirth aproximadamente en 1970 con el objetivo de enseñar programación estructurada. [9] Desde finales de la década de 1970 hasta finales de la de 1980, fue la opción principal en las clases de introducción a la informática para enseñar a los estudiantes a programar tanto en los EE. UU. como en Europa. Desde entonces, su uso para aplicaciones del mundo real ha aumentado y considerarlo como 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 simulaciones y juegos 2D/3D. La creación se realiza a través de aplicaciones de escritorio o aplicaciones basadas en navegador y puede crear juegos 2D/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 a los niños programación orientada a objetos basada en eventos. 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 de primer año de la universidad, aunque la mayoría de los niños con experiencia en informática lo encontrarán entretenido y educativo. 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 a contar historias. [10]
- Blockly es un lenguaje gráfico de código abierto basado en la web donde los usuarios pueden arrastrar bloques para crear una aplicación; no es necesario escribir. Está desarrollado por Google . Más información está disponible en la página de inicio del proyecto. [11]
- CiMPLE es un lenguaje visual para programar kits robóticos para niños. Está construido sobre C como DSL . ThinkLabs, una startup india basada en la educación en robótica, lo ha creado para el kit iPitara Robotic. El lenguaje tiene un gran parecido con el lenguaje C. Aproximadamente más de 5000 estudiantes en India compraron el kit iPitara y lo programaron usando CiMPLE. Más información está en el blog de desarrolladores originales de CiMPLE [12] y ThinkLabs. [13]
- Physical Etoys es una extensión gratuita de código abierto de Etoys. Su filosofía es "ayudar a los niños a modelar y programar el mundo real para aprender más sobre él". Puede ejecutarse en Windows , Linux y Sugar . Physical Etoys permite que diferentes dispositivos electrónicos como Lego NXT ,placas Arduino , Sphero , Kinect , joystick Wiimote , entre otros, interactúen entre sí gracias a su sistema de scripting en bloques.
- Hackety Hack es unentorno gratuito basado en Ruby que tiene como objetivo facilitar el aprendizaje de la programación para principiantes, especialmente para adolescentes [ cita requerida ] .
- Karel , Karel++ y Karel J. Robot son lenguajes dirigidos a principiantes y 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 completamente basado en íconos. Fue incubado a partir de Microsoft Research como un proyecto para lograr 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 visión, oído y tiempo para controlar el comportamiento de los personajes. La herramienta Kodu está disponible en tres formas: PC como descarga gratuita en versión beta pública y académica, y como descarga de bajo costo 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 comandos de movimiento y dibujo producían gráficos de líneas ya sea en la pantalla o con 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 entender (y predecir y razonar sobre) el movimiento de la tortuga imaginando lo que harían si fueran la tortuga.
- Lego Mindstorms es una línea de juegos de Lego que combinan ladrillos programables con motores eléctricos, sensores, ladrillos 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 comercial de Lego Mindstorms se lanzó en 1998 y se comercializó como Robotics Invention System (RIS). La versión actual fue lanzada en 2006 como Lego Mindstorms NXT .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 la lengua materna del estudiante. Mama language está disponible en varios idiomas, con soporte de dirección de idiomas LTR y RTL. Se construyó una nueva variante de Mama sobre el entorno de desarrollo Alice de Carnegie Mellon , que admite secuencias de comandos de los objetos del escenario 3D. Esta nueva variante de Mama fue diseñada para ayudar a los jóvenes estudiantes a comenzar a programar mediante la creación de animaciones y juegos en 3D. Un documento sobre 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. Introduce técnicas de programación populares y también algo de robótica e 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 para crear historias y juegos animados.
- ¡Quebrar! es unlenguaje gráfico gratuito basado en bloques de código abierto implementado en JavaScript y originalmente derivado de Scratch del MIT . ¡Quebrar! 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. La fuente está completamente alojada 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 iconos en la pantalla y este genera reglas para los objetos (caracteres). Los usuarios pueden crear simulaciones bidimensionales que modelan un concepto, juegos multinivel, historias interactivas, etc.
- Stencyl es un IDE de desarrollo de juegos y programación visual que se ha utilizado para la educación y el comercio. El concepto que utiliza de bloques de código se basa en el lenguaje visual Scratch del MIT (mencionado anteriormente). También permite el uso de código mecanografiado normal (separado o entremezclado) a través de su propia API y ellenguaje 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 de restricciones concurrentes .
Universidad
- Curry es un lenguaje de enseñanza [15] diseñado para fusionar los paradigmas de programación declarativa más importantes, a saber, programación funcional (expresiones anidadas, funciones de orden superior, evaluación diferida) y programación lógica (variables lógicas, estructuras de datos parciales, búsqueda integrada). 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]
- Oz es un lenguaje diseñado para enseñar teoría informática. Admite la mayoría de los paradigmas principales [19] en un idioma 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, incluida la programación lógica, funcional (tanto perezosa como entusiasta), imperativa, orientada a objetos, de restricciones, distribuida y concurrente. Tiene un libro de texto canónico , Conceptos, técnicas y modelos de programación informática (2004), y una implementación estándar disponible gratuitamente, el Sistema de programación Mozart . [ cita necesaria ]
Ver también
Referencias
- ^ Guía de introducción a Small Basic de Microsoft Corporation 2009, p. 64.
- ^ ab Papert, Seymour (octubre de 1980). Redefiniendo la infancia: la presencia de la computadora 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). "Aprender a Squeak desde cero". Noticias de una computadora portátil por niño . Consultado el 3 de abril de 2009 .
- ^ Mitchel Resnick; John Maloney; Natalie Rusk; Evelyn Eastmond; Amón Millner; Jay Plata; Eric Rosenbaum; Karen Brennan; Amós Blanton. "Scratch: imagina, programa, comparte". Instituto de Tecnología de Massachusetts . Consultado el 8 de enero de 2013 .
- ^ Ducasse, Stéphane (2005). Squeak: aprenda a programar con robots (tecnología en acción). Presione. págs.289 en el capítulo 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 obtener más información sobre por qué esto lo hace fácil, consulte Evaluador metacircular
- ^ Hemmendinger, David. "Pascal". Encyclopedia Britannica, 5 de abril de 2024, https://www.britannica.com/technology/Pascal-computer-language. Consultado el 12 de junio de 2024.
- ^ "Alice que cuenta historias - Alice" . Consultado el 7 de noviembre de 2023 .
- ^ "Google Code Archive: almacenamiento a largo plazo para el alojamiento de proyectos de Google Code". código.google.com . Consultado el 7 de noviembre de 2023 .
- ^ Blog de desarrolladores originales de CiMPLE Archivado el 21 de julio de 2011 en Wayback Machine.
- ^ ThinkLabs
- ^ Principios de programación educativa de mamá
- ^ M. Hanus. Enseñanza de programación funcional y lógica con un modelo de computación único. En Proc. Noveno Simposio Internacional sobre Lenguajes, Implementaciones, Lógicas y Programas de Programación (PLILP'97), págs. 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". Revista de programación lógica . 19 y 20: 583–628.
- ^ "Acerca de". Algoritmo de flujo . Consultado el 26 de agosto de 2014 .
- ^ Póster de paradigmas de programación
enlaces externos
- Lenguajes de programación educativos en Curlie