Skip to content
Tecnología · I Medio

Ideas de aprendizaje activo

Funciones y Modularización de Código

Trabajar con funciones y modularización en bloques prácticos permite a los estudiantes experimentar cómo el código organizado facilita la lectura, el mantenimiento y la reutilización. La interacción directa con ejemplos concretos, como refactorizar código repetitivo o diseñar módulos para problemas específicos, hace tangible lo abstracto de la programación estructurada.

Objetivos de Aprendizaje (OA)OA TEC 1oM: Pensamiento Computacional y Programación
20–45 minParejas → Toda la clase4 actividades

Actividad 01

Enseñanza entre Pares30 min · Parejas

Pair Programming: Crear Funciones Básicas

Los pares definen funciones para calcular áreas de figuras geométricas con parámetros. Luego, integran estas funciones en un programa principal que procesa múltiples entradas. Finalmente, prueban y depuran mutuamente.

¿Cómo contribuye la modularización a la escalabilidad de un programa?

Consejo de FacilitaciónEn Pair Programming: Crear Funciones Básicas, asegúrate de que cada pareja defina primero el propósito de la función antes de escribir líneas de código, usando tarjetas con ejemplos concretos.

Qué observarEntregue a cada estudiante una tarjeta con un problema simple (ej. calcular el área de un rectángulo). Pida que escriban el pseudocódigo o código para una función que resuelva este problema, incluyendo parámetros y valor de retorno.

ComprenderAplicarAnalizarCrearAutogestiónHabilidades de Relación
Generar Clase Completa

Actividad 02

Enseñanza entre Pares45 min · Grupos pequeños

Refactorización en Grupos: Código Monolítico a Modular

Proporciona un programa largo repetitivo. Los grupos lo dividen en funciones cohesivas, reduciendo líneas y mejorando acoplamiento. Comparten refactorizaciones y comparan métricas de eficiencia.

¿Qué ventajas ofrece el uso de funciones para evitar la repetición de código?

Consejo de FacilitaciónDurante Refactorización en Grupos: Código Monolítico a Modular, pide a cada grupo que explique en voz alta cómo su diseño mejora el código original, destacando la reducción de redundancias.

Qué observarPresente un fragmento de código repetitivo y pida a los estudiantes que identifiquen las líneas que podrían ser extraídas en una función. Luego, solicite que propongan un nombre para esa función y describan sus parámetros.

ComprenderAplicarAnalizarCrearAutogestiónHabilidades de Relación
Generar Clase Completa

Actividad 03

Enseñanza entre Pares25 min · Individual

Desafío Individual: Diseño de Módulos

Cada estudiante diseña funciones para un simulador simple de tienda, evaluando cohesión. Luego, intercambian y critican diseños en una ronda de feedback.

¿Cómo se evalúa la cohesión y el acoplamiento de las funciones en un diseño?

Consejo de FacilitaciónEn Desafío Individual: Diseño de Módulos, proporciona plantillas con espacios vacíos para parámetros y retorno, guiando a los estudiantes a pensar en la interfaz antes que en la implementación.

Qué observarPlantee la siguiente pregunta al grupo: 'Si tuvieras que construir una aplicación para gestionar una biblioteca, ¿qué funcionalidades principales podrías dividir en funciones separadas? ¿Por qué esta división haría el proyecto más manejable?'

ComprenderAplicarAnalizarCrearAutogestiónHabilidades de Relación
Generar Clase Completa

Actividad 04

Enseñanza entre Pares20 min · Toda la clase

Discusión en Clase: Evaluación de Diseños

Presenta ejemplos de código con alto y bajo acoplamiento. La clase vota y justifica mejoras modulares, compilando un checklist colectivo para diseños óptimos.

¿Cómo contribuye la modularización a la escalabilidad de un programa?

Consejo de FacilitaciónEn Discusión en Clase: Evaluación de Diseños, usa fragmentos de código en el pizarrón para comparar diseños modulares versus no modulares, usando colores para marcar acoplamiento y cohesión.

Qué observarEntregue a cada estudiante una tarjeta con un problema simple (ej. calcular el área de un rectángulo). Pida que escriban el pseudocódigo o código para una función que resuelva este problema, incluyendo parámetros y valor de retorno.

ComprenderAplicarAnalizarCrearAutogestiónHabilidades de Relación
Generar Clase Completa

Plantillas

Plantillas que acompañan estas actividades de Tecnología

Úsalas, edítalas, imprímelas o compártelas.

Algunas notas para enseñar esta unidad

Enseñar funciones y modularización funciona mejor cuando se enfoca en problemas reales y pequeños. Evite empezar con teoría abstracta; en su lugar, use ejemplos donde la repetición de código sea evidente y la solución modular sea claramente mejor. La práctica guiada con retroalimentación inmediata ayuda a internalizar conceptos como cohesión y acoplamiento. Investigaciones en pedagogía de programación sugieren que los estudiantes retienen mejor estos principios cuando los aplican en contextos donde ven el impacto directo de sus decisiones de diseño.

Al finalizar, los estudiantes demostrarán capacidad para definir funciones con parámetros claros, retornar valores útiles y dividir programas en módulos con alta cohesión y bajo acoplamiento. También podrán discutir por qué ciertas estructuras son más eficientes que otras en contextos dados.


Cuidado con estas ideas erróneas

  • Durante Pair Programming: Crear Funciones Básicas, algunos estudiantes pueden pensar que las funciones solo sirven para repetir código idéntico, no para organizar.

    En esta actividad, entregue a cada pareja un código repetitivo (ej. calcular el área de varios rectángulos) y pídales que identifiquen patrones para extraer una función. Luego, discutan cómo el nombre de la función y sus parámetros comunican su propósito, no solo su repetición.

  • Durante Refactorización en Grupos: Código Monolítico a Modular, algunos pueden creer que más parámetros en una función la hacen mejor.

    En esta actividad, pida a cada grupo que compare su función original con múltiples parámetros versus una versión simplificada. Usando una tabla en el pizarrón, registre cómo el exceso de parámetros complica las llamadas y propicie errores, reforzando que menos parámetros suelen ser más claros.

  • Durante Desafío Individual: Diseño de Módulos, algunos pueden preferir usar variables globales antes que pasar parámetros.

    En esta actividad, entregue a los estudiantes un código con variables globales y pídales que lo modifiquen para usar parámetros. Luego, ejecute pruebas con ambos diseños para mostrar cómo los globales generan efectos colaterales, mientras que los parámetros aíslan el comportamiento.


Metodologías usadas en este resumen