Aprender programando: motivaciones y alternativas

2,491 views

Published on

Aprender programando: motivaciones y alternativas

Cátedra Telefónica de la Universidad de Deusto

Motivaciones y alternativas para introducir la programación como competencia dentro del currículum educativo de primaria y secundaria

Belate Atorrasagasti
Borja Sedano
Abril 2011

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,491
On SlideShare
0
From Embeds
0
Number of Embeds
289
Actions
Shares
0
Downloads
47
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Aprender programando: motivaciones y alternativas

  1. 1. Cuaderno Red de Cátedras Telefónica Aprender programando: motivaciones y 1 alternativasNTIC y EducaciónCuaderno Red deCátedras TelefónicaAprender programando:motivaciones y alternativasCátedra Telefónica de la Universidad de DeustoMotivaciones y alternativas para introducir la programación comocompetencia dentro del currículum educativo de primaria ysecundariaBelate AtorrasagastiBorja SedanoAbril 2011
  2. 2. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 2alternativas Biografía Belate Atorrasagasti Ingeniera en Informática por la Universidad de Deusto en 2010, colabora en la Cátedra Telefónica – Deusto programando junto al desarrollador Jorge Bastida el proyecto de red social orientada a la programación “3DU” (http://www.3du.es). Borja Sedano Ingeniero en Informática por la Universidad de Deusto en 2010, colabora en la Cátedra Telefónica – Deusto desarrollando actividades educativas en Scratch (http://scratch.mit.edu) para primaria.
  3. 3. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 3alternativas Índice 1. ¿Deberían los niños aprender a programar? 2. Alternativas para introducir la programación en el aula 2.1. Logo 2.2. SmallTalk 2.3. Squeak 2.4. Scratch 2.5. Plopp 2.6. Alice 2.7. Croquet 2.8. Phrogram 2.9. 3DU 2.10. Comparativa de todas ellas 3. Conclusiones
  4. 4. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 4alternativas 1. ¿Deberían los niños aprender a programar? Con la introducción de las nuevas tecnologías en las clases se produce un debate que se viene dando desde hace años en otros foros más minoritarios: incluir la programación como materia de estudio en la escuela. Algunos detractores de la propuesta se basan en prejuicios creyendo que la programación no tiene utilidad más allá de la informática. De la misma manera que se enseña a los niños a escribir sin el objetivo de que se dediquen profesionalmente a ello, puede comprenderse el uso de la programación para trabajar habilidades no específicas de la informática. Pese a llevar ya décadas siendo estudiados los beneficios de enseñar a programar, parece que ahora es el momento de sacarlo del entorno de la informática y aplicarlo a pie de aula. Si bien es cierto que el aprendizaje de la programación básica, resolución de problemas mediante algoritmos, se puede realizar con lápiz y papel, son muchas las puertas (o ventanas) que nos abren nuevos lenguajes de programación y entornos. Enseñar a programar puede aportar resultados psicopedagógicos que se persiguen con otras materias. Algunas de las capacidades que se pueden trabajar son: - Razonamiento lógico para la resolución de problemas, con el uso de estructuras condicionales e iterativas. - Abstracción de problemas en un entorno motivador y con significado. - Priorización de necesidades, recursos y posibilidades. - Adquisición de conceptos computacionales y matemáticos, como coordenadas, variables o números aleatorios. - Aprendizaje del proceso iterativo del diseño, desde la concepción de una idea hasta el desarrollo, pasando por el prototipado y la depuración. - Desarrollo de habilidades con las nuevas tecnologías y manejo del ordenador.
  5. 5. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 5alternativas Este cuaderno de la Red de Cátedras Telefónica se centra en la utilización de la programación en la educación trabajando competencias a partir de la creación de juegos, animaciones y programas similares. Dado el alto potencial de los entornos de desarrollo (IDE) actuales, personal docente se puede ver beneficiado por los lenguajes que primeramente estaban orientados a un público infantil o juvenil y crear aplicaciones propias para su utilización en el aula. Hay lenguajes concretos que tienen un desarrollo bastante avanzado y una comunidad muy activa que trabaja constantemente en mejoras. A continuación se analizan diferentes alternativas en lenguajes de programación que se están dando actualmente para llegar a una conclusión general.
  6. 6. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 6alternativas 2. Alternativas para introducir la programación en el aula 2.1. Logo Logo es probablemente el lenguaje de programación orientado a jóvenes más antiguo, su primera versión vio la luz en 1967. Pese a su antigüedad, se puede considerar vigente y ha supuesto el primer contacto con la programación para muchas generaciones. Su característica más explotada ha sido la de generar gráficos. A partir de dar instrucciones de movimiento a una tortuga, se generan gráficos con el rastro que deja la misma. Trabaja de manera excelente el razonamiento lógico y la visión espacial en la elaboración de los gráficos. Logo es un lenguaje que soporta instrucciones en diferentes idiomas, y es uno de los pocos lenguajes que tiene instrucciones en español. Pese a que actualmente haya lenguajes y entornos mucho más desarrollados, sobre todo la interfaz, no hay que ignorar el alto potencial de Logo para trabajar habilidades específicas. 2.2. Smalltalk Smalltalk es un lenguaje de programación enfocado a la educación, fue creado en el Palo Alto Research Institute de Xerox durante los años setenta que mediante la interacción con un entorno de objetos virtuales permite realizar tareas de computación. El principal objetivo de este lenguaje era motivar el espíritu creativo de los usuarios, facilitando un medio para la experimentación, investigación y creación. Este lenguaje está considerado como uno de los primeros lenguajes orientados a objetos. Los únicos elementos de un programa Smalltalk son los objetos, tales como los números reales o incluso el propio entorno. Éstos se comunican entre ellos mediante el envío de mensajes.
  7. 7. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 7alternativas El entorno o ambiente de Smalltalk es básicamente gráfico y funciona como un sistema en tiempo de ejecución que integra varias herramientas de programación, utilidades multimedia, interfaces para ejecutar código no nativo a Smalltalk y servicios del sistema operativo. Esto ha influido en la metodología de trabajo y la creación de la programación. Smalltalk se considera más que un simple lenguaje de programación. Se diferencia de las herramientas de programación tradicionales en que la forma de programar no consiste en arrancar un editor de texto, compilar y ejecutar, en vez de eso, medi mediante el Navegador del Sistema, se manipula el entorno mismo, como si fueran piezas de LEGO, arrastrando y soltado cada pieza en el entorno. Esto hace que sea más , intuitivo y fácil que otros lenguajes de programación. 2.3. Squeak Squeak como herramienta de aprendizaje, fue desarrollado en 1997 bajo Squeak de Licence, fue reemplazada en el 2006 bajo la licencia de código abierto de Apple Public Source License. Desde sus orígenes está diseñado específicamente para enseñar conceptos básicos de programación a niños utilizando medios de niños comunicación como texto, vídeo, sonido, música, gráficos 2D, gráficos 3D, TextToSpeech, etc. El código está escrito en Smalltalk y funciona en la mayoría de los sistemas operativos.
  8. 8. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 8alternativas El funcionamiento básico de Squeak es la de un simulador de mundos virtuales donde es posible experimentar con la realidad o con la imaginación. Se basa en un diseño que hace que pueda ser utilizado por niños de todas las edades e incluso adultos. El entorno multimedia que posee es muy variable, lo que lo hace no tener muchas limitaciones. Los objetos existentes en estos mundos tienen la opción de cambiar sus propiedades como puede ser su tamaño o su posición. A estos objetos se les puede atribuir un comportamiento como rotar, emitir sonido, desplazarse, etc. Esto se realiza creando sto un guión o guiones. Con el uso de estos mundos se ayuda a descubrir de manera natural las ganas de investigar, crear, etc. propias de todos los niños. . Squeak enseña mediante la construcción conceptos básicos de la programación como puede ser control de flujo, bucles, señales, etc. 2.4. Scratch Scratch es un lenguaje de programación desarrollado por el MIT para enseñar a programar a jóvenes y primerizos en la programación. Es un lenguaje nuevo y bastante novedoso, apareció en mayo de 2007. Scratch soporta el desarrollo de juegos de ordenador, historias interactivas, arte gráfico y animación, así como otros tipos de proyectos multimedi multimedia. La creación de programas es muy simple, se realiza mediante la unión de bloques. Cada bloque puede albergar desde una simple sentencia hasta complejos algoritmos. La programación queda reducida a la unión, a través de una interfaz
  9. 9. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 9alternativas gráfica muy trabajada, de bloques, como si de la construcción de un Lego se tratara. , El entorno de desarrollo de Scratch permite la edición de imágenes, y suministra una gran biblioteca de sonidos e imágenes para su utilización. Además de su completo IDE, una gran ventaja de Scratch es que está soportado por una gran comunidad de desarrolladores y usuarios, que a través de la red social del lenguaje de programación, comparten y comentan programas. La integración de Scratch con la web es muy alta, ya que al colgar cualquier programa en la red social rograma (acción que se realiza directamente desde el IDE) se permite incrustar el programa en cualquier otra Web. Es, sin duda, de los lenguajes que más fuerza están teniendo últimamente. 2.5. Plopp Plopp es una herramienta que permite crear dibujos en 3D a partir de 2D, diseñada crear sobre todo para el uso de los más pequeños. Plopp en ningún momento requiere la lectura de texto, todo es mediante gráficos, esto hace que la herramienta pueda ser usada por niños de muy temprana edad. Los gráficos utilizados en la herramienta son sencillos y de fácil comprensión y uso. cos Además para mayor comprensión tenemos a Plipp, personaje que habita en el mundo Plopp, que sirve como ayuda, aconsejando, en cualquier momento por si surge alguna duda en el mane de la herramienta. manejo
  10. 10. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 10alternativas Una vez finalizada la escena creada en 3D la herramienta Plopp te permite imprimirla, usarla como fondo de pantalla o enviarla como postal electrónica. 2.6. Alice Alice es un lenguaje de programación libre y abierto. Al igual que Scratch, también e tiene un entorno de desarrollo (IDE) integrado, con lo que las tareas de programación se facilitan bastante. Su interfaz es bastante intuitiva, ya que utiliza interacciones sencillas basadas en “agarrar y soltar” (“drag&drop nteracciones drag&drop”), con las que poder programar a través del ratón ratón. Alice está especialmente orientado a la educación, concretamente a la creación de animaciones con las que interactuar. La programación, de la misma manera que Scratch, supone la unión de bloques de código, pero a diferencia de Scratch, está más orientada al 3D. Cabe destacar que Alice soporta dos paradigmas de programación: la orientada a objetos y la orientada a eventos. Actualmente en fase Beta, Alice 3.0 está desarrollado en combinación con el popular juego Los SIms 2, de Electronic Arts, con lo que se pueden utilizar los modelos de personajes conocidos a partir del juego. 2.7. Croquet Croquet Consortium, ha sido formado por HP, Duke University, la Universidad de Minnesota y Qwaq Inc. Es una plataforma de código abierto para la educación, ta
  11. 11. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 11alternativas investigación y entorno corporativo. Pretende modificar nuestra manera de manejar el ordenador adentrandonos en el universo virtual 3D. Es un potente entorno para software de desarrollo que permite crear y desplegar múltiples aplicaciones de colaboración online de múltiples usuarios para múltiples sistemas operativos y dispositivos. Cobalt es una emergente aplicación de código abierto, diseñado para quienes les interese crear mundos virtuales que se puedan virtuales compartir y se está construyendo a través de una comunidad que se basa en el uso de Croquet SDK. Se ejecuta sobre una máquina virtual Smalltalk como Squeak, es decir es derivado de Squeak. Croquet dispone de una arquitectura que soporta la comunicación, colaboración, intercambio de recursos y la sincronía entre varios usuarios en múltiples dispositivos. Usando Croquet, desarrolladores de software pueden crear y vincular aplicaciones y simulaciones en 2D y 3D sobre potentes plataformas colaborativas de múltiples colaborativas usuarios, haciendo posible el desarrollo distribuido a larga escala, rico en funciones y entornos virtuales. 2.8. Phrogram Phrogram es un lenguaje de programación creado por Jonah Stagner para que su hijo aprendiera a programar ya que vio que las herramientas existentes eran muy complicadas de utilizar por los programadores novatos. Creando así un grupo de herramientas que hacen del aprender a programar algo divertido y fácil. Phrogram también tiene como objetivo hacer que la transición desde un lenguaje ansición sencillo como puede ser Phrogram a los lenguajes más avanzados sea sencillo, proveyendo de algunas opciones de lenguajes avanzados. Phrogram soporta la programación orientada a objetos y permite la definición de clases y de sus propiedades y métodos asociados, ayudando así a los programadores novatos con la introducción de la programación orientada a objetos. Aunque Phrogram fue diseñada originalmente para niños sobre todo entre 10 y 14 años, es apropiado para cualquier persona de cualquier edad. Este lenguaje es usado por adultos, por su hijos o estudiantes que desean tener sus primero pinitos en la
  12. 12. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 12alternativas programación. También está siendo muy usado en las escuelas, en cualquier nivel educativo, desde primaria y secundaria hasta las Un Universidad. 2.9. 3DU 3DU no es tanto un nuevo entorno de programación para niños sino más bien una red social con carácter educativo que tiene como objetivo principal enseñar a niños de 5 a 10 años a programar. 3DU se presenta como un sencillo juego en el que un pequeño robot con forma de mono tiene que recoger una serie de plátanos dispersos por una isla con forma de tablero. Nuestro pequeño protagonista no lo tendrá fácil ya tablero. que se encontrará con una serie de obstáculos repartidos por el tablero par para obstaculizarle conseguir los plátanos. Los usuarios de 3DU tendrán que programar las instrucciones necesarias para que nuestro protagonista pueda recorrer el tablero y recoger todos los plátanos superando los obstáculos que se encuentra en el camino. Tal y como hemos dicho, 3DU está elaborado alrededor de una red social con el fin l fomentar la colaboración, la comunicación y la competitividad entre los jugadores.
  13. 13. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 13alternativas 3DU se está desarrollando en la Cátedra Telefónica - Deusto en Bilbao, que tiene como uno de sus objetivos explorar la aplicación de las Nuevas Tecnologías en la Educación. 2.10. Comparativa de todas ellas A continuación se muestra una tabla con todas las alternativas antes mencionadas, indicando su versión, la página web del proyecto, la compatibilidad y disponibilidad en distintas plataformas (Windows, Linux, Mac), la edad recomendada de uso, los idiomas en los que se pueden usar y su carácter gratuito o de pago: Programa Versión URL S.O. Edad Idioma Gratuit s o Logo 6 http://el.media.mit.edu/logo- Win, en, es Si foundation/ Lin, Mac Smalltalk 8.0 http://www.smalltalk.org/main Win, en Si / Lin, Mac Phrogram 2.5 http://phrogram.com/ Win 10 a en, es No 14 Squeak 3.10 http://www.squeak.org/ Win, en Si Lin, Mac Croquet 1.1 http://www.opencroquet.org/in Win en Si dex.php/Main_Page Alice 2.2 http://www.alice.org/ Win, 12+ en Si Lin, Mac Plopp 1.2.3 http://www.planet- Win, en, es No plopp.com/es/biggerkids.html Lin, Mac Scratch 1.4 http://scratch.mit.edu/ Win, 8+ en, es Si Lin, Mac 3DU 1.0 http://www.3du.es/ Win, 5 a 10 es Si Lin, Mac
  14. 14. Cuaderno Red de Cátedras TelefónicaAprender programando: motivaciones y 14alternativas 3. Conclusión Desde que se estudió profundamente la actividad de la programación y se le dio suficiente importancia como materia académica, se ha intentado orientar hacia el aprendizaje. En sus inicios, hace casi ya medio siglo, el enfoque que se aplicaba era el de la enseñanza de la programación a partir de lenguajes simplificados y de sencillas y descriptivas instrucciones. De esta manera se realizaron grandes avances, llegando a crear el primer lenguaje de programación que soportaba el paradigma de la orientación a objetos pura, con Smalltalk. Pero, con el paso de los años, diferentes estudios demostraron los beneficios pedagógicos que el aprendizaje de la programación podía aportar; de esta manera, y como se especifica al principio del Cuaderno de la Red, diferentes competencias son trabajadas a través de la misma. La tendencia actual no es la de orientar los lenguajes de programación hacia el aprendizaje a programar exclusivamente. Se pretende, con interfaces muy trabajadas y entornos de desarrollo, que el estudiante sea capaz de crear sus propios juegos, presentaciones, animaciones y ejercicios de lógica a través de la programación simple (o todo lo compleja que se quiera hacer) de diferentes elementos. En este aspecto Scratch destaca, puesto que además de su IDE, tiene una comunidad muy activa que apoya a los que utilizan la herramienta a través de la red social de su página web. Parece que el futuro pasa indudablemente por ahí: programa, aprende, comparte y diviértete.

×