Skip to content
Tecnología · 2o de Secundaria

Ideas de aprendizaje activo

Optimización de Algoritmos

La optimización de algoritmos requiere que los estudiantes experimenten directamente con el rendimiento de los programas, ya que entender la eficiencia no es solo teórico sino práctico. Cuando comparan algoritmos en tiempo real, observan cómo pequeños cambios en el código afectan resultados medibles, lo que refuerza la conexión entre teoría y aplicación concreta.

Aprendizajes Esperados SEPSEP Secundaria: Pensamiento Computacional y ProgramaciónSEP Secundaria: Evaluación de Sistemas Tecnológicos
30–50 minParejas → Toda la clase4 actividades

Actividad 01

Resolución Colaborativa de Problemas45 min · Grupos pequeños

Comparación de Ordenamientos: Burbuja vs Inserción

Proporciona listas desordenadas en pseudocódigo. Los grupos implementan ambos algoritmos, cronometran ejecuciones con datos crecientes y registran iteraciones. Discuten mejoras como reducir comparaciones innecesarias.

¿Por qué un programa puede funcionar correctamente pero ser ineficiente?

Consejo de FacilitaciónDurante la Comparación de Ordenamientos, pida a los estudiantes que cronometren manualmente las ejecuciones para que reconozcan que el tiempo real depende de factores como el hardware y la implementación.

Qué observarEntregue a cada estudiante una tarjeta con dos algoritmos sencillos (pseudocódigo o diagrama de flujo). Pida que identifiquen cuál creen que es más eficiente y expliquen brevemente por qué, mencionando el número aproximado de pasos o el uso de memoria.

AplicarAnalizarEvaluarCrearHabilidades de RelaciónToma de DecisionesAutogestión
Generar Clase Completa

Actividad 02

Refactorización Colaborativa: Código Ineficiente

Entrega un programa funcional pero redundante para buscar un elemento en una lista. En parejas, identifican repeticiones, lo optimizan con bucles únicos y comparan métricas antes y después.

¿Cómo influye la claridad del código en su mantenimiento a largo plazo?

Consejo de FacilitaciónEn la Refactorización Colaborativa, asigne roles específicos (lector, cronometrador, registrador) para que todos participen activamente en el análisis de métricas.

Qué observarPresente en pantalla un fragmento de código con un bucle claramente ineficiente. Pregunte a los estudiantes: '¿Qué parte de este código podría optimizarse y cómo?'. Anote las respuestas correctas en el pizarrón, enfocándose en la identificación de redundancias o pasos innecesarios.

AplicarAnalizarEvaluarCrearHabilidades de RelaciónToma de DecisionesAutogestión
Generar Clase Completa

Actividad 03

Resolución Colaborativa de Problemas50 min · Grupos pequeños

Carrera de Algoritmos: Torneo Grupal

Divide la clase en equipos para optimizar rutas de entrega simuladas. Cada equipo propone un algoritmo, lo prueba con datos variables y compite por el más eficiente en tiempo de ejecución.

¿Qué métricas se utilizan para evaluar la eficiencia de un algoritmo?

Consejo de FacilitaciónEn la Carrera de Algoritmos, establezca límites claros de tiempo por ronda para que los estudiantes prioricen la eficiencia sobre la perfección en la implementación.

Qué observarPlantee la siguiente pregunta: 'Imaginemos que desarrollamos una app para recomendar películas. ¿Qué métricas de eficiencia (tiempo, memoria) serían más críticas y por qué?'. Guíe la discusión para que los estudiantes conecten la elección de algoritmos con las expectativas del usuario y los recursos del dispositivo.

AplicarAnalizarEvaluarCrearHabilidades de RelaciónToma de DecisionesAutogestión
Generar Clase Completa

Actividad 04

Análisis de Métricas: Gráficas de Eficiencia

Usa hojas de cálculo para graficar complejidad de algoritmos comunes. Individualmente, estudiantes evalúan Big O y proponen optimizaciones, luego comparten en plenaria.

¿Por qué un programa puede funcionar correctamente pero ser ineficiente?

Consejo de FacilitaciónPara el Análisis de Métricas, utilice datos reales de ejecuciones previas para que los estudiantes grafiquen tendencias y discutan patrones de crecimiento.

Qué observarEntregue a cada estudiante una tarjeta con dos algoritmos sencillos (pseudocódigo o diagrama de flujo). Pida que identifiquen cuál creen que es más eficiente y expliquen brevemente por qué, mencionando el número aproximado de pasos o el uso de memoria.

AplicarAnalizarEvaluarCrearHabilidades de RelaciónToma de DecisionesAutogestió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 optimización de algoritmos funciona mejor cuando los estudiantes ven el código como un sistema vivo que puede medirse y mejorarse. Evite explicar solo teoría; en su lugar, guíelos para que formulen hipótesis, prueben con datos concretos y analicen resultados en grupo. La clave está en convertir la abstracción de la complejidad en observaciones empíricas, usando herramientas como cronómetros, gráficas y debates estructurados sobre trade-offs entre velocidad y claridad.

Al finalizar estas actividades, los estudiantes podrán identificar ineficiencias en algoritmos, medir su impacto mediante métricas claras y proponer mejoras justificadas. Además, desarrollarán la capacidad de evaluar soluciones computacionales desde la perspectiva del uso de recursos, no solo de la corrección funcional.


Cuidado con estas ideas erróneas

  • Durante Comparación de Ordenamientos, algunos estudiantes pueden asumir que un algoritmo con menos líneas de código es automáticamente más eficiente.

    Durante Comparación de Ordenamientos, pida a los estudiantes que cuantifiquen el número de comparaciones y swaps en cada algoritmo usando tablas. Así verán que un código más largo puede ser más eficiente al reducir operaciones internas.

  • Durante Carrera de Algoritmos, los estudiantes podrían creer que todos los algoritmos funcionan igual de bien sin importar el tamaño de los datos.

    Durante Carrera de Algoritmos, varíe el tamaño de las listas (pequeñas, medianas, grandes) y grafique los tiempos de ejecución. Esto mostrará cómo algunos algoritmos se vuelven prohibitivos con datos extensos.

  • Durante Refactorización Colaborativa, algunos pueden pensar que la optimización solo es útil para programas grandes.

    Durante Refactorización Colaborativa, use ejemplos de scripts cotidianos (como filtrar una lista de correos) y mida el tiempo antes y después de optimizar. Esto demostrará que incluso cambios pequeños generan ahorros tangibles.


Metodologías usadas en este resumen