Skip to content
Tecnología y Digitalización · 2° ESO

Ideas de aprendizaje activo

Creación de Funciones y Procedimientos

En programación, la creación de funciones y procedimientos exige un cambio de mentalidad: pasar de resolver problemas lineales a diseñar soluciones modulares. Los alumnos aprenden mejor cuando experimentan la frustración de repetir código y descubren por sí mismos cómo las funciones lo simplifican, haciendo este tema ideal para el aprendizaje activo.

Competencias Clave LOMLOELOMLOE: ESO - ModularidadLOMLOE: ESO - Reutilización de código
25–50 minParejas → Toda la clase4 actividades

Actividad 01

Flipped Classroom30 min · Parejas

Parejas: Refactorización Inicial

Los alumnos reciben un programa con código duplicado, como dibujar múltiples formas. Identifican repeticiones, crean una función para la tarea común y la aplican en todo el código. Prueban el programa refactorizado y comparan con la versión original.

Explica cómo el uso de funciones reduce la duplicidad de código y mejora la legibilidad.

Consejo de facilitaciónDurante la actividad de Parejas, proporciona un código inicial con repeticiones evidentes y pide a los alumnos que identifiquen primero qué acciones son idénticas antes de refactorizarlo en funciones.

Qué observarEntrega a cada estudiante una tarjeta con el siguiente enunciado: 'Imagina que estás creando un programa para una fiesta. Escribe una función llamada 'saludar' que imprima "¡Hola!". Luego, escribe una línea de código que llame a esta función dos veces para saludar a dos invitados.' Evalúa si la sintaxis es correcta y si la función se llama dos veces.

ComprenderAplicarAnalizarAutogestiónAutoconciencia
Generar clase completa

Actividad 02

Flipped Classroom45 min · Grupos pequeños

Grupos Pequeños: Biblioteca Compartida

Cada grupo diseña tres funciones útiles, como rotar objetos o detectar colisiones. Comparten la biblioteca en un proyecto común y la reutilizan para crear un juego simple. Discuten mejoras colectivas.

Diseña un programa que utilice funciones para realizar tareas repetitivas o complejas.

Consejo de facilitaciónEn la Biblioteca Compartida, asigna roles claros: un alumno escribe la función y otro la documenta con comentarios breves, rotando en la siguiente ronda.

Qué observarMuestra en pantalla dos fragmentos de código que realicen la misma tarea: uno con código duplicado y otro utilizando una función. Pregunta a los alumnos: '¿Cuál de estos códigos es más fácil de leer y por qué? ¿Qué ventaja principal ofrece el segundo código?' Observa las respuestas para verificar la comprensión de la legibilidad y la reutilización.

ComprenderAplicarAnalizarAutogestiónAutoconciencia
Generar clase completa

Actividad 03

Flipped Classroom50 min · Toda la clase

Clase Completa: Desafío de Modularidad

Proyecta un programa complejo sin funciones. La clase propone y vota funciones para modularlo paso a paso. Todos implementan en sus ordenadores y evalúan el resultado en plenaria.

Analiza las ventajas de la modularidad en el desarrollo de proyectos de programación grandes.

Consejo de facilitaciónEn el Desafío de Modularidad, prohíbe el uso de variables globales y observa cómo los grupos organizan sus funciones para cumplir el objetivo sin violar esta regla.

Qué observarPlantea la siguiente pregunta para debate en pequeños grupos: 'Si tuvieras que construir un programa muy grande, como un simulador de vuelo sencillo, ¿cómo te ayudaría la creación de funciones y procedimientos a organizar tu trabajo y a evitar errores?' Pide a cada grupo que comparta una ventaja clave que hayan identificado.

ComprenderAplicarAnalizarAutogestiónAutoconciencia
Generar clase completa

Actividad 04

Flipped Classroom25 min · Individual

Individual: Procedimiento Personalizado

Cada alumno crea un procedimiento para una animación personal, como un baile de personajes. Lo integra en un programa mayor y documenta sus ventajas en un informe breve.

Explica cómo el uso de funciones reduce la duplicidad de código y mejora la legibilidad.

Consejo de facilitaciónPara la actividad individual, pide a cada alumno que explique su procedimiento personalizado usando un diagrama de flujo sencillo antes de codificarlo.

Qué observarEntrega a cada estudiante una tarjeta con el siguiente enunciado: 'Imagina que estás creando un programa para una fiesta. Escribe una función llamada 'saludar' que imprima "¡Hola!". Luego, escribe una línea de código que llame a esta función dos veces para saludar a dos invitados.' Evalúa si la sintaxis es correcta y si la función se llama dos veces.

ComprenderAplicarAnalizarAutogestiónAutoconciencia
Generar clase completa

Algunas notas para enseñar esta unidad

Este tema funciona mejor cuando se enseña desde la necesidad concreta: mostrar códigos largos y repetitivos para que los alumnos sientan la incomodidad de mantenerlos. Evita definir primero las funciones como concepto abstracto. En su lugar, usa ejemplos cotidianos como recetas de cocina o instrucciones de montaje para explicar procedimientos, y luego traslada esa lógica a código. La investigación en didáctica de la programación recomienda combinar la práctica inmediata con reflexiones guiadas sobre cómo cada fragmento modular contribuye a la solución global.

Al finalizar las actividades, los estudiantes serán capaces de definir funciones con parámetros, crear procedimientos para secuencias complejas y explicar por qué la modularidad mejora la legibilidad y el mantenimiento del código. La evidencia de aprendizaje incluye no solo la corrección sintáctica, sino también la justificación oral o escrita de sus decisiones.


Atención a estas ideas erróneas

  • Durante la actividad de Parejas: Refactorización Inicial, observa si los alumnos creen que las funciones solo sirven para copiar y pegar código idéntico.

    Pide a cada pareja que modifique los parámetros de sus funciones (ej: cambiar el color o la velocidad del sprite) y que registren cómo un mismo fragmento de código puede adaptarse a tareas similares pero no idénticas.

  • Durante la actividad Grupos Pequeños: Biblioteca Compartida, algunos alumnos pueden insistir en que en programas cortos no necesitan modularizar.

    En la fase de debate, muestra dos versiones de un mismo programa: una monolítica y otra modularizada. Cronometra el tiempo que tardan los grupos en corregir un error en ambas versiones y pide que comparen los resultados.

  • Durante el Desafío de Modularidad en Clase Completa, algunos confunden funciones con procedimientos.

    Antes de empezar, pide a cada grupo que escriba en una pizarra qué esperan que devuelva cada fragmento de código: un valor, una acción o ambos. Luego, comparad las predicciones con los resultados reales al ejecutar los programas.


Metodologías usadas en este resumen