Skip to content
Tecnología · 2o de Preparatoria

Ideas de aprendizaje activo

Funciones y Modularización

La modularización es abstracta para muchos estudiantes, por eso el aprendizaje activo funciona mejor cuando transforman teoría en práctica concreta. Este tema exige crear y reutilizar bloques de código, y las actividades propuestas obligan a los alumnos a pensar en cómo dividir problemas, algo que la clase magistral no logra con la misma claridad.

Aprendizajes Esperados SEPSEP EMS: Desarrollo de Software y Modularidad
25–50 minParejas → Toda la clase4 actividades

Actividad 01

Enseñanza entre Pares30 min · Parejas

Enseñanza entre Pares: Creación de Funciones Básicas

Los estudiantes trabajan en parejas para identificar tareas repetitivas en un programa simple, como calcular áreas. Definen una función con parámetros, la prueban con diferentes entradas y la integran al código principal. Al final, intercambian funciones para probar en el programa del compañero.

¿Por qué la modularidad es considerada una buena práctica en el desarrollo de software profesional?

Consejo de FacilitaciónDurante Creación de Funciones Básicas, pide a las parejas que intercambien sus funciones y las prueben con entradas diferentes para verificar su reutilización.

Qué observarPresenta a los estudiantes un fragmento de código con tareas repetitivas. Pídeles que identifiquen las secciones que podrían convertirse en funciones y que escriban la firma (nombre, parámetros, tipo de retorno) de al menos dos funciones que crearían para refactorizar el código.

ComprenderAplicarAnalizarCrearAutogestiónHabilidades de Relación
Generar Clase Completa

Actividad 02

Cabezas Numeradas Juntas45 min · Grupos pequeños

Grupos Pequeños: Refactorización Modular

Proporciona un código largo sin funciones. Los grupos lo dividen en funciones lógicas, discuten parámetros versus globales y reescriben el programa. Prueban ejecutándolo y comparan tiempos de depuración antes y después.

¿Cómo facilita el trabajo en equipo la división de un programa en funciones independientes?

Consejo de FacilitaciónEn Refactorización Modular, asigna roles específicos a cada miembro del grupo: un 'arquitecto' que diseña módulos y un 'probador' que verifica comportamientos con casos límite.

Qué observarEntrega a cada estudiante una tarjeta con el siguiente planteamiento: 'Imagina que estás construyendo un programa para calcular el área de diferentes figuras geométricas. Escribe una función que calcule el área de un rectángulo, especificando sus parámetros y el valor que retornaría.'

RecordarComprenderAplicarHabilidades de RelaciónAutogestión
Generar Clase Completa

Actividad 03

Cabezas Numeradas Juntas50 min · Toda la clase

Clase Completa: Simulación de Equipo

Asigna roles: unos crean funciones de entrada/salida, otros de lógica. Cada subgrupo entrega su función; la clase las integra en un programa final. Discuten desafíos de integración y soluciones colaborativas.

¿Qué riesgos implica el uso excesivo de variables globales frente a parámetros de función?

Consejo de FacilitaciónEn Simulación de Equipo, establece límites de tiempo estrictos para que los estudiantes vivan la presión de integrar módulos independientes, como en proyectos reales.

Qué observarPlantea la siguiente pregunta al grupo: '¿Qué pasaría si todos los programadores usaran solo variables globales en lugar de parámetros de función? Describe al menos dos problemas que podrían surgir en un proyecto de software grande y cómo la modularización con parámetros ayuda a prevenirlos.'

RecordarComprenderAplicarHabilidades de RelaciónAutogestión
Generar Clase Completa

Actividad 04

Cabezas Numeradas Juntas25 min · Individual

Individual: Desafío de Reutilización

Cada alumno recibe un problema con datos variados. Crea funciones reutilizables, las documenta y las aplica a casos nuevos. Comparte en plenaria una función exitosa y explica su diseño.

¿Por qué la modularidad es considerada una buena práctica en el desarrollo de software profesional?

Consejo de FacilitaciónPara Desafío de Reutilización, exige comentarios detallados que expliquen cómo cada función podría usarse en otro programa sin modificaciones.

Qué observarPresenta a los estudiantes un fragmento de código con tareas repetitivas. Pídeles que identifiquen las secciones que podrían convertirse en funciones y que escriban la firma (nombre, parámetros, tipo de retorno) de al menos dos funciones que crearían para refactorizar el código.

RecordarComprenderAplicarHabilidades de RelaciónAutogestió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

Empieza con problemas cotidianos que los estudiantes reconozcan como tediosos, como cálculos repetitivos de promedios o conversiones de unidades. Evita usar ejemplos técnicos al inicio; mejor apóyate en situaciones donde la modularidad resuelva frustraciones claras. La clave está en que entiendan que las funciones no son solo 'atajos', sino herramientas para organizar el pensamiento. Investiga de Nussbaum et al. (2014) muestra que los estudiantes aprenden mejor cuando ven el impacto directo de sus decisiones de diseño en la calidad del código.

Al final del tema, los estudiantes demostrarán que pueden diseñar funciones claras con parámetros y retornos, refactorizar código repetitivo en módulos reutilizables y explicar por qué esto mejora la legibilidad y el mantenimiento de un programa.


Cuidado con estas ideas erróneas

  • Durante Creación de Funciones Básicas, algunos estudiantes pueden pensar que las funciones solo sirven para acortar código.

    Pide a las parejas que comparen un fragmento de código repetitivo con su versión modularizada. Luego, haz que ejecuten ambas versiones con entradas distintas para que observen que el código modular no solo es más corto, sino más fácil de mantener y probar.

  • Durante Refactorización Modular, algunos pueden argumentar que las variables globales son más simples y seguras que usar parámetros.

    Entrega a cada grupo un código con variables globales y pide que simulen cambios concurrentes (como dos funciones modificando la misma variable). Luego, refactoriza el código usando parámetros y repite la simulación para que identifiquen cómo los parámetros aíslan los efectos secundarios.

  • Durante Simulación de Equipo, algunos podrían insistir en que todas las funciones deben ser independientes y sin valores de retorno.

    Asigna a cada grupo un problema que requiera encadenar funciones (por ejemplo, calcular el área de un círculo y luego su circunferencia). Pide que diseñen funciones que retornen valores y que dibujen el flujo de datos en un diagrama, mostrando cómo los retornos facilitan la composición de soluciones.


Metodologías usadas en este resumen