1
Presentado por: Borja Sedano Aranes
Línea de investigación: Tecnologías de la Información y la
Comunicación.
Director/a:
Ciudad:
Fecha:
Irene Acosta Pérez
Universidad Internacional de La Rioja
Facultad de Educación
Trabajo fin de máster
Motivaciones y alternativas para el uso de la programación de ordenadores en la ESO
2
3
Resumen
Actualmente existe consenso en el mundo educativo de que hemos de superar una
educación clásica basada en la transmisión de contenidos hacia un nuevo modelo
que desarrolle y motive las capacidades de los alumnos. Este cambio de paradigma,
de un modelo heredado de una sociedad industrial de la producción hacia un modelo
basado en el conocimiento, es imprescindible para educar personas en un mundo
global e interconectado. Dentro de los conjuntos de habilidades de pensamiento de
orden superior propuestos para la educación del siglo XXI, está la resolución de
problemas. La programación de ordenadores, impartida para fomentar las destrezas
que los alumnos actualmente necesitan, es una alternativa ideal a tal efecto. Con la
programación se resuelven problemas reales aplicando métodos de resolución de
problemas, se fomenta la creatividad y el uso del conocimiento cooperativo a partir
de las TIC. Gracias a ella se trabajan diversas competencias que actualmente forman
parte del currículo de la ESO. Este trabajo pretende demostrar las virtudes de la
programación desde un análisis teórico de la materia, un estudio cuantitativo
llevado a cabo durante dos años en el colegio La Salle de Zarautz y una propuesta
práctica. La programación consigue, como se demuestra en este estudio, excitar las
capacidades de los alumnos y fomentar un aprendizaje creativo, cooperativo,
autónomo y, sobre todo, significativo, tal y como requiere la sociedad actual.
Palabras clave:
TIC, programación de ordenadores, informática, aprendizaje basado en proyectos ,
Scratch
4
5
Abstract
Current thinking in the world of education emphasises the need for a shift from
traditional educational methods based on relaying subject matter, to a model which
fosters and promotes the development of student skills. Such a change in paradigm,
from a system inherited from an industrial production society to a knowledge based
one, is imperative for a globalised and interconnected world. One of the key higher
order thinking skills for 21st century education is problem solving. Computer
programming, taught to develop the skills required by students nowadays, is an ideal
alternative channel for preening this aptitude. In ICT and specifically programming,
students are faced with real problems which must be solved using appropriate
methods, thus fostering creativity and cooperative learning styles within the
classroom. Thanks to this discipline, skills, integral to the current Secondary
Education curriculum, are showcased and developed. The aim of this project is to
demonstrate the value of programming using a theoretical analysis of the subject, a
two-year quantitative study carried out in La Salle School, Zarautz, and a practical
proposal. This study will show that programming stimulates student abilities, and
fosters creative, cooperative, autonomous and, above all, meaningful learning to
meet the demands of today’s society.
Keywords:
ICT, computer programming, informatics, Project based learning, Scratch
6
7
Índice paginado
1. Introducción del trabajo .......................................................................................... 9
1.1. Justificación del trabajo y su título .................................................................... 9
2. Planteamiento del problema...................................................................................10
2.1. Objetivos..............................................................................................................10
2.2. Breve fundamentación de la metodología ........................................................10
3. Desarrollo ................................................................................................................. 12
3.1. Revisión bibliográfica, fundamentación teórica ............................................... 12
3.1.1. Programación dentro del currículo actual de ESO................................... 12
3.1.2. Contribución de la materia a la adquisición competencias básicas ........ 15
3.1.3. Programación y matemáticas .................................................................... 18
3.1.4. Estado del arte de la tecnología ................................................................ 20
3.2. Materiales y métodos......................................................................................... 25
3.3. Resultados y análisis ......................................................................................... 26
4. Propuesta práctica .................................................................................................. 33
5. Conclusiones ........................................................................................................... 40
6. Líneas de investigación futuras ............................................................................. 42
7. Bibliografía .............................................................................................................. 43
8. Bibliografía complementaria ................................................................................. 44
8
9
1. Introducción del trabajo
1.1. Justificación del trabajo y su título
A partir de la introducción de las nuevas tecnologías para la comunicación (TIC)
en las aulas se reaviva un debate que se viene dando desde hace años en otros foros
más teóricos y minoritarios: incluir la programación como materia de estudio en la
escuela, no solamente en educación superior, sino desde la educación obligatoria.
Diferentes entornos de programación integrados (IDE, Integrated Development
Environment) han puesto al alcance de la mano del personal docente herramientas
de fácil uso, intuitivas y prácticas. El profesorado es capaz de asimilar estos entornos
sin tener conocimientos profundos de la materia, lo que supone un auténtico salto
en las opciones de enseñanza de una materia que tradicionalmente ha sido apartada
por considerarse árida y muy especializada.
Algunos detractores de la incorporación de la materia de programación se basan
en prejuicios anacrónicos 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 en el futuro, 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
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.
En este trabajo se pretende demostrar que enseñar a programar puede aportar
resultados de aprendizaje que se persiguen con otras materias.
10
2. Planteamiento del problema
Como se puede observar, este trabajo consta de distintas partes bastante
diferenciadas. Por un lado, una parte de análisis teórico de la situación actual de la
materia y las motivaciones para que pueda incluirse la programación como materia
propia. Por otro lado, una parte más práctica, a partir de un estudio realizado con
datos producto de dos años de trabajo con alumnos que han cursado programación y
una propuesta práctica de actividad de programación que explora las posibilidades
de la materia.
2.1. Objetivos
Los objetivos de este trabajo son los siguientes:
Estudiar la situación actual de la programación en el currículo de ESO.
o Determinar la existencia o no de la programación dentro del currículo
o dentro de otras materias
o Determinar las competencias generales trabajadas con la
programación al ser impartida como materia propia y sus beneficios
para las demás asignaturas
Analizar las posibilidades ofrecidas para la enseñanza-aprendizaje de la
programación
o Estudiar las diferentes alternativas y lenguajes de programación.
o Observar las capacidades desarrolladas a través del aprendizaje de la
programación
o Analizar cuantitativamente la marcha académica de un grupo de
alumnos que ha cursado programación y su relación con otras
materias y el resto de alumnos.
o Realizar una propuesta práctica de una actividad de programación
para la ESO
2.2. Breve fundamentación de la metodología
Para la realización de este estudio, se han tenido en cuenta los resultados
académicos de todo un grupo de alumnos durante dos años. Se ha usado, por tanto,
una metodología cuantitativa basada en calificaciones, con el modelo de de
11
evaluación actual basado en competencias, y con herramientas estadísticas. En el
apartado de materiales y métodos se concretan los datos utilizados para el estudio.
La muestra comprende a todos los alumnos que el curso pasado comenzaron la
ESO en el colegio La Salle Zarautz, un total de 46 alumnos divididos en dos grupos:
A y B. Para mantener el anonimato, cada alumno posee un código alfanumérico
único compuesto por el código del grupo y un número entero (A1, B1, A2, B2, …).
De entre todos los alumnos, 16 de ellos recibieron clases de informática en horario
extraescolar. El autor del estudio lleva dos años impartiendo clases de informática,
dos días a la semana, una hora por sesión. De las dos sesiones semanales, se ha
dedicado una al aprendizaje de la programación y otra a diferentes herramientas
informáticas. Por tanto, se han impartido una media de 30 horas lectivas de
programación cada curso.
Los datos de partida del análisis, que aquí se presentan, son los siguientes: nota
media anual de matemáticas de toda la muestra y nota media anual de
programación de los alumnos que han cursado la materia, durante los dos cursos
académicos. Por supuesto, se han tomado de partida algunas suposiciones. Se ha
considerado las matemáticas para la realización del análisis porque, como se explica
más adelante, es la competencia matemática la que parece ser más susceptible de
verse positivamente afectada con la enseñanza-aprendizaje de la programación.
12
3. Desarrollo
3.1. Revisión bibliográfica, fundamentación teórica
3.1.1. Programación dentro del currículo actual de ESO
Actualmente la programación no está incluida, como tal, en el currículo de la
ESO. La materia más cercana a la misma es Informática. El Real Decreto 1631/2006,
de 29 de diciembre, por el que se establecen las enseñanzas mínimas
correspondientes a la Educación Secundaria Obligatoria, establece respecto a la
Informática los siguientes objetivos:
1. Utilizar los servicios telemáticos adecuados para responder a necesidades
relacionadas, entre otros aspectos, con la formación, el ocio, la inserción laboral, la
administración, la salud o el comercio, valorando en qué medida cubren dichas
necesidades y si lo hacen de forma apropiada.
2. Buscar y seleccionar recursos disponibles en la red para
incorporarlos a sus propias producciones, valorando la importancia
del respeto de la propiedad intelectual y la conveniencia de recurrir a
fuentes que autoricen expresamente su utilización.
3. Conocer y utilizar las herramientas para integrarse en redes sociales, aportando
sus competencias al crecimiento de las mismas y adoptando las actitudes de
respeto, participación, esfuerzo y colaboración que posibiliten la creación de
producciones colectivas.
4. Utilizar periféricos para capturar y digitalizar imágenes, textos y sonidos y
manejar las funcionalidades principales de los programas de tratamiento digital
de la imagen fija, el sonido y la imagen en movimiento y su integración para crear
pequeñas producciones multimedia con finalidad expresiva, comunicativa o
ilustrativa.
5. Integrar la información textual, numérica y gráfica para construir y
expresar unidades complejas de conocimiento en forma de
presentaciones electrónicas, aplicándolas en modo local, para apoyar
un discurso, o en modo remoto, como síntesis o guión que facilite la
difusión de unidades de conocimiento elaboradas.
13
6. Integrar la información textual, numérica y gráfica obtenida de cualquier fuente
para elaborar contenidos propios y publicarlos en la Web, utilizando medios que
posibiliten la interacción (formularios, encuestas, bitácoras, etc.) y formatos que
faciliten la inclusión de elementos multimedia decidiendo la forma en la que se
ponen a disposición del resto de usuarios.
7. Conocer y valorar el sentido y la repercusión social de las diversas alternativas
existentes para compartir los contenidos publicados en la web y aplicarlos cuando
se difundan las producciones propias.
8. Adoptar las conductas de seguridad activa y pasiva que posibiliten la protección
de los datos y del propio individuo en sus interacciones en Internet.
9. Valorar las posibilidades que ofrecen las tecnologías de la información y la
comunicación y las repercusiones que supone su uso.
Pese a que la programación está íntimamente relacionada con todos los objetivos
que el Real Decreto plantea, los objetivos 2 y 5 pueden ser trabajados directamente
con la enseñanza-aprendizaje de la programación (MARTÍN, M. 2009), puesto que
los trabajos producidos a través de la misma son muy sensibles a estos dos aspectos.
En el mismo decreto se expone, detalladamente, cuál ha de ser el temario mínimo a
cubrir por la asignatura de Informática en ESO.
Bloque 1. Sistemas operativos y seguridad informática.
o Creación de redes locales: configuración de dispositivos físicos para la
interconexión de equipos informáticos.
o Creación de grupos de usuarios, adjudicación de permisos, y puesta a
disposición de contenidos y recursos para su uso en redes locales bajo
diferentes sistemas operativos.
o Seguridad en Internet. El correo masivo y la protección frente a diferentes
tipos de programas, documentos o mensajes susceptibles de causar
perjuicios. Importancia de la adopción de medidas de seguridad activa y
pasiva.
o Conexiones inalámbricas e intercambios de información entre dispositivos
móviles.
14
Bloque 2. Multimedia.
o Adquisición de imagen fija mediante periféricos de entrada.
o Tratamiento básico de la imagen digital: los formatos básicos y
su aplicación, modificación de tamaño de las imágenes y
selección de fragmentos, creación de dibujos sencillos, alteración
de los parámetros de las fotografías digitales: saturación,
luminosidad y brillo.
o Captura de sonido y vídeo a partir de diferentes fuentes. Edición
y montaje de audio y vídeo para la creación de contenidos
multimedia.
o Las redes de intercambio como fuente de recursos multimedia.
Necesidad de respetar los derechos que amparan las
producciones ajenas.
Bloque 3. Publicación y difusión de contenidos.
o Integración y organización de elementos textuales, numéricos, sonoros y
gráficos en estructuras hipertextuales.
o Diseño de presentaciones.
o Creación y publicación en la Web. Estándares de publicación.
o Accesibilidad de la información.
Bloque 4. Internet y redes sociales.
o La información y la comunicación como fuentes de comprensión
y transformación del entorno social: comunidades virtuales y
globalización.
o Actitud positiva hacia las innovaciones en el ámbito de las
tecnologías de la información y la comunicación y hacia su
aplicación para satisfacer necesidades personales y grupales.
o Acceso a servicios de administración electrónica y comercio electrónico: los
intercambios económicos y la seguridad.
o Acceso a recursos y plataformas de formación a distancia, empleo y salud.
o La propiedad y la distribución del «software» y la información:
«software» libre y «software» privativo, tipos de licencias de uso
y distribución.
15
o La ingeniería social y la seguridad: estrategias para el reconocimiento del
fraude, desarrollo de actitudes de protección activa ante los intentos de
fraude.
o Adquisición de hábitos orientados a la protección de la intimidad y la
seguridad personal en la interacción en entornos virtuales: acceso a
servicios de ocio.
o Canales de distribución de los contenidos multimedia: música, vídeo, radio,
TV.
o Acceso, descarga e intercambio de programas e información.
Diferentes modalidades de intercambio.
Todos los puntos resaltados en negrita anteriormente pueden ser temario
cubierto a través de la programación. Pese a que en el currículo de la ESO no se
menciona la programación en ningún aspecto, en el de Bachillerato sí que se
incluyen a través del Real Decreto por el que se establece la estructura del
Bachillerato y se fijan sus enseñanzas mínimas.
Concluyendo, actualmente no hay referencia alguna a dicha materia, ni explícita
ni implícita, en el currículo de la ESO, ni siquiera en la asignatura Informática.
3.1.2. Contribución de la materia a la adquisición competencias
básicas
Tras el análisis de la situación actual de la materia con respecto al currículum
de la Educación Secundaria Obligatoria, haremos un estudio sobre los beneficios que
la materia aporta. A partir de experiencias ajenas teóricas y, especialmente, las
propias tras su impartición durante dos cursos académicos, podremos especificar,
primeramente, cómo contribuye la enseñanza-aprendizaje de la programación, para
la adquisición de competencias básicas. Con ello obtendremos perspectiva con
respecto a la incidencia de la materia en el currículum actual. Seguidamente, en el
siguiente punto, relacionaremos la materia a estudio con las matemáticas, no por ser
la única materia que se trabaja a partir de la programación, sino porque es la que
más claramente lo hace y cuyos resultados son más obvios.
La programación de ordenadores contribuye a la adquisición de diferentes
competencias básicas, que a continuación se analizan (BOE-A-2007-238).
Competencia matemática
Programar consiste en crear algoritmos y manejar datos, numéricos o
textuales, para conseguir resultados a través de diferentes procedimientos. Es por
16
tanto, una actividad que fomenta la habilidad para utilizar y relacionar los números,
sus operaciones básicas, los símbolos y las formas de expresión y razonamiento
matemático, tanto para producir e interpretar distintos tipos de información (Rico,
2001).
Dado que la programación es una labor de precisión, así como las
matemáticas, es crucial la expresión con claridad y precisión las informaciones, los
datos y las órdenes, valorando positivamente su uso. Durante su manejo, es
imprescindible el uso de elementos matemáticos básicos (distintos tipos de
números, medidas, símbolos, elementos geométricos, coordenadas, fórmulas,
procedimientos, etc.).
El proceso que se lleva a cabo en cualquier ejercicio de programación es la
resolución de problemas, tras el análisis de la situación, investigación de los datos
iniciales, creación de variables y generación del algoritmo, y su consiguiente proceso
reiterativo de refinamiento. Estos procesos permiten aplicar esa información a una
mayor variedad de situaciones y contextos, seguir cadenas argumentales
identificando las ideas fundamentales, y estimar y enjuiciar la lógica y validez de
argumentaciones e informaciones.
Esta competencia se trabaja especialmente en la programación a partir de
problemas o situaciones reales a las que hay que hacer frente con los métodos que la
materia nos proporciona. Es cuando se aplican conocimientos a situaciones reales
cuando la materia cobra realidad y sentido ante situaciones cotidianas, con clara
aplicabilidad y aprendizaje significativo.
En definitiva, la programación ayuda a aplicar aquellas destrezas y actitudes
que permiten razonar matemáticamente, comprender una argumentación
matemática y expresarse y comunicarse en el lenguaje matemático, utilizando las
herramientas de apoyo adecuadas, e integrando el conocimiento matemático con
otros tipos de conocimiento para dar una mejor respuesta a las situaciones de la vida
de distinto nivel de complejidad.
Tratamiento de la información y competencia digital
La competencia digital se trabaja directamente a través de la programación;
al tener que realizarse en entornos digitales, a través de la web y de su entorno de
desarrollo, se trabaja horizontalmente durante todo el proceso de aprendizaje
(Carneiro, Toscano y Díaz, 2011). Al programar, se han de disponer de habilidades
para buscar, obtener, procesar y comunicar información, y para transformarla en
17
conocimiento. Esta competencia, incorpora diferentes habilidades, que van desde el
acceso a la información hasta su transmisión en distintos soportes una vez tratada,
incluyendo la utilización de las tecnologías de la información y la comunicación
como elemento esencial para informarse, aprender y comunicarse.
Con lo que respecta al trabajo con un ordenador conectado, es de gran
importancia la detección de fuentes de información fiables, trabajar con diferentes
fuentes de información, se capaz de organizarlas, analizarlas, sintetizarlas a través
de razonamientos deductivos e inferencias para incorporarlos al conocimiento. Y,
además de ello, ser capaz de comunicar el conocimiento adquirido es una
característica de la programación. La necesidad de reutilizar código de
programación ajeno, incorporarlo a la producción propia y, después, volver a
compartirlo da especial valor a la necesidad de comunicación efectiva, poniendo en
alza la colaboración y la comunicación eficaz.
La competencia digital incluye el uso efectivo de las nuevas tecnologías y su
incorporación para la resolución de problemas. La programación, puesto que se da
en a partir de un ordenador, es una gran herramienta a tal efecto. A partir del uso
del ordenador, el alumno o alumna ha de enfrentarse a problemas hardware y
software a los que tiene que hacer frente de manera autónoma y efectiva, haciendo
uso de las herramientas de comunicación colaborativas, tanto en su vertiente
sincrónica como diacrónica.
En lo referente al profesorado, con temario relativo a las tecnologías de la
información y de la comunicación (TIC), cabe resaltar que estudios demuestran la
falta de personal cualificado para poder cumplir con los objetivos descritos y algunas
competencias que en el siguiente apartado se citan (de Asís y Planells, 2000). Pese a
que los centros hagan esfuerzos de formación de su profesorado, hay estudios que
ponen en evidencia la falta de apoyo institucional para la formación del profesorado
(Vélaz y Vaillant, 2011).
Resumiendo, la programación implica hacer uso de la tecnología disponible
para la solución de manera eficaz de problemas reales.
Competencia de aprender a aprender
Tanto esta como la siguiente son competencias que, pese a no ser trabajadas
directamente en la programación, se ven beneficiadas con la materia.
Enfrentarse a un problema real que requiera el uso de la programación para
su resolución conlleva la planificación de la resolución, la adaptación al proceso de
18
resolución de problemas a través, sobre todo, de las metodologías de trabajo
autónomo. Esta tarea favorece el conocimiento de uno mismo, sus límites y
fortalezas, y ser capaz de desarrollar una competencia personal basada en la
confianza y la motivación a partir de la consecución de los objetivos y resolución del
problema.
Esta competencia se trabaja en la medida que incluye, además, habilidades
para obtener información -ya sea individualmente o en colaboración- y, muy
especialmente, para transformarla en conocimiento propio, relacionando e
integrando la nueva información con los conocimientos previos y con la propia
experiencia personal y sabiendo aplicar los nuevos conocimientos y capacidades en
situaciones parecidas y contextos diversos.
Autonomía e iniciativa personal
Mucho del trabajo que ha de llevar a cabo un alumno de programación está
basado en metodologías de trabajo autónomo que ha de resolver de manera
responsable y autocrítica, con valores como la perseverancia, asunción del riesgo y
tenacidad. Todos ellos, presentes en la programación, harán que el estudiante tenga
constancia de que su labor va más allá del corto plazo y que la resolución de los
problemas a los que tiene que hacer frente conlleva una consecución de pasos o
etapas durante un largo período de tiempo.
Cabe destacar, especialmente, la importancia de la imaginación a la hora de
resolver los problemas. El alumno de programación conoce los recursos de los que
dispone de antemano y es del juego con éstos de donde surgen las soluciones que a
menudo conlleven un cambio de perspectiva.
Otra dimensión de esta competencia se puede dar en el trabajo en equipo. El
alumno autónomo que ha trabajado los valores anteriormente citados a través de la
programación, es capaz de asumir retos con liderazgo y emprender proyectos que,
desde la cooperación, vayan formándolos en la programación y en la vida.
3.1.3. Programación y matemáticas
Las matemáticas son las grandes beneficiadas del trabajo de la
programación. Como ya se ha analizado en este mismo capítulo, la competencia
matemática puede ser trabajada a partir de la programación desde diferentes
ángulos (Rico y Lupiánez, 2008). A continuación se especifica la comprensión de
qué contenidos propios de la asignatura de matemáticas en el currículo de la ESO
pueden mejorar gracias al aprendizaje de la programación:
19
Concepto de variable
Una variable consiste en un registro de memoria utilizado durante la
ejecución de un programa para almacenar información susceptible de cambios
durante la ejecución del mismo. Pueden ser usadas tanto para el almacenamiento de
información y su posterior muestra como para controlar la ejecución del programa.
Al contrario que una constante, que suelen definirse al principio del problema, el
contenido de una variable es alterado durante el proceso y consta de dos partes: un
identificador que ha de ser único y el valor que se almacena.
Han de ser diferenciadas dos tipos de variables, locales y globales. Mientras
que a las primeras solo tiene acceso el proceso u objeto que las ha creado, a las
globales puede accederse desde cualquier punto del programa. Descubrir la
necesidad de una u otra, asumiendo los riesgos que conlleva su uso, es una meta
importante de la programación. Además, a partir de las variables se pueden
descubrir estructuras de datos más complejas como listas, pilas, colas, árboles, …
Concepto de función
Las funciones son acciones que reciben ciertos parámetros y los transforman
para dar un resultado. Si bien los alumnos están acostumbrados a su uso desde el
primer contacto con las matemáticas y las operaciones más básicas como la suma o
la resta, a través de la programación pueden generar sus propias funciones.
Entender la necesidad de una función y la transformación de los datos de entrada
para producir una salida es un ejemplo muy valioso de aprendizaje significativo.
Ecuaciones
El manejo de ecuaciones es básico y necesario para resolver cualquier tipo de
problemas del entorno real que propongamos resolver a través de la programación.
Su complejidad puede variar dependiendo del problema, desde una ecuación lineal
hasta ecuaciones de diferentes grados y variables, logarítmicas,… Son fundamentales
para cualquier comprobación de datos en programación.
Series
Así como las ecuaciones, las series son herramientas útiles para la
elaboración de gráficas y el análisis de conceptos como la recursividad. En ellas
también su dificultad y aplicación puede variar.
Gráficos y coordenadas cartesianas
El gran potencial de la programación actual consiste en el uso de potentes
gráficos con posibilidad de trabajarlos a través de sencillos comandos, como se
20
abaliza en el siguiente punto del capítulo. Los conceptos de coordenadas y gráficos
de fórmulas son trabajados intensamente en matemáticas durante toda la ESO y la
programación permite aplicar la teoría en un entorno amigable.
Algoritmia
Enfrentarse a la resolución de un problema consiste en definir un algoritmo,
un conjunto de acciones, a llevar a cabo en un orden específico. La programación es,
básicamente, la construcción de algoritmos. Para ellos, se aprenden estructuras
secuenciales, alternativas y repetitivas, de directa aplicación en las matemáticas y en
cualquier otro ejercicio de resolución de problemas.
Sensores y actuadores
Pese a no ser materia propia de las matemáticas, sino de la tecnología, a
través de los sensores se pueden obtener datos del mundo exterior y generar una
salida, con los actuadores. Supone la máxima expresión de la aplicación de las
matemáticas, puesto que la transformación de esa información de entrada para su
uso, el manejo durante el programa, y su posterior presentación como dato de salida
conlleva el uso de todos los conceptos matemáticos hasta ahora analizados. La
robótica es la materia que trabaja, entre otros conceptos, los sensores y actuadores.
3.1.4. Estado del arte de la tecnología
A continuación se exponen diferentes alternativas, algunas ya casi en desuso
y otras más actuales, para la enseñanza de la programación. Es una lista que no
incluye a todas, pero sí a las más utilizadas por la comunidad educativa
(Atorrasagasti y Sedano, 2011).
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 (Sande y Sande, 2009).
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
21
más desarrollados, sobre todo la interfaz, no hay que ignorar el alto potencial de
Logo para trabajar habilidades específicas.
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.
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, 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.
SQUEAK
Squeak como herramienta de aprendizaje, fue desarrollado en 1997 bajo
Squeak 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
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.
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
22
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, ... esto se realiza
creando un guión o guiones.
Con el uso de estos mundos se ayuda a descubrir de manera natural las ganas
de investigar, crear,... que todos los niños tienen. Squeak enseña mediante la
construcción conceptos básicos de la programación como puede ser control de flujo,
bucles, señales, etc.
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 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 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 del completo IDE, Scratch 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 (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
en la comunidad educativa (Ford, 2009).
PLOPP
Plopp es una herramienta que permite crear dibujos en 3D a partir de 2D,
diseñada sobre todo para el uso de los más pequeños. Plopp en ningún momento
23
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. 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 manejo de la herramienta.
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.
Alice
Alice, como Scratch, es un lenguaje de programación libre y abierto; también
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 como el "drag&drop", con la que se mueven objetos
arrastrando y soltando. 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 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.
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, investigación y entorno corporativo. Pretende modificar nuestra manera
de manejar el ordenador adentrándonos 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 compartir y se está construyendo a través de una comunidad que se basa en
24
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 usuarios, haciendo posible el desarrollo distribuido a larga escala, rico en
funciones y entornos virtuales.
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
sencillo como puede ser Phrogram a los lenguajes más avanzados sea sencilla,
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 o por estudiantes que desean dar sus primero pinitos en la
programación. También está siendo muy usado en las escuelas, en cualquier nivel
educativo, desde primaria y secundaria hasta la universidad.
25
3.2. Materiales y métodos
Para la obtención de los datos con los que se han realizado el estudio, se ha
dispuesto de los siguientes datos:
Nota media académica del curso de la asignatura de matemáticas
Nota media académica del curso de la asignatura de informática
Si bien es cierto que un nuevo modelo educativo que debería centrarse en la
adquisición de competencias y no en la transferencia de un temario conlleva una
evaluación diferente en la que el alumno adquiere más protagonismo (Martín y
Martínez, 2011), es la realidad y la información de la que dispongo.
La nota media informática representa, al 100%, la nota de programación, puesto
que en base a las competencias adquiridas en la misma se ha realizado la
calificación. Es decir, la nota de informática es la nota resultante de la
programación. Ante la manera tradicional de evaluar, se realiza una evaluación por
proyectos, en grupo y una autoevaluación, más acorde con la materia y lo trabajado
en el aula. La calificación se desglosa de la siguiente manera:
Nota del profesor: 60%, en base a todos los programas realizados, el proyecto
y la evaluación de las competencias adquiridas.
Nota del grupo: 20%, en base a la nota acordada por los demás grupos, en
base al proyecto, las directrices que se daban, lo realizado y lo realizado por
los demás.
Nota del alumno: 20%, en base a lo aprendido y su autoevaluación.
26
3.3. Resultados y análisis
A continuación se muestran todos los datos de partida recogidos tras dos años
para la investigación (ver tabla 1). El número tras el nombre de la asignatura hace
referencia al curso (1 corresponde a 1º de la ESO, cursado el 2010-11 y 2 a 2º de la
ESO, cursado el 2011-12). Como ya se ha explicado anteriormente, para mantener el
anonimato, cada alumno posee un código alfanumérico único compuesto por el
código del grupo y un número entero (A1, B1, A2, B2, …).
Tabla 1. Resultados académicos referentes a los cursos 2010-11 y 2011-12.
MATE1 MATE2 INFOR 1 INFOR 2
A1 5,50 5,20 6,00 5,00
A2 5,70 5,80 6,00 6,00
A3 7,50 8,00 7,00 8,00
A4 8,70 9,60 9,00 9,00
A5 6,50 6,60 7,00 7,00
A6 5,80 5,90 6,00 6,00
A7 8,20 8,70 8,00 9,00
A8 6,60 6,90 7,00 7,00
A9 6,10 5,70
A10 7,10 7,70
A11 6,90 7,10
A12 5,20 4,90
A13 4,50 8,10
A14 8,30 7,00
A15 7,50 7,00
27
A16 6,00 4,70
A17 4,90 4,80
A18 5,40 5,30
A19 7,80 7,50
A20 6,30 6,30
A21 6,20 6,30
A22 5,90 5,80
A23 5,90 5,80
B1 6,50 6,50 7,00 7,00
B2 6,10 6,00 8,00 7,00
B3 5,40 4,90 6,00 5,00
B4 7,20 6,90 7,00 7,00
B5 6,20 6,30 7,00 8,00
B6 8,50 9,00 9,00 10,00
B7 5,60 5,00 6,00 5,00
B8 6,10 6,20 6,00 7,00
B9 8,30 8,20
B10 7,20 7,20
B11 6,10 6,20
B12 5,10 5,20
B13 5,80 5,80
B14 6,10 7,00
28
B15 5,70 6,00
B16 5,40 5,50
B17 7,00 6,40
B18 7,30 7,50
B19 5,50 5,10
B20 8,00 8,10
B21 8,50 8,70
B22 5,40 5,10
B23 5,50 5,60
Media 6,46 6,50 7,00 7,06
Media CON INFOR 6,63 6,72
MEDIA SIN INFOR 6,36 6,39
Como se observa, los alumnos han obtenido unos resultados medios anuales
de 6,46 y 6,50 en matemáticas en 1º y 2º de la ESO, respectivamente. De la misma
manera, las calificaciones medias en informática han sido de 7.00 y 7.06. En el
siguiente gráfico (ver gráfico 1) se visualizan los resultados medios en matemáticas
tanto de todo el grupo de muestra, como los subgrupos de muestra compuestos por
los alumnos que cursan informática y los que no.
29
Gráfico 1. Evolución de la calificación media de matemáticas en relación al cursado
de informática.
De estos datos se desprende el siguiente análisis:
- los alumnos que cursan informática obtienen mejores resultados en matemáticas.
Dicho análisis no demuestra una relación de causalidad.
- existe una mejora cuantificable en las calificaciones de matemáticas en general de
todos los alumnos de un curso académico al siguiente. Dicha mejora, es de 0.03
puntos del alumnado que no ha cursado informática y del triple, 0.09 puntos. Dadas
las pocas horas lectivas de las clases de programación y el carácter de la materia, se
puede suponer que la transferencia de capacidades a otras materias se produzca en
un largo plazo y no sea inmediato.
Coeficiente de correlación de Pearson
Por tanto, y si bien es cierto que de partida las notas medias generales de
matemáticas son ligeramente superiores las de los alumnos que cursan informática,
es el segundo año donde se pueden apreciar los resultados. No obstante, es necesario
demostrar la relación estadísticas de las variables utilizadas (Hardy, Heyes,
Humphreys y Rookes, 1997), para lo que se procede a calcular el coeficiente de
correlación de Pearson (ver Imagen 1).
30
Con dicho coeficiente, podemos medir la relación lineal de dos variables
aleatorias cuantitativas (los resultados de matemáticas y los de informática). Dado
que las variables han sido obtenidas sobre la misma escala, 0-10, el resultado es el
mismo que el de la covarianza. Este coeficiente nos indica el grado de relación estas
dos variables cuantitativas.
Imagen 1. Fórmula para el cálculo del índice de correlación de Pearson.
En la siguiente tabla (ver tabla 2) se muestran todos los datos necesarios para
el cálculo del coeficiente de correlación de Pearson. Las variables x e y
corresponden a las notas medias anuales de los alumnos de matemáticas e
informática, respectivamente.
Tabla 2. Datos intermedios para el cálculo final del índice de correlación de
Pearson.
CURSO 2010-11
xi yi xi2 yi
2 xiyi
5,50 6,00 30,25 36,00 33,00
5,70 6,00 32,49 36,00 34,20
7,50 7,00 56,25 49,00 52,50
8,70 9,00 75,69 81,00 78,30
6,50 7,00 42,25 49,00 45,50
5,80 6,00 33,64 36,00 34,80
8,20 8,00 67,24 64,00 65,60
6,60 7,00 43,56 49,00 46,20
6,50 7,00 42,25 49,00 45,50
6,10 8,00 37,21 64,00 48,80
5,40 6,00 29,16 36,00 32,40
7,20 7,00 51,84 49,00 50,40
6,20 7,00 38,44 49,00 43,40
8,50 9,00 72,25 81,00 76,50
31
5,60 6,00 31,36 36,00 33,60
6,10 6,00 37,21 36,00 36,60
∑xi 106,10 112,00 721,09 800,00 757,30
(∑xi)2 11257,21 12544,00
CURSO 2011-12
xi yi xi2 yi
2 xiyi
5,20 5,00 27,04 25,00 26,00
5,80 6,00 33,64 36,00 34,80
8,00 8,00 64,00 64,00 64,00
9,60 9,00 92,16 81,00 86,40
6,60 7,00 43,56 49,00 46,20
5,90 6,00 34,81 36,00 35,40
8,70 9,00 75,69 81,00 78,30
6,90 7,00 47,61 49,00 48,30
6,50 7,00 42,25 49,00 45,50
6,00 7,00 36,00 49,00 42,00
4,90 5,00 24,01 25,00 24,50
6,90 7,00 47,61 49,00 48,30
6,30 8,00 39,69 64,00 50,40
9,00 10,00 81,00 100,00 90,00
5,00 5,00 25,00 25,00 25,00
6,20 7,00 38,44 49,00 43,40
∑xi 107,50 113,00 752,51 831,00 788,50
(∑xi)2 11556,25 12769,00
Una vez realizados los cálculos pertinentes, obtenemos unos coeficientes de
correlación de 0.87 para el primer año y 0.93 para el segundo. Ambos coeficientes
indican unas relaciones entre las variables positivas y fuertes, muy cercanas a la
relación directa, al 1. El índice indica relación lineal, es decir, que al aumentar una
variable se produce un aumento en la otra en proporción constante.
32
El aumento del índice el segundo año es rotundo. Que el índice sea más alto
el segundo año puede deberse al aprendizaje a largo plazo de la materia y la
aplicación de los conocimientos y competencias adquiridas.
Si bien es cierto que concluir que se produce una mejora clara en resultados gracias
al aprendizaje de la programación es demasiado aventurado, la relación entre las
materias es innegable y la transferencia de competencias un hecho cuantificable.
33
4. Propuesta práctica
En el siguiente apartado se desarrolla una propuesta práctica, ya aplicada con
éxito, para el uso de la programación de computadoras para la adquisición de otras
materias. El potencial que la programación posee consiste en hacer de
conocimientos matemáticos abstractos y, por lo general, más avanzados en el
currículo de matemáticas que los trabajados por los alumnos, necesidades aplicadas
para la resolución de problemas.
Por ejemplo, supongamos un alumno de primero de la ESO se enfrenta por
primera vez a la programación de un sensor consistente en un deslizador que
detecta valores desde 0 (totalmente abajo) hasta 100 (totalmente arriba). El alumno
desea que cuando el sensor deslizador está arriba del todo, su personaje en pantalla
se muestre arriba e inversamente cuando baja el sensor. Pero, su pantalla es una
matriz de coordenadas que oscilan desde los (-180,180) en su eje y. El alumno
requiere de una transformación lineal que puede obtener a partir de dos puntos, por
ejemplo:
- Cuando detecto 100, quiero 180
- Cuando detecto 0, quiero -180
El alumno que sea capaz, tras analizar su problema y las solución, de
construir una fórmula (la de una recta a partir de dos puntos conocidos), habrá
interiorizado el concepto y aplicación de la misma. Más allá incluso, está
familiarizándose, implícitamente, con otros conceptos como las coordenadas y la
prioridad de operadores.
Actividad: Guess who?
Objetivos
Utilización de analogías para resolución de problemas complejos
Comprensión de modelos de procesamiento de la información por parte de
las computadoras
Introducción a la probabilidad y la estadística aplicada
Análisis de métodos de organización de la información y diseño de
algoritmos
34
Adquisición de conceptos avanzados de programación: iteraciones,
secuencias alternativas, uso de variables,...
Valorar la excelencia en una solución técnica óptima
Introducción a la inteligencia artificial
Adquisición de hábitos de trabajo en grupo para la resolución de problemas
con trabajo cooperativo en red
Resumen
La actividad consiste en construir una solución a un problema complejo a
partir de una analogía con un juego conocido por todos y de solución abordable.
La actividad se llevó a cabo siguiendo esta programación con un grupo pequeño de 8
alumnos de segundo de la ESO del colegio La Salle Zarautz durante clases de
informática el curso 2011-12.
Paso 1: Presentación del problema
Primeramente se les ha de plantear un problema a los alumnos. Se presenta
Akinator, el genio de la web (http://es.akinator.com/, ver imagen 2). Akinator es un
software que, a través de preguntas y respuestas, es capaz de resolver el personaje en
el que estás pensando.
35
Imagen 2. Captura de pantalla de la página web del genio Akinator.
Paso 2: Análisis
Tras el análisis por parte del alumnado, jugando y viendo como está
construido, se les plantean las siguientes cuestiones:
-¿Cómo funciona Akinator?
-¿Por qué acierta todo?
- ¿Cómo consigue hacerlo en tan pocas preguntas?
Y, finalmente, lo en lo que nos debemos centrar:
- ¿Cómo está programado?
Paso 3: Búsqueda de analogías
Los alumnos deben de llegar a la conclusión de que el programa no “acierta”
en base a esoterismos ni nada por el estilo, sino que posee una gran base de datos y
un algoritmo, en forma de árbol, enorme, de preguntas y respuestas. La velocidad
dependerá de lo óptimo de dicho algoritmo, pero esas cuestiones serán analizadas
36
posteriormente.
Se pedirá al alumnado buscar analogías asumibles, es decir, problemas similares que
conozcan y puedan ser, por volumen, abordados y desarrollados por nosotros.
Al final se llegará a un juego por todos conocidos: el quién es quién (ver Imagen 3).
Imagen 3. Personajes del conocido juego ¿Quién es quién? utilizado en esta unidad.
Paso 4: análisis en profundidad de características del juego
Pese a que el juego ¿quién es quién? es un juego de contrincantes, nosotros lo
planteamos como se muestra Akinator, es decir, el ordenador es “el contrincante”.
A cada alumno se le pedirá, en primer lugar, que diseñe un algoritmo que cubra
todos los casos. Deberán plantear una situación genérica que no pueda variar
durante el proceso, es decir, no un algoritmo que varía según las respuestas del
usuario (inabarcable por su complejidad pero óptimo en términos de inteligencia
artificial), sino un algoritmo estático.
Paso 5: evaluación de los algoritmos e introducción de conceptos
estadísticos
Tras el diseño por parte de los alumnos del árbol de preguntas hemos de
plantearles diferentes preguntas:
¿Qué preguntas han realizado primero y por qué?
¿En qué han basado la elección de una pregunta y no otra?
¿Cuál es la primera pregunta en Akinator? ¿Por qué?
37
Debemos llegar a la conclusión que la mejor pregunta es la que cuya
probabilidad de respuestas positivas y negativas está más equilibrada, puesto que la
probabilidad de descartes es más alta.
También han de tener una manera, una vez construidos los árboles, de
evaluarlos. La evaluación de los árboles supone calcular el número de preguntas
medias necesarias para llegar a cada hoja del árbol, es decir, “adivinar” el personaje.
Cada alumno calculará su media y obtendrá así la calificación de su árbol.
Esto supone entender conceptos de probabilidad y media estadística aplicados a la
resolución de problemas.
Imagen 4. Diferentes soluciones propuestas por los alumnos.
Paso 6: construcción del algoritmo óptimo
Una vez analizados las soluciones, hemos de diseñar una solución óptima
basándonos en la estadística para todos los resultados posibles. Para ellos, esta vez
entre todos los alumnos de manera cooperativa, tabularemos los personajes en
función de sus características por las que pueden ser preguntados y calcular las
probabilidades (ver Código 1). Es un trabajo iterativo de construcción de tablas
alternativas.
38
Tras el diseño final del algoritmo, se calculará la media de preguntas necesarias para
todos los resultados y comprobar así que el algoritmo es óptimo.
% Dataset used for the activiry "Guess who? - an introduction of AI to kids"
@relation guessWho
@attribute name string
@attribute gender {M,F}
@attribute eye_color {blue, brown}
@attribute hair {bald, black, blonde, brown, ginger, grey}
@attribute facial_hair {mustache, knob, beard, no}
@attribute hat {no, yes}
@attribute glasses {no, yes}
@data
Samuel,M,brown,bald,no,no,yes
Pepe,M,brown,blonde,no,no,yes
Pablo,M,brown,grey,no,no,yes
Jorge,M,brown,grey,no,yes,no
Felipe,M,brown,black,beard,no,no
Clara,F,brown,ginger,no,yes,yes
Anita,F,blue,blonde,no,no,no
Alfredo,M,blue,ginger,mustache,no,no
Susana,F,brown,grey,no,no,no
Ricardo,M,brown,bald,beard,no,no
Paco,M,brown,brown,no,no,no
Manuel,M,brown,brown,mustache,no,no
German,M,brown,bald,no,no,no
David,M,brown,blonde,beard,no,no
Bernardo,M,brown,brown,no,yes,no
Alejandro,M,brown,black,mustache,no,no
Tomas,M,blue,bald,no,no,yes
Roberto,M,blue,brown,no,no,no
Pedro,M,blue,grey,no,no,no
Maria,F,brown,brown,no,yes,no
Guillermo,M,brown,ginger,knob,no,no
Ernesto,M,brown,blonde,no,yes,no
Carlos,M,brown,blonde,mustache,no,no
Ana,F,brown,black,no,no,no
Código 1. Especificación de los atributos de los personajes a estudiar, siguiento el
formato ARFF.
39
Imagen 5. Solución final del algoritmo y cálculo de las preguntas medias utilizadas
por el mismo.
Paso 7: Programación en Scratch
Con la solución “entre las manos”, cada alumno deberá proponer un
programa a modo de juego en el que cierto “genio” trate de resolver el personaje en
el que el usuario está pensando de entre el grupo finito de personajes que el juego
¿Quién es quién? posee.
Para ello, usaremos Scratch como entorno de desarrollo y programar los juegos.
Paso 8: Puesta en común y evaluación
Tras la programación, realizaremos una puesta en común y evaluación entre
todos de las diferentes soluciones programadas propuestas. Finalmente, los alumnos
subirán sus soluciones a la red social de Scratch para que la comunidad pueda tener
a su disposición las soluciones en caso de que las necesiten o quieran mejorarlas. Se
puede plantear como reto el diseño de un algoritmo más potente con la misma
muestra que el juego proporciona.
En el siguiente enlace los alumnos comentan la experiencia:
http://www.youtube.com/watch?v=ldR74vTmLXU
40
5. Conclusiones
Como a menudo suele pasar en la educación, es difícil llegar a conclusiones
puesto que la labor docente es caminar el camino y no tanto la consecución de
metas. No obstante, este trabajo supone un punto de inflexión en el trabajo que se
ha llevado realizando durante dos años y sí, que a modo de conclusión, se puede
asegurar:
Existe tecnología lo suficientemente madura para poder satisfacer las
necesidades docentes e impartir la materia en la ESO. El estudio muestra que
la tecnología de la programación ha ido madurando desde los años 60 y que
actualmente el software del que disponemos es potente, amigable y eficaz
para poder explotarlo en diferentes materias.
La programación de ordenadores es una materia altamente innovadora,
puesto que trabaja con las capacidades que han sido definidas como
necesarias para el alumnado del siglo XXI, como la creatividad y la
resolución de problemas reales.
Gracias a la programación se adquieren directamente competencias básicas.
El estudio deja claro, tanto en competencias generales, como en objetivos
específicos (analizando, como caso paradigmático y más representativo, el de
las matemáticas), que la programación mejora la competencia matemática,
competencia de aprender a aprender, la competencia TIC y la autonomía del
estudiante.
La necesidad de formación del profesorado es urgente. Tras la experiencia
como estudiante del máster y como docente, cabe resaltar que la situación
del profesorado respecto a las TIC no es óptima. Siendo la mayoría de los
profesores inmigrantes digitales (e incluso analfabetos digitales en algún
caso extremo) no se les ha dado formación suficiente para poder llevar a cabo
los objetivos educativos que les plantean.
Si bien es cierto que las motivaciones de las que partía el análisis han sido
satisfechas con las conclusiones de este estudio, la situación real a pie de aula no es
tan positiva. Es necesario un apoyo institucional y de los centros para que la materia
sea impartida sin trabas, ni técnicas ni burocráticas, dotando a los centros de ayudas
para la formación del personal y reconocimiento de la materia. Para ello, con un
personal docente capacitado y unas metodologías más acordes con nuestra realidad,
41
se puede conseguir motivar al alumnado a través del trabajo de sus capacidades de
orden superior.
42
6. Líneas de investigación futuras
Como ya se ha citado anteriormente, este trabajo es un punto en un largo camino. La
investigación realizada en el mismo es discreta y existe una necesidad de realizar
estudios, similares a los aquí expuestos. La muestra de la que se disponía era
limitada y, por tanto, las conclusiones están condicionadas a la misma. Queda una
puerta abierta al análisis de una muestra más amplia, con la que, probablemente, se
puedan demostrar mejor los beneficios de la impartición de la programación.
De la misma manera, se deberían realizar estudios cualitativos utilizando otros
métodos, también importantes en la estadística aplicada a la educación, para
conseguir una perspectiva más amplia de las consecuencias del aprendizaje de la
programación.
Finalmente, existe otra necesidad que queda latente, hay toda una didáctica de la
programación de ordenadores por estudiar y redactar, y que es el gran reto de futuro
con respecto a la materia llevada a estudio.
43
7. Bibliografía
ATORRASAGASTI, B. y SEDANO, B. (2011). Aprender programando Resvista NTIC
y Educación Fundación Cátedra Telefónica vol. I, pág. 6
CARNEIRO, R., TOSCANO, J.L. y DÍAZ, T. (2011). Los desafíos de las TIC para el
cambio educativo. Madrid: Santillana
DE ASÍS, F. y PLANELLS, J. (2000). Retos actuales de la educación técnico-
profesional. Madrid: Santillana
ESPAÑA. Boletín Oficial del Estado, núm. 5 de 5 de enero de 2007, páginas 677 a
773 (97 págs.) Ministerio de Educación y Ciencia
FORD, J. (2009). Scratch Programing. Boston (USA): Course Technology
HARDY, S., HEYES, S., HUMPHREYS, P. y ROOKES, P. (1997). Starting Statistics
in Psychology and Education: A Student Handbook London (UK): Oxford
University Press
MARTÍN, E. y MARTÍNEZ, F. (2011). Avances y desafíos en la evaluación
educativa. Madrid: Santillana
MARTÍN, M. (2009). Educación, ciencia, tecnología y sociedad. Madrid: Santillana
RICO, L. (2001). Bases teóricas del currículo de matemáticas en educación
secundaria. Madrid: Síntesis.
RICO, L. y LUPIAÑEZ, J. L. (2008). Competencias Matemáticas desde una
perspectiva curricular. Madrid: Alianza Editorial
SANDE, W. y SANDE, C. (2009). Hello World! Computer Programming for Kids
(and Other Beginners) Greenwich (USA): Manning Publications
VÉLAZ, C. y VAILLANT, D. (2011). Aprendizaje y desarrollo profesional docente.
Madrid: Santillana
44
8. Bibliografía complementaria
CAÑAS, A, MARTÍN-DÍAZ, M. J., y NIEDA, J. (2007). Competencia en el
conocimiento y la interacción con el mundo físico. Madrid: Alianza Editorial.
EDIE, A. (1997). Engineering fundamentals and problem solving USA: McGraw
Hill.
FERRATER, J. (1957). ¿Qué es la lógica? Argentina: Columba.
GARZA, R. y LEVENTHAL, S. (2000). Aprender cómo aprender. México: Trillas.
GOÑI, J.M., (2005). El espacio europeo de educación superior, un reto para la
universidad. Barcelona: Octaedro/ICE-UB.
GUZDIAL, M. (2000). Soporte tecnológico para el aprendizaje basado en proyectos
Argentina: Paidos.
IRANZO, J. (2005). Lógica simbólica para informáticos México: Alfaomega.
NIEDA, J y MACEDO, B. (1998). Un currículo científico para estudiantes de 11 a
14 años. Santiago: OEI-UNESCO.
PERRENOUD, P. (2004). Diez nuevas competencias para enseñar. Barcelona:
Graó.
SANMARTÍ, N. (2007). Evaluar para aprender, Colección Ideas Claves. Barcelona:
Graó.
STENBERG, R. (1997). Inteligencia exitosa. Madrid: Paidos.
ZABALA, A. y ARNAU, L. (2007). Cómo aprender y enseñar competencias,
Colección Ideas Claves. Barcelona: Graó.