Skip to content
Tecnología · 2o de Preparatoria

Ideas de aprendizaje activo

Clases y Objetos en Python

La programación orientada a objetos requiere pasar de la abstracción a la acción. Al manipular clases y objetos en Python mediante actividades prácticas, los estudiantes transforman conceptos teóricos en construcciones concretas, lo que facilita la retención y aplicación de conceptos como encapsulamiento, atributos y métodos.

Aprendizajes Esperados SEPSEP EMS: Programación Orientada a Objetos
25–45 minParejas → Toda la clase4 actividades

Actividad 01

Planear-Hacer-Recordar30 min · Parejas

Pares Programando: Clase Estudiante

En parejas, definen una clase 'Estudiante' con atributos como nombre y calificaciones, y métodos para calcular promedio y mostrar datos. Codifican en IDLE o Jupyter, crean dos objetos y prueban interacciones. Comparten resultados con la clase al final.

¿Cómo se define una clase para encapsular datos y comportamientos?

Consejo de FacilitaciónDurante 'Pares Programando: Clase Estudiante', pida a cada pareja que intercambie sus objetos creados para que identifiquen diferencias en los atributos y discutan por qué cada uno tiene su propio estado.

Qué observarPida a los estudiantes que escriban en una tarjeta: 1) Una clase simple que modelaría un 'Libro' (con 2 atributos y 1 método). 2) Cómo crearían un objeto 'mi_libro' de esa clase. 3) Un ejemplo de cómo acceder a uno de sus atributos.

RecordarAplicarAnalizarAutogestiónToma de DecisionesAutoconciencia
Generar Clase Completa

Actividad 02

Planear-Hacer-Recordar45 min · Grupos pequeños

Grupos Pequeños: Simulación Banco

Grupos crean clases 'Cuenta' y 'Cliente', con métodos para depositar, retirar y transferir. Instancian objetos múltiples y simulan transacciones. Discuten flexibilidad para agregar clases hijas como 'CuentaAhorro'.

¿Qué impacto tiene la creación de múltiples objetos de la misma clase?

Consejo de FacilitaciónEn 'Grupos Pequeños: Simulación Banco', circule entre los grupos para asegurar que cada estudiante participe en la creación de al menos un objeto de cuenta bancaria y explique su funcionamiento a los compañeros.

Qué observarPresente un fragmento de código Python que define una clase simple (ej. 'Perro') y crea dos objetos de esa clase. Pregunte a los estudiantes: '¿Cuál es la diferencia entre la clase 'Perro' y los objetos 'perro1' y 'perro2'?' y '¿Cómo podrían hacer que 'perro1' ladre?'.

RecordarAplicarAnalizarAutogestiónToma de DecisionesAutoconciencia
Generar Clase Completa

Actividad 03

Planear-Hacer-Recordar35 min · Toda la clase

Clase Completa: Galería de Objetos

Proyectan un lienzo compartido en Google Colab. Cada estudiante agrega una clase simple (ej. 'Libro'), crea objetos y ejecuta. La clase observa cómo objetos independientes interactúan sin afectar otros.

¿Cómo podemos diseñar clases que sean flexibles y extensibles para futuros desarrollos?

Consejo de FacilitaciónEn 'Clase Completa: Galería de Objetos', guíe una discusión final donde los estudiantes comparen sus clases 'Gato' o 'Animal' para destacar cómo atributos y métodos se heredan pero los valores son específicos.

Qué observarInicie una discusión preguntando: 'Si diseñamos una clase 'CuentaBancaria' con atributos como 'saldo' y 'titular', ¿qué pasaría si creamos 10 objetos de esta clase para 10 clientes diferentes? ¿Compartirían el mismo saldo? ¿Por qué o por qué no?'

RecordarAplicarAnalizarAutogestiónToma de DecisionesAutoconciencia
Generar Clase Completa

Actividad 04

Planear-Hacer-Recordar25 min · Individual

Individual: Extensión de Clase

Cada estudiante recibe una clase base 'Animal' y agrega atributos, métodos y crea tres objetos. Prueban y documentan cambios en un repositorio compartido para revisión grupal.

¿Cómo se define una clase para encapsular datos y comportamientos?

Consejo de FacilitaciónPara 'Individual: Extensión de Clase', revise rápidamente los códigos de los estudiantes para identificar errores comunes en el uso de 'self' y prepare ejemplos correctivos para compartir con la clase.

Qué observarPida a los estudiantes que escriban en una tarjeta: 1) Una clase simple que modelaría un 'Libro' (con 2 atributos y 1 método). 2) Cómo crearían un objeto 'mi_libro' de esa clase. 3) Un ejemplo de cómo acceder a uno de sus atributos.

RecordarAplicarAnalizarAutogestiónToma de DecisionesAutoconciencia
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

Para enseñar clases y objetos, primero enfóquese en la metáfora del molde (clase) y las piezas que produce (objetos). Evite presentar demasiado código sin contexto; en su lugar, use ejemplos cotidianos como cuentas bancarias o vehículos para mostrar cómo los atributos definen el estado y los métodos definen el comportamiento. La investigación en pedagogía de la programación recomienda alternar entre demostraciones guiadas y actividades prácticas para consolidar el aprendizaje.

Los estudiantes demuestran comprensión al definir clases con atributos y métodos claros, crear múltiples objetos independientes con estados distintos, y explicar cómo los cambios en un objeto no afectan a otros. La reutilización de código debe ser evidente en sus soluciones.


Cuidado con estas ideas erróneas

  • Durante 'Pares Programando: Clase Estudiante', algunos estudiantes confundirán la clase 'Estudiante' con los objetos que creen. Watch for...

    Pida a los estudiantes que definan la clase primero y luego creen dos objetos con valores diferentes para atributos como 'nombre' y 'matrícula'. Durante la actividad, circule y pregunte: '¿Qué parte es el molde y qué parte son los estudiantes reales?'.

  • Durante 'Grupos Pequeños: Simulación Banco', algunos asumirán que todas las cuentas bancarias comparten el mismo saldo. Watch for...

    En la simulación, asigne a cada grupo un saldo inicial diferente y pida que registren las transacciones en una tabla compartida. Pregunte: 'Si el grupo A transfiere dinero a otro grupo, ¿afecta el saldo de su cuenta original? ¿Por qué?'.

  • Durante 'Individual: Extensión de Clase', algunos omitirán el parámetro 'self' en los métodos. Watch for...

    Incluya en la consigna un ejemplo de código con un error intencional (falta de 'self') y pida que lo corrijan antes de continuar. Luego, pida que expliquen por escrito por qué 'self' es necesario para modificar un atributo.


Metodologías usadas en este resumen