SlideShare una empresa de Scribd logo
1 de 4
Una aproximación a la Didáctica del Logo. (parte 2)

Enrique Araújoviedo (2001): Foro Local de Informática Educativa, Localidad Octava. Bogotá.



Logo es un lenguaje basado en listas. Pero realmente es poco lo que se muestra de él sobre
esto. Casi todos los tratados o trabajos están basados en su capacidad gráfica, de la que no
carecen –hoy por hoy- la mayoría de los lenguajes de programación. Por tanto no vamos a
resaltar -pero sí utilizar su capacidad gráfica, que no podemos desconocerlo, es excepcional-
en éste trabajo esta potencialidad sino preocuparnos un poco más en esa ventaja que tiene
sobre muchos lenguajes maduros y experimentados. Logo, por supuesto es un lenguaje
maduro y experimentado, pero tiene un adalid que son las listas y las capacidades mentales
que requieren para su tratamiento. Hé visto recientemente un trabajo sobre cómo abordar el
trabajo gráfico con Logo utilizando diagramas de flujo; es un gran esfuerzo, pero muy
reforzado. Los diagramas de flujo (libres) no son una buena estructura para abordar la
programación en Logo y en general los lenguajes basados en listas como Lisp.

La pretensión de éste apartado es mostrar cómo aprovechar el potencial de Logo (la
programación en estructuras de listas) para desarrollar un tipo de pensamiento específico: el
heurísitico.

Los docentes de informática sabemos que el lenguaje, por antonomasia para enseñar a
programar es el Lenguaje Pascal; hoy existen versiones de lenguajes libres muy buenas como
Léxico, sin embargo, haciendo a un lado la discusión acerca de cómo empezar a enseñar a
programar –cuando de enseñar a programar se trata- muchos creemos que Logo en la etapa
primaria cumple cabalmente las expectativas tanto de la estructuración de la programación
como las de desarrollo de pensamiento. Igualmente mucha gente defiende que el lenguaje que
hay que enseñar es el C++ -cosa que no discuto porque comparto, pero en una etapa final de la
Educación Básica-. De manera semejante, creo que es horrendo enseñar VisualBasic –no
porque sea un lenguaje malo; no, todo lo contrario, es un lenguaje profesional que requiere
madurez para obtener resultados que ameriten su uso; cosa parecida pasa con Java-.
Retomando nuestro asunto que es la formación inicial en la programación y en esto hacemos
alusión a enseñar a programar a niños entre los 8 y los 12 años. En este espacio son también
muy buenos entornos de trabajo como como KPL (basado en lenguaje Basic) y scracth (basado
en lenguaje Logo). Pero una cosa son los entornos de trabajo y otra bien diferente son las IDE
(los ambientes de desarrollo). En éstas últimas por ejemplo, existe la posibilidad de la
compilación y por tanto la ejecución del producto independiente del entorno.

Enseñar a programar a los niños y jóvenes con Logo ha seguido una directriz, que consiste en
enseñar a elaborar figuras según una secuencia de comandos. Cuando las figuras son básicas o
que requieren un patrón predeterminado, es decir con una geometría a lo más definidas a
patrones de simetría axial, o grupos básicos la dificultad es mínima; pero cuando requiere de
estructuras geométricas más exigentes (teselaciones, fractales,…) el ejercicio de la
programación se vuelve engorroso y tortuoso en la medida que se requieren fuertes
conocimientos geométricos previos. En este sentido el fracaso no radica en el lenguaje sino en
su didáctica; en pretender abordar un desarrollo sin los concebidos prerrequisitos
geométricos. Surge la pregunta: ¿se debe tener fuertes conocimientos geométricos para
aprender a programar en Logo? Antes de responder, debe aclararse que una cosa es enseñar a
programar con Logo y otra es enseñar a programar en Logo. El objetivo de la enseñanza de la
programación es la primera; pues como se manifestó arriba se puede “enseñar a programar
con Pascal”, “se puede “enseñar a programar con C++”, se puede “enseñar a programar con
Delphi”, etc. El fin último es enseñar a programar, el lenguaje es la herramienta; el medio. Pero
si de lo que se trata es de enseñar el lenguaje como tal, se requieren precisamente esas
estructuras de programación y otros recursos como la diagramación libre, la estructurada y en
general los lenguajes de representación. Aprender un lenguaje de programación se puede
hacer desde cero o desde el púlpito de un Gurú. Mucha gente, después de haber trabajado por
años con un lenguaje, tuvo que aprender un nuevo lenguaje en pocas semanas; de no haber
tenido esas estructuras de programación habrían durado mucho más e incluso tardar años en
la reconversión. En alguna medida las didácticas de una segunda lengua se asemejan a las
didácticas de la enseñanza de un lenguaje de programación y éstas se diferencian de las
didácticas de la programación. Esto es que aprender a programar se puede realizar sin el
conocimiento de un lenguaje de programación, como lo propone precisamente el proyecto
Léxico. Así pues, enseñar Logo, a programar en Logo es muy diferente a aprender a programar
con Logo. Para aprender a programar con Logo, la metáfora de las figuras y el uso de una
geometría básica está bien; pero para aprender a programar en Logo, esa metáfora no es útil.
Primero porque realmente sí se requieren serios conocimientos geométricos, algebraicos y
topológicos y segundo porque en este enfoque no es evidente el trabajo subyacente de las
listas, que es la razón de ser de Logo. Los lenguajes, en general, tienen unos espacios de
definición: intentad hacer una página web con C++; intentad hacer un protocolo de red con
Cobol o Fortran (que se puede se puede, claro. A costa de que?) Semejante cosa ocurre con
Logo. Su diseño inicial y su pretensión no es ser un lenguaje profesional (quizás para ello esté
LISP) sino ser un lenguaje para la enseñanza y dentro de éste campo para desarrollar
estructuras de pensamiento. Tal vez por ello, muchos de los entornos Logo están elaborados
en lenguajes profesionales; un excelente entorno (Logográfico –argentino-) ha sido
desarrollado con VisualBasic; los clásicos (WMSLogo, FMSlogo) han sido desarrollados en C++;
un entorno muy bueno (el Xlogo) ha sido desarrollado en java y el último entorno que conocí
fue elaborado en Python. No conozco ningún compilador de C++ o Pascal elaborado en Logo
(eso sería como elaborar un diccionario de español elaborado en inglés).

Después de estas disquisiciones entremos en materia. Lo que pretendemos es enseñar a
programar en Logo y por ello su enfoque serán las listas. Tampoco vamos a ir muy lejos –el
tiempo y el espacio apremian-, solamente trataremos lo básico; lo necesario para trabajar con
listas.



LAS LISTAS

 En general, todos sabemos que es una lista; las entendemos como una secuencia (horizontal o
vertical) de expresiones que pueden estar ordenadas o no. Así, un directorio telefónico es una
lista con algunos tipos de identificadores para separar segmentos de expresiones. Un párrafo
es una lista de palabras con algunos tipos de identificadores para separar segmentos de
palabras. El párrafo tiene un identificador de inicio (usualmente un espacio previo y una letra
mayúscula) y otro indicador de final (usualmente el punto aparte y un espacio posterior). Un
“punto seguido” es un indicador de separación de un segmento del párrafo y divide el párrafo,
pero no lo concluye; cosa semejante podría decirse de la “coma” y el “punto y coma”. Un
“espacio en blanco” es un delimitador de separación.

En Logo las listas están asociadas a un tipo de estructuras arbóreas (ver artículo sobre
estructuras en árbol) que nos permiten establecer la secuencia de los elementos que contiene
la lista. Una lista en Logo tiene un identificador de inicio (el paréntesis cuadrado “[“ ) y un
identificador de terminación (el paréntesis cuadrado “]“ ). Los elementos de la lista deben

una relación matemática :         → ℕcon el conjunto de elementos de la lista. Dos listas son
estar contenidos entre estos dos identificadores. Los elementos están ordenados de acuerdo a

diferentes si dadas :       → ℕ y      :     → ℕ se tiene que       ≠ . Más específicamente
                                     ,

diríamos que       y deben ser tales que :        →     ⊊ℕ y      :   →     ⊊ con ≠ .
                                                                               ℕ

Una lista puede ser vacía. En este caso su único elemento es el “caracter en blanco”. El
“caracter en blanco” o “espacio en blanco” sólo se considera como elemento en éste único
caso, en los demás se considera como un indicador de separación entre elementos. Es claro
pues que no se puede utilizar el espacio en blanco dos veces seguidas para indicar por
ejemplo: (caracter)(espacio en blanco)(espacio en blanco)(caracter). Pues esto sería lo mismo
que: (caracter)(espacio en blanco)(caracter). Y por tanto no se admite: (espacio en
blanco)(espacio en blanco)(espacio en blanco)(espacio en blanco)…(espacio en blanco)(espacio
en blanco). Ya que todos ellos equivaldrían a uno solo.

Logo además de considerar las listas, dispone de otros tipos de datos como las “palabras”.
Una palabra es un conjunto de caracteres (letras, números, caracteres especiales:
alfanuméricos, símbolos de puntuación, símbolos de acento, etc.). Se tiene pues que el
“carácter en blanco” define la “palabra vacía”. Ejemplos de palabras serían: a, 4, color,
amarillo, ioki, aníbalnicolás, siuleuquirneojuaraodeivo, a2009m11d26, 1+4=5, 9^2igual81,
unodostres. Para el intérprete del lenguaje Logo (que en adelante llamaremos simplemente
Logo) una palabra puede ser cualquier cosa que contenga un caracter o muchos siempre y
cuando no estén separados por el delimitador “espacio en blanco”. A su vez una lista no es
más que un conjunto de palabras o de listas o de combinaciones de palabras y listas.

Existen muchas definiciones de lista.

La primera y más elemental es decir que:

Definición 1: Una lista es un conjunto de palabras.

Ejemplos: a) [ a e i o u]; b) [ 1 2 3 4]; c) [ a A7 i(8) águila uh!]; d) [ … y Aladino dijo: ábrete
sésamo!]; e) [ uno dos tres]; f) [ uno tres dos]; g) [ 1 dos 3]; h) [ unodostres]; i) [ ].

Es claro que las listas (e) y (f) son distintas porque aunque los elementos son los mismos, el
orden es distinto. En las listas (e) y (g) los elementos son distintos; en la lista (h), hay un solo
elemento, lo mismo que en la lista (i).
Esta definición es bastante débil por cuanto no admite listas como:

a) [ a [ e i o u] ]

b) [ a [ e i] o [u] ]

c) [ [ ] [ a [ e ] ] [ [ i ] [ [o] ] [u] ]

Una definición más precisa sería:

Definición 2: Secuencia ordenada de palabras y/o listas delimitadas entre los indicadores “[“ y
“]”.

Más contenido relacionado

Destacado

Web summit presentation slideshare
Web summit presentation   slideshareWeb summit presentation   slideshare
Web summit presentation slideshareFishbowlApp
 
cloud computing
cloud computingcloud computing
cloud computingawb50
 
Catálogo yves rocher campaña 16, 2014
Catálogo yves rocher campaña 16, 2014Catálogo yves rocher campaña 16, 2014
Catálogo yves rocher campaña 16, 2014Paty Cj
 
Catálogo flormar campaña 9, 2015
Catálogo flormar campaña 9, 2015Catálogo flormar campaña 9, 2015
Catálogo flormar campaña 9, 2015Paty Cj
 
Catálogo yves rocher campaña 9, 2015
Catálogo yves rocher campaña 9, 2015Catálogo yves rocher campaña 9, 2015
Catálogo yves rocher campaña 9, 2015Paty Cj
 

Destacado (7)

Web summit presentation slideshare
Web summit presentation   slideshareWeb summit presentation   slideshare
Web summit presentation slideshare
 
Maapa codigo
Maapa codigoMaapa codigo
Maapa codigo
 
Boudica
BoudicaBoudica
Boudica
 
cloud computing
cloud computingcloud computing
cloud computing
 
Catálogo yves rocher campaña 16, 2014
Catálogo yves rocher campaña 16, 2014Catálogo yves rocher campaña 16, 2014
Catálogo yves rocher campaña 16, 2014
 
Catálogo flormar campaña 9, 2015
Catálogo flormar campaña 9, 2015Catálogo flormar campaña 9, 2015
Catálogo flormar campaña 9, 2015
 
Catálogo yves rocher campaña 9, 2015
Catálogo yves rocher campaña 9, 2015Catálogo yves rocher campaña 9, 2015
Catálogo yves rocher campaña 9, 2015
 

Similar a Aproximación a la Didactica del Logo(Parte2)

Tutorial basico prolog
Tutorial basico prologTutorial basico prolog
Tutorial basico prologAnderipe Pinto
 
Argentina Programa Apendix parte 1.pdf
Argentina Programa Apendix parte 1.pdfArgentina Programa Apendix parte 1.pdf
Argentina Programa Apendix parte 1.pdfenzo935311
 
Resumen Capitulo 1 - Sebesta
Resumen Capitulo 1 - Sebesta Resumen Capitulo 1 - Sebesta
Resumen Capitulo 1 - Sebesta Santiago Valdez
 
Manual de-java
Manual de-javaManual de-java
Manual de-javaeliseorm
 
Introduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetosIntroduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetosmilituchinita
 
Introduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a ObjetosIntroduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a Objetosliberaunlibroupeg
 
Introduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetosIntroduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetosYulyana López
 
Introduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetosIntroduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetosmilituchinita
 
Introducción a los lenguajes de programación( imodulo)
Introducción a los lenguajes de programación( imodulo)Introducción a los lenguajes de programación( imodulo)
Introducción a los lenguajes de programación( imodulo)ROBERT ENRIQUE MARTINEZ GARCIA
 
presentacindslintro-151124180611-lva1-app6891.pdf
presentacindslintro-151124180611-lva1-app6891.pdfpresentacindslintro-151124180611-lva1-app6891.pdf
presentacindslintro-151124180611-lva1-app6891.pdfFranciscoBlancoFis
 
Introducción a DSL (Lenguajes Específicos de Dominios) con Python
Introducción a DSL (Lenguajes Específicos de Dominios) con PythonIntroducción a DSL (Lenguajes Específicos de Dominios) con Python
Introducción a DSL (Lenguajes Específicos de Dominios) con PythonJuan Rodríguez
 

Similar a Aproximación a la Didactica del Logo(Parte2) (20)

Proyecto
ProyectoProyecto
Proyecto
 
Tutorial basico prolog
Tutorial basico prologTutorial basico prolog
Tutorial basico prolog
 
Argentina Programa Apendix parte 1.pdf
Argentina Programa Apendix parte 1.pdfArgentina Programa Apendix parte 1.pdf
Argentina Programa Apendix parte 1.pdf
 
lenguaje y programacion
lenguaje y programacionlenguaje y programacion
lenguaje y programacion
 
POO
POOPOO
POO
 
Automatas
AutomatasAutomatas
Automatas
 
Manual de-java
Manual de-javaManual de-java
Manual de-java
 
Resumen Capitulo 1 - Sebesta
Resumen Capitulo 1 - Sebesta Resumen Capitulo 1 - Sebesta
Resumen Capitulo 1 - Sebesta
 
Manual de-java
Manual de-javaManual de-java
Manual de-java
 
Introduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetosIntroduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetos
 
Introduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a ObjetosIntroduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a Objetos
 
Introduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetosIntroduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetos
 
Introduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetosIntroduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetos
 
Introducción a los lenguajes de programación( imodulo)
Introducción a los lenguajes de programación( imodulo)Introducción a los lenguajes de programación( imodulo)
Introducción a los lenguajes de programación( imodulo)
 
Clase02 paradigmas
Clase02 paradigmasClase02 paradigmas
Clase02 paradigmas
 
presentacindslintro-151124180611-lva1-app6891.pdf
presentacindslintro-151124180611-lva1-app6891.pdfpresentacindslintro-151124180611-lva1-app6891.pdf
presentacindslintro-151124180611-lva1-app6891.pdf
 
Introducción a DSL (Lenguajes Específicos de Dominios) con Python
Introducción a DSL (Lenguajes Específicos de Dominios) con PythonIntroducción a DSL (Lenguajes Específicos de Dominios) con Python
Introducción a DSL (Lenguajes Específicos de Dominios) con Python
 
Mario martinez alvarez
Mario martinez alvarezMario martinez alvarez
Mario martinez alvarez
 
3
33
3
 
Tipos De Datos
Tipos De DatosTipos De Datos
Tipos De Datos
 

Más de SED - Fundación Galileo para el Desarrollo del Pensamiento, la Ciencia y la Tecnología

Más de SED - Fundación Galileo para el Desarrollo del Pensamiento, la Ciencia y la Tecnología (20)

Andrea, la niña descomplicada
Andrea, la niña descomplicadaAndrea, la niña descomplicada
Andrea, la niña descomplicada
 
El profe molina (v1)
El profe molina (v1)El profe molina (v1)
El profe molina (v1)
 
Acuerdos men fecode sept10-2013
Acuerdos men fecode sept10-2013Acuerdos men fecode sept10-2013
Acuerdos men fecode sept10-2013
 
La lógica de la sopa
La lógica de la sopaLa lógica de la sopa
La lógica de la sopa
 
El oficio de maestro mi profesora gloria ojeda
El oficio de maestro   mi profesora gloria ojedaEl oficio de maestro   mi profesora gloria ojeda
El oficio de maestro mi profesora gloria ojeda
 
Mi modelo, la pedagogia involuta
Mi modelo, la pedagogia involutaMi modelo, la pedagogia involuta
Mi modelo, la pedagogia involuta
 
Modelo pedagógico orientado al diseño
Modelo pedagógico orientado al diseñoModelo pedagógico orientado al diseño
Modelo pedagógico orientado al diseño
 
Glifos (ingenia)
Glifos (ingenia)Glifos (ingenia)
Glifos (ingenia)
 
Micromundos Para Desocupados Parte Ii
Micromundos Para Desocupados Parte IiMicromundos Para Desocupados Parte Ii
Micromundos Para Desocupados Parte Ii
 
Micromundos Para Desocupados Parte I
Micromundos Para Desocupados Parte IMicromundos Para Desocupados Parte I
Micromundos Para Desocupados Parte I
 
De La Idea Al Proyecto(Parte4)
De La Idea Al Proyecto(Parte4)De La Idea Al Proyecto(Parte4)
De La Idea Al Proyecto(Parte4)
 
Comprender Y Aprender2
Comprender Y Aprender2Comprender Y Aprender2
Comprender Y Aprender2
 
De La Idea Al Proyecto(Parte1)
De La Idea Al Proyecto(Parte1)De La Idea Al Proyecto(Parte1)
De La Idea Al Proyecto(Parte1)
 
Pres Logo 01
Pres Logo 01Pres Logo 01
Pres Logo 01
 
Cerebro,Ojo,Mano
Cerebro,Ojo,ManoCerebro,Ojo,Mano
Cerebro,Ojo,Mano
 
Juego De Polinomios
Juego De PolinomiosJuego De Polinomios
Juego De Polinomios
 
Teoria De Las Hileras
Teoria De Las HilerasTeoria De Las Hileras
Teoria De Las Hileras
 
Juego De Polinomios
Juego De PolinomiosJuego De Polinomios
Juego De Polinomios
 
Hileras De Dominos (Ejercicios Propuestos)
Hileras De Dominos (Ejercicios Propuestos)Hileras De Dominos (Ejercicios Propuestos)
Hileras De Dominos (Ejercicios Propuestos)
 
Aulas Inteligentes -Cuento-
Aulas Inteligentes -Cuento-Aulas Inteligentes -Cuento-
Aulas Inteligentes -Cuento-
 

Último

CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 

Último (20)

CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 

Aproximación a la Didactica del Logo(Parte2)

  • 1. Una aproximación a la Didáctica del Logo. (parte 2) Enrique Araújoviedo (2001): Foro Local de Informática Educativa, Localidad Octava. Bogotá. Logo es un lenguaje basado en listas. Pero realmente es poco lo que se muestra de él sobre esto. Casi todos los tratados o trabajos están basados en su capacidad gráfica, de la que no carecen –hoy por hoy- la mayoría de los lenguajes de programación. Por tanto no vamos a resaltar -pero sí utilizar su capacidad gráfica, que no podemos desconocerlo, es excepcional- en éste trabajo esta potencialidad sino preocuparnos un poco más en esa ventaja que tiene sobre muchos lenguajes maduros y experimentados. Logo, por supuesto es un lenguaje maduro y experimentado, pero tiene un adalid que son las listas y las capacidades mentales que requieren para su tratamiento. Hé visto recientemente un trabajo sobre cómo abordar el trabajo gráfico con Logo utilizando diagramas de flujo; es un gran esfuerzo, pero muy reforzado. Los diagramas de flujo (libres) no son una buena estructura para abordar la programación en Logo y en general los lenguajes basados en listas como Lisp. La pretensión de éste apartado es mostrar cómo aprovechar el potencial de Logo (la programación en estructuras de listas) para desarrollar un tipo de pensamiento específico: el heurísitico. Los docentes de informática sabemos que el lenguaje, por antonomasia para enseñar a programar es el Lenguaje Pascal; hoy existen versiones de lenguajes libres muy buenas como Léxico, sin embargo, haciendo a un lado la discusión acerca de cómo empezar a enseñar a programar –cuando de enseñar a programar se trata- muchos creemos que Logo en la etapa primaria cumple cabalmente las expectativas tanto de la estructuración de la programación como las de desarrollo de pensamiento. Igualmente mucha gente defiende que el lenguaje que hay que enseñar es el C++ -cosa que no discuto porque comparto, pero en una etapa final de la Educación Básica-. De manera semejante, creo que es horrendo enseñar VisualBasic –no porque sea un lenguaje malo; no, todo lo contrario, es un lenguaje profesional que requiere madurez para obtener resultados que ameriten su uso; cosa parecida pasa con Java-. Retomando nuestro asunto que es la formación inicial en la programación y en esto hacemos alusión a enseñar a programar a niños entre los 8 y los 12 años. En este espacio son también muy buenos entornos de trabajo como como KPL (basado en lenguaje Basic) y scracth (basado en lenguaje Logo). Pero una cosa son los entornos de trabajo y otra bien diferente son las IDE (los ambientes de desarrollo). En éstas últimas por ejemplo, existe la posibilidad de la compilación y por tanto la ejecución del producto independiente del entorno. Enseñar a programar a los niños y jóvenes con Logo ha seguido una directriz, que consiste en enseñar a elaborar figuras según una secuencia de comandos. Cuando las figuras son básicas o que requieren un patrón predeterminado, es decir con una geometría a lo más definidas a patrones de simetría axial, o grupos básicos la dificultad es mínima; pero cuando requiere de estructuras geométricas más exigentes (teselaciones, fractales,…) el ejercicio de la programación se vuelve engorroso y tortuoso en la medida que se requieren fuertes conocimientos geométricos previos. En este sentido el fracaso no radica en el lenguaje sino en
  • 2. su didáctica; en pretender abordar un desarrollo sin los concebidos prerrequisitos geométricos. Surge la pregunta: ¿se debe tener fuertes conocimientos geométricos para aprender a programar en Logo? Antes de responder, debe aclararse que una cosa es enseñar a programar con Logo y otra es enseñar a programar en Logo. El objetivo de la enseñanza de la programación es la primera; pues como se manifestó arriba se puede “enseñar a programar con Pascal”, “se puede “enseñar a programar con C++”, se puede “enseñar a programar con Delphi”, etc. El fin último es enseñar a programar, el lenguaje es la herramienta; el medio. Pero si de lo que se trata es de enseñar el lenguaje como tal, se requieren precisamente esas estructuras de programación y otros recursos como la diagramación libre, la estructurada y en general los lenguajes de representación. Aprender un lenguaje de programación se puede hacer desde cero o desde el púlpito de un Gurú. Mucha gente, después de haber trabajado por años con un lenguaje, tuvo que aprender un nuevo lenguaje en pocas semanas; de no haber tenido esas estructuras de programación habrían durado mucho más e incluso tardar años en la reconversión. En alguna medida las didácticas de una segunda lengua se asemejan a las didácticas de la enseñanza de un lenguaje de programación y éstas se diferencian de las didácticas de la programación. Esto es que aprender a programar se puede realizar sin el conocimiento de un lenguaje de programación, como lo propone precisamente el proyecto Léxico. Así pues, enseñar Logo, a programar en Logo es muy diferente a aprender a programar con Logo. Para aprender a programar con Logo, la metáfora de las figuras y el uso de una geometría básica está bien; pero para aprender a programar en Logo, esa metáfora no es útil. Primero porque realmente sí se requieren serios conocimientos geométricos, algebraicos y topológicos y segundo porque en este enfoque no es evidente el trabajo subyacente de las listas, que es la razón de ser de Logo. Los lenguajes, en general, tienen unos espacios de definición: intentad hacer una página web con C++; intentad hacer un protocolo de red con Cobol o Fortran (que se puede se puede, claro. A costa de que?) Semejante cosa ocurre con Logo. Su diseño inicial y su pretensión no es ser un lenguaje profesional (quizás para ello esté LISP) sino ser un lenguaje para la enseñanza y dentro de éste campo para desarrollar estructuras de pensamiento. Tal vez por ello, muchos de los entornos Logo están elaborados en lenguajes profesionales; un excelente entorno (Logográfico –argentino-) ha sido desarrollado con VisualBasic; los clásicos (WMSLogo, FMSlogo) han sido desarrollados en C++; un entorno muy bueno (el Xlogo) ha sido desarrollado en java y el último entorno que conocí fue elaborado en Python. No conozco ningún compilador de C++ o Pascal elaborado en Logo (eso sería como elaborar un diccionario de español elaborado en inglés). Después de estas disquisiciones entremos en materia. Lo que pretendemos es enseñar a programar en Logo y por ello su enfoque serán las listas. Tampoco vamos a ir muy lejos –el tiempo y el espacio apremian-, solamente trataremos lo básico; lo necesario para trabajar con listas. LAS LISTAS En general, todos sabemos que es una lista; las entendemos como una secuencia (horizontal o vertical) de expresiones que pueden estar ordenadas o no. Así, un directorio telefónico es una lista con algunos tipos de identificadores para separar segmentos de expresiones. Un párrafo
  • 3. es una lista de palabras con algunos tipos de identificadores para separar segmentos de palabras. El párrafo tiene un identificador de inicio (usualmente un espacio previo y una letra mayúscula) y otro indicador de final (usualmente el punto aparte y un espacio posterior). Un “punto seguido” es un indicador de separación de un segmento del párrafo y divide el párrafo, pero no lo concluye; cosa semejante podría decirse de la “coma” y el “punto y coma”. Un “espacio en blanco” es un delimitador de separación. En Logo las listas están asociadas a un tipo de estructuras arbóreas (ver artículo sobre estructuras en árbol) que nos permiten establecer la secuencia de los elementos que contiene la lista. Una lista en Logo tiene un identificador de inicio (el paréntesis cuadrado “[“ ) y un identificador de terminación (el paréntesis cuadrado “]“ ). Los elementos de la lista deben una relación matemática : → ℕcon el conjunto de elementos de la lista. Dos listas son estar contenidos entre estos dos identificadores. Los elementos están ordenados de acuerdo a diferentes si dadas : → ℕ y : → ℕ se tiene que ≠ . Más específicamente , diríamos que y deben ser tales que : → ⊊ℕ y : → ⊊ con ≠ . ℕ Una lista puede ser vacía. En este caso su único elemento es el “caracter en blanco”. El “caracter en blanco” o “espacio en blanco” sólo se considera como elemento en éste único caso, en los demás se considera como un indicador de separación entre elementos. Es claro pues que no se puede utilizar el espacio en blanco dos veces seguidas para indicar por ejemplo: (caracter)(espacio en blanco)(espacio en blanco)(caracter). Pues esto sería lo mismo que: (caracter)(espacio en blanco)(caracter). Y por tanto no se admite: (espacio en blanco)(espacio en blanco)(espacio en blanco)(espacio en blanco)…(espacio en blanco)(espacio en blanco). Ya que todos ellos equivaldrían a uno solo. Logo además de considerar las listas, dispone de otros tipos de datos como las “palabras”. Una palabra es un conjunto de caracteres (letras, números, caracteres especiales: alfanuméricos, símbolos de puntuación, símbolos de acento, etc.). Se tiene pues que el “carácter en blanco” define la “palabra vacía”. Ejemplos de palabras serían: a, 4, color, amarillo, ioki, aníbalnicolás, siuleuquirneojuaraodeivo, a2009m11d26, 1+4=5, 9^2igual81, unodostres. Para el intérprete del lenguaje Logo (que en adelante llamaremos simplemente Logo) una palabra puede ser cualquier cosa que contenga un caracter o muchos siempre y cuando no estén separados por el delimitador “espacio en blanco”. A su vez una lista no es más que un conjunto de palabras o de listas o de combinaciones de palabras y listas. Existen muchas definiciones de lista. La primera y más elemental es decir que: Definición 1: Una lista es un conjunto de palabras. Ejemplos: a) [ a e i o u]; b) [ 1 2 3 4]; c) [ a A7 i(8) águila uh!]; d) [ … y Aladino dijo: ábrete sésamo!]; e) [ uno dos tres]; f) [ uno tres dos]; g) [ 1 dos 3]; h) [ unodostres]; i) [ ]. Es claro que las listas (e) y (f) son distintas porque aunque los elementos son los mismos, el orden es distinto. En las listas (e) y (g) los elementos son distintos; en la lista (h), hay un solo elemento, lo mismo que en la lista (i).
  • 4. Esta definición es bastante débil por cuanto no admite listas como: a) [ a [ e i o u] ] b) [ a [ e i] o [u] ] c) [ [ ] [ a [ e ] ] [ [ i ] [ [o] ] [u] ] Una definición más precisa sería: Definición 2: Secuencia ordenada de palabras y/o listas delimitadas entre los indicadores “[“ y “]”.