1_UE
1_andaluciasemueve1

Informática

Publicado el 4 de noviembre de 2015 | por fruiper744

0

Programación con Scratch y Python en el Isla

Datos del Proyecto

Nombre del proyecto: Programación con Scratch y Python
Centro (donde se desarrolla la experiencia): I.E.S. Isla de León
Localidad y provincia: San Fernando (Cádiz)
Nombre del docente que coordina el proyecto: Francisco Javier Ruiz Pérez
Estudiantes a los que va dirigido (nivel(es)/curso(s)): 3º y 4º de ESO
Número de estudiantes: 13
Página web/blog del proyecto:
Enlaces de interés vinculados con el proyecto:

Descripción de la Experiencia

Durante la quinta sesión comenzamos con Python. Antes de nada, vamos a empezar a utilizar un lenguaje de programación en el que tenemos que escribir líneas de código. Hasta ahora, durante estos dos cursos, hemos programado en Scratch, un lenguaje muy intuitivo creado especialmente para enseñar a programar a niños y jóvenes, y que se basa en arrastrar bloques para escribir los programas. Hemos aprendido a crear pequeños videojuegos o a manejar al robot mOway empleando este lenguaje. Vamos a dar un salto bastante grande empezando con Python.

Antes de lanzarnos a los ordenadores vamos a pensar en un problema. Se trata de que el ordenador nos pida un número entero, lo introduzcamos con el teclado y el ordenador nos responda diciendo la lista de sus divisores y si el número es primo o compuesto. Un problema sencillo pero pesado cuando el número es muy grande, y que todos hemos hecho alguna vez cuando estudiábamos matemáticas en los primeros cursos de la ESO.

La metodología de esta sesión consiste en escribir en papel lo que llamamos pseudocódigo, el conjunto de instrucciones que debemos dar al ordenador para que resuelva el problema. A continuación, lo escribiremos en Scratch, del que ya somos unos “expertos”. Por último, veremos cómo se hace en Python, y así apreciaremos la sencillez y efectividad de este lenguaje.

La primera parte salió bien. Todos los grupos lo consiguieron con mayor o menor dificultad.

Durante la segunda parte, lo primero que hicimos en varios ordenadores del aula de Informática fue instalar Python, en concreto la versión 3.4.3. La instalación no da problemas y podemos empezar a escribir líneas de código para ver cómo funciona. Nos tenemos que habituar a esta forma de programar. Vemos que las variables no hace falta declararlas al principio, basta con darles un nombre y un valor inicial. Hubo muchos problemas por la precisión requerida a la hora de escribir las líneas de código. Si no lo haces exactamente como el programa requiere, Python no lo entiende y nos da un error de sintaxis o no hace lo que le hemos pedido que haga. Finalmente se consiguió, el blog mostramos una captura del programa.

En la sexta sesión lanzamos dos retos. Nos dividimos en dos grupos y cada uno se ocupó de un reto en cada parte de la sesión. Durante la segunda parte, los grupos se podían ayudar entre ellos. Tratamos de que el profesor interviniera lo menos posible como viene siendo la metodología habitual. Se podían hacer preguntas pero no responderlas abiertamente sino dando pistas para desatascar a los grupos.

Reto 1: Escribir un programa en Python que resuelva la ecuación de segundo grado completa a partir de sus tres coeficientes. Debe decirnos el número de soluciones: si tiene dos soluciones reales, si tiene una única solución doble o si no tiene soluciones reales, y cuáles son.

Reto 2: Escribir un programa en Python que genere una lista con los primeros términos de la solución de Fibonacci: 1,1,2,3,5,8,13… Si alguien no conoce esta famosa sucesión numérica, se obtiene cada término sumando los dos anteriores.

Todos los alumnos conocían bien los problemas matemáticos que iban a resolver, además de gustarles la informática y la programación, son aficionados a las matemáticas la mayoría.

Los retos se consiguieron. Tuvimos que utilizar técnicas que aprendimos durante la sesión anterior con el programa de los divisores de un número: los comandos input y print, la estructura condicional con if, el uso de while y un contador con una condición para que el proceso se repita un número de veces, la creación de listas de números, etc.

Hay que decir que tuvimos muchas dificultades con la sintaxis y con el código para que funcionasen bien. Y nos estrujamos de lo lindo “el coco” para descubrir dónde fallaban los programas pero al final se consiguió.

En el blog mostramos los resultados.

Durante la séptima sesión empezamos el gran reto, para las próximas dos sesiones: hacer un juego que se llama Mastermind. Lo primero, familiarizarnos con él. Lo podemos encontrar por Internet, en versión para móviles e incluso como juego de mesa.

https://es.wikipedia.org/wiki/Mastermind

Estuvimos jugando un rato con él para ver la mecánica del juego. La mayoría de los alumnos lo conocía. El juego consiste en que el ordenador genere aleatoriamente una secuencia de 4 colores entre 8 posibles, pudiendo repetirse éstos. A continuación, el jugador debe averiguar qué colores son, para lo que dispone de una serie de intentos. Cada vez que el jugador intenta una combinación, el ordenador te dice cuántos colores ha acertado en su posición correcta (blacks) y cuántos ha acertado pero están mal colocados (whites).

El problema de hacerlo en Python es complejo y nos llevó las dos últimas sesiones. Durante la primera solo fuimos capaces de terminar la parte en la que el ordenador genera la combinación de cuatro colores al azar, el jugador introduce sus intentos, y el programa cuenta los aciertos en posición correcta (blacks).

Uf, no está mal, ¿no?

Bueno, llega la octava y última sesión y tenemos que terminar el Mastermind y preparar la presentación de nuestros logros a otros alumnos y alumnas. En lo segundo ya somos unos expertos puesto que ya presentamos los videojuegos con Scratch y los proyectos de mOway en la Feria de la Tecnología en Málaga.

Durante la primera parte de la sesión terminamos el proyecto Mastermind y conseguimos que funcionara. Durante la segunda parte preparamos la presentación, que tuvo lugar el día 19 de junio, uno de los últimos de clase. Dividimos el grupo en dos, aunque algunos repitieron, y cada parte presentó los trabajos a una clase.

Llegó el día de la presentación. Por un lado, a los alumnos de 2º AB y por otro a los de 2ºCDE. Se les enseñó lo que habían hecho con Scratch, mOway y Python y quedaron encantados. Ya tenemos muchos que quieren entrar en Profundiza el curso que viene si se hace, de hecho, algunos ya se quedaron fuera este curso porque no había plazas para todos.

Para terminar y como conclusión destacamos que:

  1. Se han cumplido los objetivos propuestos. Hemos introducido este curso la programación en Python a partir de problemas matemáticos sencillos y del juego Mastermind, así como mejorado y presentado los proyectos que hicimos con Scratch y mOway  durante el curso anterior.
  2. Ha sido positivo que algunos alumnos y alumnas repitan en el proyecto por segundo curso consecutivo porque han visto el fruto de su trabajo y han ayudado a los nuevos.
  3. Se han presentado los resultados en la Feria de Tecnología de Málaga y a otros alumnos y alumnas de nuestro centro. Esta experiencia la consideramos muy buena ya que ha habido que preparar las presentaciones y que explicar cómo se ha hecho. Además, incentiva a que el alumnado de cursos inferiores se anime a participar en esta clase de proyectos en el futuro.
  4. El alumnado participante ha hecho un gran esfuerzo este curso debido a que las sesiones se han celebrado entre marzo y junio en lugar de entre febrero y mayo como en el curso anterior. Esto ha supuesto acudir al centro por las tardes en los meses más fuertes de exámenes, pero aún así han acudido, por lo que hay que destacar su motivación.

Para ver todas las fotos tenemos el blog elislaprofundiza.wordpress.com, donde aparecen también las entradas correspondientes al otro programa que se ha llevado a cabo en nuestro centro durante el presente curso escolar.

Créditos: Imagen de shutterstock

Tags: , , ,


Sobre el colaborador

Profesor de matemáticas con interés en las nuevas tecnologías y los idiomas.



Deja un comentario

Volver arriba ↑