TEMA 10. PROGRAMACIÓN

 INTRODUCCIÓN

El Real Decreto 95/2022 de 1 de febrero, BOE de 2 de febrero de 2022, del Ministerio de Educación y Formación profesional establece la ordenación y las enseñanzas mínimas de Educación Infantil. El área 2 de “descubrimiento y exploración del entorno” incluye la siguiente competencia específica 2, que reproducimos: “2. Desarrollar, de manera progresiva, los procedimientos del método científico y las destrezas del pensamiento computacional, a través de procesos de observación y manipulación de objetos, para iniciarse en la interpretación del entorno y responder de forma creativa a las situaciones y retos que se plantean. Sentar las bases del pensamiento científico, la iniciativa investigadora y la curiosidad por el conocimiento es inherente al desarrollo de la etapa Educación Infantil. A lo largo de la etapa, el alumnado deberá encontrar soluciones o alternativas originales y creativas a diferentes cuestiones, retos o situaciones. Y lo hará mediante la aplicación de procesos inicialmente sencillos y manipulativos, que progresivamente ganarán en complejidad y requerirán mayor capacidad de abstracción. Dichos procesos son propios tanto de las destrezas de pensamiento computacional y de diseño como del método científico, y se aplicarán descomponiendo una tarea en otras más simples, formulando y comprobando hipótesis, explorando e investigando, relacionando conocimientos y planteando ideas o soluciones originales.”

Los alumnos no sólo conocerían los mundos físico, biológico y social sino también el mundo digital, cada vez más presente en nuestra sociedad, beneficios económicos, educativos, sociales y personales.

veremos la realización de programas muy sencillos en dos lenguajes de programación, Code.org y ScratchJr. Con Code.org, los programas permiten resolver puzles, mientras que con ScratchJr podemos desarrollar programas propios.


OBJETIVO DOCENTE Y RESULTADOS DE APRENDIZAJE

Objetivo docente:

  • Aprender algunos principios básicos de la programación de computadores mediante lenguajes basados en bloques. 

Resultados de aprendizaje:

  • Comprender conceptos básicos de programación.
  • Resolver puzles mediante bloques en Code.org. 
  • Comprender el comportamiento de los bloques de ScratchJr. 
  • Desarrollar programas sencillos de bloques usando ScratchJr.

PUZLES DE CODE.ORG
Es una organización no gubernamental estadounidense. Entre sus objetivos se encuentran incluir la informática como materia obligatoria en el plan de Educación Secundaria estadounidense y una mayor participación de las mujeres en los estudios de informática.

Entre sus campañas se encuentran la “Hora del código”, que pretende que estudiantes de todo el mundo participen haciendo un curso gratuito de programación. Para ello se utilizaron imágenes de juegos y películas populares, como La Edad de Hielo, Plantas contra Zombis, Angry Birds o Minecraft. En informática, código y programa son sinónimos.

Puzles
Un puzle es un problema planteado de forma precisa y que puede resolverse siguiendo reglas claramente definidas. 

Conceptos de programación
Todos estos puzles deben entenderse y resolverse de forma similar. Aunque hemos resuelto los puzles de Scrat de forma intuitiva, pueden darse normas más precisas. Más aún, estas normas corresponden a principios básicos de programación.

Un programa es un conjunto de instrucciones que debe realizar el ordenador. El objetivo de estas instrucciones es resolver algún problema expresado sin ambigüedad. Las instrucciones se expresan en un formato fijo, siguiendo las reglas de un lenguaje de programación. El proceso de desarrollar un programa se llama programar.

Una instrucción se representa mediante un bloque. el programa es el conjunto de bloques que colocamos en el espacio de trabajo, ensambladas bajo el bloque “Ejecutar”. Cada bloque indica al ordenador en qué dirección Scrat debe avanzar un paso. El objetivo de cada programa será resolver un problema en el micromundo de Scrat, dadas unas posiciones iniciales de ambos y las casillas donde Scrat puede pisar sin caer al agua. El conjunto de bloques que pueden usarse define el lenguaje de programación de estos puzles.

Es importante observar que un programa tiene un aspecto estático y un aspecto dinámico. En Code.org, el programa se construye en el espacio de trabajo, donde podemos leerlo de arriba abajo, bloque a bloque. El ordenador tomar el programa y realiza las acciones correspondientes a cada bloque, uno detrás de otro. Este proceso se denomina ejecutar un programa. Por tanto, un programa es un “texto” estático que construimos pero que después se va a “ejecutar”, mostrando el comportamiento de las acciones que describe.

Los bloques que forman un programa deben ensamblarse en un orden preciso para que resuelvan el problema planteado, ya que los bloques se ejecutan uno a uno en secuencia, de arriba abajo. La ejecución de un bloque es indivisible, es decir, un bloque se ejecuta como una unidad.

Sólo hemos visto 4 instrucciones, que son los bloques de movimiento. Cada uno se identifica fácilmente mediante una flecha dibujada dentro del bloque. Además, se presenta la letra que representa el punto cardinal correspondiente a cada movimiento.

Bucles
Los problemas planteados anteriormente se han podido resolver con uno o varios bloques de movimiento colocados en secuencia. Sin embargo, repetir el mismo tipo de paso muchas veces puede hacerse rutinario y pesado.

Conceptos de programación
un bucle también se llama instrucción iterativa (repite o itera cierto número de veces la ejecución de las instrucciones que engloba) Cada vez que se ejecutan las instrucciones que engloba, se dice que el bucle realiza una iteración. La ejecución de un bucle es algo más compleja que la de un bloque de movimiento. Un bloque de movimiento es una instrucción cuya ejecución es indivisible, produciendo como resultado el avance de un paso por Scrat en alguna dirección. Un bucle es una instrucción compuesta porque engloba una instrucción o una secuencia de instrucciones.

Un bucle se ejecuta:
  1.  Empezamos la primera iteración, podemos contarla con un contador "i"
  2. Ejecutamos en secuencia las instrucciones englobadas por el bucle.
  3. Si la iteración realizada debe ser la última, es decir, si i=n, termina la ejecución del bucle y continuamos ejecutando el bloque que esté ensamblado en la parte inferior del bucle.
El estado de un programa también debe tener en cuenta la iteración en que se encuentra cada bucle. Añadirse:
  • Número de interacciones realizadas: cuando se está ejecutando un bucle, no se resalta el propio bloque de bucle, sino la instrucción entre las que engloba que se está ejecutando en ese momento. 
  • el estado de la ejecución de un programa. Podemos considerar que un programa está en uno de los siguientes estados respecto a su ejecución:
    • Estado inicial. Es el estado en que arranca la ejecución de un programa, 
    • Estado intermedio. El programa está en ejecución pero aún no ha terminado.
    • Estado final de éxito. El programa ha acabado habiendo alcanzado el objetivo buscado, es decir.
    • Estado final de fracaso. El programa ha acabado, sin haber alcanzado el objetivo buscado. 

EL LENGUAJE DE PROGRAMACIÓN SCRATCHJR

lenguaje de programación visual diseñado para introducir a la programación a niños de 5 a 7 años de edad.  Se representa con un gato.

Bloques equivalentes en Code.org y ScratchJr
Tienen equivalencias pero también diferencias. Como,  “Ejecutar” de Code.org y “Al presionar bandera verde” de ScratchJr.

El entorno de programación de ScratchJr
El usuario puede desarrollar cualquier programa. En general, los lenguajes de programación permiten desarrollar cualquier programa que ideemos. Un programa de ordenador que permite desarrollar programas en un lenguaje de programación dado es un entorno de programación de ese lenguaje.

Significado de los elementos:
  • Guardar. Guarda el proyecto y vuelve a la página principal. 
  • Escenario. Es el área de la pantalla donde ocurre la acción.
  • Modo de presentación. Permite ampliar el escenario a pantalla completa.
  • Cuadrícula. Permite mostrar u ocultar una cuadrícula con las coordenadas X-Y. 
  • Cambiar fondo. Permite seleccionar o crear una imagen de fondo para el escenario.
  • Añadir texto. Permite escribir títulos y etiquetas en el escenario.
  • Reiniciar personajes. Sitúa todos los personajes en sus posiciones originales del escenario.
  • Bandera verde. Empieza la ejecución de todos los guiones 
  • Páginas. Permite seleccionar una página del proyecto o añadir una nueva. 
  • Información del proyecto. Permite cambiar el título del proyecto, ver cuándo se creó y compartirlo 
  • Deshacer y rehacer. “Deshacer” permite anular la última acción realizada, mientras que “Rehacer” permite restaurar la última acción anulada. 
  • Guiones. Los guiones presenten en esta área forman el programa de la página actual.
  • Zona de programación. Los bloques de programación se arrastran a esta zona y se encajan con otros.
  • Paleta de bloques. Muestra los bloques de la categoría seleccionada, para que el usuario los arrastre a la zona de programación. 
  • Categorías de bloques. Muestra las categorías de bloques de ScratchJr para que el usuario seleccione en cada momento la más adecuada. Hay seis categorías de bloques; de izquierda a derecha: disparadores (bloque de color amarillo), de movimiento (azul), de apariencia (rosa), de sonidos (verde), de control (naranja) y de finalización (rojo). 16. Personajes. Muestra los personajes del proyecto y permite crear uno nuevo.

Bloques de movimiento, apariencia y de sonido
  • Bloque de apariencia: permite cambiar el aspecto de los personajes
  • bloque de sonido: permite emitir sonidos

Estado de un programa

 Es el conjunto de valores relevantes para controlar la ejecución del programa. 
 El estado de un programa ScratchJr en ejecución viene dado principalmente por dos tipos de información: 
  • Estado de cada personaje. El estado de cada personaje viene dado por varias características: posición en los ejes X e Y, su orientación, su tamaño, si es visible y si está diciendo algo. 
  • Estado del guión en ejecución. Los bloques de un guión se ejecutan en secuencia, por lo que en cada momento hay un bloque activo. Además, en el caso de bucles “Repetir”, debe saberse qué iteración está realizando en cada momento.











Comments

Popular posts from this blog

STORYBIRD