Universidad Tecnológica Nacional (UTN)
Facultad Regional Buenos Aires (FRBA)
Departamento Ingeniería en Sistemas
Algoritmos y Estructura de Datos
PrOrigami
Algoritmia-Educación-Tecnología-Origami
El todo siempre es más que la suma de las partes
En programación
Esfuerzo(L) > Esfuerzo(L1) + Esfuerzo(L2)
En origami
Desarrollo Total > Desarrollo básico + Detalles
Dr. Oscar Bruno.
Ing. Roxana Leituz
*
*Algoritmos plantea a los ingresantes una forma diferente de
pensar.
*Aquí incorporamos la “tecnología milenaria: el origami” para la
enseñanza de la programación.
*Para formar individuos que prioricen lo conceptual: queremos
formar “individuos conceptuales”.
*Sentido común, creatividad, compromiso, habilidad, todo esto
junto es necesario para un pensar profundo, esto, entre otras
cosas, se puede reforzar o adquirir con técnicas de
programación con base en un arte milenario, creativo, divertido.
*
*
Primer doblado
cin >>
Un avance cin >>; cout <<
*
Mientras condición 3
Condición 1
Condición 2
Repetir hasta condición 4
Acción 4
Acción 3
Acción 2
Acción 1
Acción 9
Acción 5
Acción 7
Acción 6
Acción 8
Acción 10
Acción 11
Acción 12
T F
T F
Figura 2.1.a
*
*Grulla Simple patrón algorítmico ´máximo´
*
*Grulla con agregados patrón Máximo y sgte
*
*Criterio semejante para otros patrones Max - Min
*
*Otras Grullas otras estructuras vector - archivo
*
En programación
Esfuerzo(L) > Esfuerzo(L1) + Esfuerzo(L2) En origami
Desarrollo Total > Básico + Detalles
*
*
int suma ( int , int )
*
template<typename T> T suma ( T, T)
Z R
Z
R
Z
R
R
R
Z
R
Z
R Z
R
R
Z
R
R
Z
R
Recursividad
*
(a+b)2 Interdisciplinaridad
A2 = B2 + C2
A2
B2
Medianas Baricentro
Alturas Ortocentro
Bisectrices Incentro
Mediatrices Circuncentro
Circuncentro + Ortocentro +
Baricentro Recta de Euler
Vectores y Matrices
Arboles de búsqueda AVL
*
*Origami en programación tiende a
flexibilizar la “fijeza funcional”. No perder
la capacidad de considerar objetos
conocidos de manera novedosa. Que no sea
un enfrentar, cuando se requiere
creatividad en la solución de los
problemas, el uso y asociación de objetos a
priori dispares. Con esto se logra formar
SUJETOS CONCEPTUALES, eso es lo que
proponemos desde nuestra asignatura.
*
*El doblado de papel agregó interés al desarrollo algorítmico.
*Siguieron con atención las construcciones que desarrollaron y valoraron la necesidad de la perfección en trabajos grupales.
*Se hizo visible el concepto de reusabilidad, de elementos base de construcción, de generalidad, mediante la comparación entre la programación y al origami.
*Se pudieron diseñar y manipular modelos materiales que favorecieron la resolución de problemas. Fue un elemento adecuado como vehículo de la evaluación continua.
*
*Hasta aquí llegamos, si
quieren conocer más,
simplemente anótense
con nosotros en
algoritmos
Título de la experiencia:
PrOrigami: El Origami como medio eficaz para la enseñanza de la programación e
integración disciplinar
Oscar Bruno – Roxana Leituz
[email protected] [email protected]
Introducción
Los jóvenes que buscan disciplinas como la ingeniería necesitan plantearse problemas,
entenderlos, enfrentarlos, buscar soluciones. Disponen de una serie de teorías intuitivas que
explican la realidad, la perciben y van constituyendo su sentido común. Están muy
próximos a la tecnología, entendida esta desde enfoques diferentes. No solo la informática
que, en el caso del grupo de estudio, por ser estudiantes de Ingeniería en Sistemas, está
presente en toda su formación. Reconocen como tecnología todo aquello que requiera
utilización de técnicas particulares, que pueda sistematizarse. Algoritmos y estructura de
datos, materia anual del primer año de la carrera, les plantea a los ingresantes una forma
diferente de pensar, es por ello que se hace necesario la utilización de todos los recursos a
nuestro alcance. Clases presenciales, encuentros virtuales, móvil learning, clases de
consulta, permanente actualización del material didáctico, videos tutoriales desarrollados
por sus propios docentes. Es decir, el propósito Acompañarlos, Entenderlos, Interpretarlos,
Orientarlos, para una contención inteligente, evitando desgranamientos. Esta experiencia se
centró en la incorporación de la “tecnología milenaria: el origami” para la enseñanza de la
programación. Buscamos el complemento no estrictamente técnico donde el propósito
fundamental sea alcanzar el fin último de la educación que es formar individuos que
prioricen lo conceptual: queremos formar “individuos conceptuales”. Los ingresantes, por
su edad y formación previa, presentan debilidades para abstraer y comprender. Todas esas
habilidades son fundamentales para encarar con éxito materias como la que es objeto de
estudio. Prefieren prueba y error, antes de pensar. Se inclinan por lo tangible, les cuesta
entender lo intangible
Es por ello que la propuesta es complementar con sistematizaciones que expliquen cada
paso, de manera que las puedan verificar, esto con el uso del papel. El origami, técnica de
origen chino y adoptado luego por los japoneses, requiere creatividad y secuencia precisa
de pasos. El producto final es un objeto, tangible, desarrollado con un solo elemento o con
la unión de varios. El origami, con sus dobleces, permite un análisis desde la geometría
muy interesante, trabaja con figuras, con poliedros. Combinación de Origami y Kirigami,
son las técnicas que utilizamos para la enseñanza de la programación para dar significado
preciso a las formas y volúmenes geométricos para obtener productos tangibles mediante la
aplicación de técnicas, paso a paso, que permiten la variedad donde el límite está en la
creatividad del estudiante que lo practique. Sentido común, creatividad, compromiso,
habilidad, todo esto junto es necesario para un pensar profundo, esto, entre otras cosas, se
puede reforzar o adquirir con técnicas de programación con base en un arte milenario,
creativo, divertido.
Los temas que se abordan vinculando Origami, Programacion, Ciencias básicas, entre otras
son son:
Composiciones, El concepto de funciones en origami, Composición de grullas, Mapas de
cicatrices, Puntos constructibles, Representación de poliedros y figuras geométricas,
Construcción de polígonos regulares, Elementos notables de los triángulos, Recta de Euler,
Poliedros en papel, Poliedros convexos regulares, Solidos platónicos, Diseño y
construcción de figuras, El teorema fundamental de la programación modular VS origami,
El teorema de Pitágoras, Recursividad y origami, Variaciones a partir de doblados básicos,
Serie de Fibonacci, El número aureo
Descripción / desarrollo de la experiencia
La experiencia es el resultado del esfuerzo permanente por tratar de innovar con el
propósito de acompañar al estudiante de primer año de la carrera de ingeniería.
En este caso buscamos transformar a nuestros jóvenes en sujetos conceptuales. Observamos
y sabemos que los jóvenes aprenden mucho de lo que ven, investigan tocando,
manipulando, haciendo. Utilizan metáforas, comprenden los símbolos. Para todo esto
desde la cátedra Algoritmos y Estructura de Datos incorporamos Origami, Kirigami y
semiótica en programación. Los que siguen son los supuestos adoptados y los resultados
Obtenidos:
Teorema fundamental
En programación
Siendo L la longitud total de un problema y L1 y L2 las partes en que este problema se
puede dividir entonces:
Esfuerzo(L) > Esfuerzo(L1) + Esfuerzo(L2)
En origami
Desarrollo Total > Desarrollo básico + Detalles
El todo siempre es más que la suma de las partes
En programacion
El programa principal siempre es mayor que las especializaciones propias de cada función
En origami
La figura final siempre es más atractiva que la particularidad de los dobleces o el cuerpo
final. En encastres siempre es más atractivo el modelo terminado que los elementos que lo
componen
Algunos conceptos preliminares
Cicatrices Sentencias
Al desdoblar una figura en origami aparece un complejo trazado de marcas (cicatrices) que
representan un grafo particular, con propiedades diferentes según el “objeto” que son
capaces de formar. Las “cicatrices”, como las líneas de código, ese intangible que se
efectiviza cuando plegamos y obtenemos el modelo deseado. Como ese algo que por sí
mismo, individualmente, no tiene un valor (cada línea de código por sí misma no es mucho
lo que da) pero cuando se agrupan, si están bien formadas nos brinda el objeto terminado
que es lo que la aplicación aporta.
Planificación de la presentación
Concepto Origami Programación
Primitivas
Diagramas
Primer programa
Pequeñas variaciones
Idea base (patrón similar)
Funciones simples
Cuadrado de un binomio
Cicatrices
Básicos
Ave elemental
Diferentes grullas
Diferentes aves
Composición
Papel
Código
Sentencias
Hola mundo
Máximos y mínimos
Diferentes estructuras
Reusabilidad
Desarrollo
Pitágoras
Número-Rectángulo áureo
Funciones recursivas
Papel
Papel
Fibonacci
Desarrollo
Desarrollo
Código
Pequeñas variaciones permiten resultados semejantes
En programación
El cambio de tamaño del lote, o la generalidad en los tipos de las funciones permite utilizar
lógica semejante para problemas de naturaleza algo diferente
En origami
Pequeñas variaciones permiten generar objetos de la misma especie u objetos diferentes con
doblados diferentes
Reusabilidad
En programación
Fragmento de código especializado que puede ser utilizado en diferentes contextos, se
materializa en funciones reusables
En origami
Doblados simples especializados que pueden ser utilizados en diferentes figuras, se
materializan en los doblados básicos.
Recursividad
En programación
Conjunto de acciones con la propiedad de invocarse a sí mismas. En cada paso se obtiene
un resultado del mismo tipo que el anterior pero menor. Debe tener un punto de salida.
En origami
Fibonacci
Las secuencias
Secuencia base para el armado de diferentes poliedros. Retomando el teorema fundamental
de la programación. Como determinar el L(i) Para poder construir los elementos L con
diferentes alcances: 3, 6, 12, 30 elementos
La base (Función), luego se encastra (Desarrollo) y se obtienen resultados Reusabilidad y
generalidad
30 piezas, cara de cinco, puntas de tres, diferentes doblados, conceptualmente iguales,
resultados diferentes con lógica similar:
Gen
erali
dad
Reusabilidad: Con el mismo doblado básico aves diversas y cajas. Poliedros con diferentes
puntas y caras partiendo de la misma base. Tomando el concepto de función de la
programación
Generalidad: Objetos semejantes con bases diferentes. Poliedros transformado en estrellas
con puntas. Grullas semejantes partiendo de bases muy distintas. Usando el concepto de
plantilla.
Resultados de la implementación
La experiencia mostro, fundamentalmente, un valor deseable en educación y que no
siempre se lo destaca particularmente: la profundización del vínculo entre los participantes
más allá del rol circunstancial que tiene cada uno. Los conceptos de reusabilidad y
generalidad fueron comprendidos en profundidad. La relación entre los elementos básicos
fundamentales, cicatrices en origami, línea de código en programación pudieron ser
vinculados e interpretados totalmente. El “producto terminado” (figura en origami,
programa en programación) fue comprendido como la necesidad de elementos básicos
correctamente vinculados con una secuencia precisa de pasos para alcanzar el objetivo
deseado. Se pudo profundizar el concepto de abstracción mostrando como lo abstracto
puede concretarse. Las figuras formadas tuvieron el valor de ser atractivas por lo divertidas,
y los programas atractivos por su eficiencia. Estuvo siempre presente el tema de estructura
de dato (papel diferente en origami, estructuras en programación) la algoritmia siempre
presente (patrones de doblado en origami, patrones algoritmos en programación). Tampoco
falto la descomposición y la integración (doblados básicos en origami, funciones en
programación. En definitiva: La experiencia no solo brindo lo que nos propusimos como
objetivo sino que nos dio la posibilidad, como se mencionó, de mejorar los vínculos. Este
objetivo es uno de los más importantes objetivos institucionales de la Universidad
Tecnológica Nacional, en particular de la Facultad Regional Buenos Aires
Discusión
Disciplinas como la Ingeniería, en general, propone a los docentes a centrarse en los
contenidos. En general antes de encarar actividades diferentes en las aulas la primera
preocupación es pensar si esto no quitara tiempo para dar todos los contenidos.
Es verdad que existen cosas en cada asignatura que debemos necesariamente exponer. Pero
esto me sugiere una serie de interrogantes a partir de la experiencia docente de tantos años.
En primer lugar, si tenemos un saber debemos comprender, como señala Ranciere en su
obra “el maestro ignorante” que el saber, como la libertad, no es algo que se da, es el que lo
recibe que tiene que tener el deseo de tomarlo. Por esa razón el contenido en sí mismo
carece de valor si quien escucha no quiere tomarlo.
Porque no acercarlo en un ambiente que priorice el vínculo, porque no acercarlo de forma
que hasta puede ser divertida. El origami propone eso.
Los contenidos pudieron ser el centro hace ya mucho tiempo, cuando las cosas no
cambiaban tan rápidamente. Contenido es “relativamente” importante. Lo que enseñamos
en primero si lo aprendimos hace cinco años y nuestro estudiante que recién ingresa lo
utilizara dentro de otros cinco, aferrados a ese contenido el estudiante en el futuro atrasara
10 años. Esto no debemos permitirlo. Origami en programación tiende a flexibilizar la
“fijeza funcional”1 por el uso y asociación de objetos a priori dispares. Con esto se logra
formar SUJETOS CONCEPTUALES, eso es lo que proponemos desde nuestra asignatura.
Conclusion
El doblado de papel agregó interés al desarrollo algorítmico; fue muy bien capitalizado por
parte de los estudiantes. Siguieron con atención las construcciones que desarrollaron y
valoraron la necesidad de la perfección en trabajos grupales, del trabajo del otro, de la
relación entre lo propio con el resto del equipo. Evidenciaron que en programación, como
en origami el todo es mucho mas que la suma de las partes
Se mejoran aspectos de comprensión e incorporaron una visión espacial, lenguaje
geométrico lo que permitió describir formas, clasificarlas, esquematizarlas. Se hizo visible
el concepto de reusabilidad, de elementos base de construcción, de generalidad, mediante la
comparación entre la programación y al origami.
Se pudieron diseñar y manipular modelos materiales que favorecieron la resolución de
problemas valorando la interrelación que hay entre la actividad manual y la intelectual.
Todo esto observado para encuadrarlo adecuadamente desde la formalidad de la asignatura.
Fue un elemento adecuado como vehículo de la evaluación continua.
Referencias
Bruno, Leytuz : las clases de algoritmos en UTN.BA
P. Bascetta: Origami: Geometria con la carta (I). Quadrato magico, 52 (1998). [Disponible
en http://www.origami-cdo.it/articoli/artgeo.htm
A. Rodríguez, A. Fernández: Análisis de la actividad de origami. [Disponible en
http://www.pajarita.org/aep/articulos/ARTIC5-4.PDF
Axiomatic origami – or the mathematical backbone of paper folding,
http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2002/ChristianLavoie/maths.html
1 Gestalt: Surge cuando se pierde la capacidad de considerar objetos conocidos de manera novedosa y se ve como obstáculo a enfrentar cuando se requiere creatividad en la solución de los problemas.
Origami (E. Dray, S. Mamino), http://digilander.libero.it/modulandia/modelli_dod.htm.
Origami and geometric constructions,
http://kahuna.merrimack.edu/~thull/omfiles/geoconst.html
Página oficial de la Asociación Española de Papiroflexia, http://www.pajarita.org.
Página web de J.I. Royo Prieto, http://xtsunxet.usc.es/royoprieto