Objetivos de la Clase
-
Comprender la programación en bloques: Los alumnos deben ser capaces de entender el concepto de programación en bloques, específicamente usando Scratch. Esto incluye la habilidad de identificar los componentes básicos de un programa en bloques y cómo se conectan para crear una secuencia de instrucciones.
-
Comprender la programación secuencial: Los alumnos deben ser capaces de entender el concepto de programación secuencial, específicamente usando Python. Esto incluye la habilidad de identificar los componentes básicos de un programa secuencial y cómo se ejecutan en un orden específico para lograr un resultado.
-
Diferenciar entre programación en bloques y programación secuencial: Los alumnos deben ser capaces de identificar las principales diferencias entre los dos enfoques de programación. Esto incluye la habilidad de reconocer las ventajas y desventajas de cada enfoque y cuándo podría ser más apropiado usar uno sobre el otro.
Introducción
-
Revisión de conceptos previos: El profesor debe comenzar la clase revisando brevemente los conceptos de programación que los alumnos ya han aprendido, como los algoritmos y la lógica de programación. Esto se puede hacer a través de preguntas orales o un pequeño cuestionario.
-
Situaciones problema: Presentar dos situaciones problema que se resolverán usando cada tipo de programación. Por ejemplo, "¿Cómo podemos hacer que un personaje en un juego de Scratch siga a otro personaje en la pantalla?" y "¿Cómo podemos calcular la suma de los números del 1 al 10 en Python?".
-
Contextualización: Explicar la importancia de la programación en diferentes contextos, como en el desarrollo de juegos, aplicaciones, sitios web e incluso en la automatización de procesos industriales. Destacar que la habilidad de programar puede abrir muchas oportunidades de carrera en el futuro.
-
Captar la atención de los alumnos: Compartir curiosidades sobre la programación, como el hecho de que los primeros juegos de computadora se programaron en lenguaje ensamblador, un lenguaje de bajo nivel que es muy diferente a los lenguajes de programación modernos como Scratch y Python. Además, mencionar que muchos de los dispositivos que usamos diariamente, como teléfonos inteligentes y asistentes virtuales, funcionan gracias a la programación.
Desarrollo
Teoría (20 minutos)
-
Programación en bloques con Scratch (10 minutos)
- Definición: Explicar que la programación en bloques es un método de programación visual que utiliza bloques de código predefinidos que se pueden arrastrar y soltar para crear programas.
- Componentes: Mostrar los diferentes tipos de bloques en Scratch, como los bloques de movimiento, de sonido, de control, de eventos, etc. Explicar brevemente qué hace cada tipo de bloque.
- Conexión de bloques: Demostrar cómo se conectan los bloques en Scratch para crear una secuencia de instrucciones. Explicar que la secuencia en la que se conectan los bloques es importante y que los bloques se ejecutan en el orden en que están conectados.
-
Programación secuencial con Python (10 minutos)
- Definición: Explicar que la programación secuencial es un método de programación que utiliza líneas de código que se ejecutan en un orden específico para lograr un resultado.
- Sintaxis: Mostrar la sintaxis básica de un programa en Python, incluyendo cómo declarar variables, cómo usar operadores matemáticos y cómo imprimir resultados en la pantalla.
- Ejecución de programas: Demostrar cómo se ejecuta un programa en Python, línea por línea, en el orden en que está escrito.
Práctica (20 minutos)
-
Actividad en Scratch (10 minutos)
- Situación problema: Presentar la situación problema de hacer que un personaje en un juego de Scratch siga a otro personaje en la pantalla.
- Resolución: Pedir a los alumnos que resuelvan el problema usando la programación en bloques de Scratch. Deben identificar qué tipos de bloques necesitan usar y cómo deben conectarse los bloques para lograr el resultado deseado.
-
Actividad en Python (10 minutos)
- Situación problema: Presentar la situación problema de calcular la suma de los números del 1 al 10 en Python.
- Resolución: Pedir a los alumnos que resuelvan el problema usando la programación secuencial de Python. Deben escribir el código necesario para calcular la suma y luego ejecutar el programa para verificar si el resultado es correcto.
Discusión (10 minutos)
-
Comparación de enfoques: Pedir a los alumnos que comparen la actividad en Scratch con la actividad en Python. Preguntarles qué les pareció más fácil o difícil en cada actividad y por qué. Animar a los alumnos a discutir las diferencias entre los dos enfoques de programación.
-
Aplicación en el mundo real: Discutir cómo se utilizan la programación en bloques y la programación secuencial en el mundo real. Preguntar a los alumnos si pueden pensar en ejemplos de aplicaciones o dispositivos que usen cada tipo de programación.
Retorno
-
Verificación de Aprendizaje: El profesor debe pedir a los alumnos que compartan las soluciones que encontraron para las actividades en Scratch y en Python. Deben explicar cómo resolvieron el problema y por qué eligieron ese enfoque. El profesor debe verificar si los alumnos aplicaron correctamente los conceptos de programación en bloques y programación secuencial.
-
Conexión con la Teoría: El profesor debe pedir a los alumnos que expliquen cómo las actividades prácticas se relacionan con la teoría presentada. Por ejemplo, cómo la actividad en Scratch demostró el concepto de programación en bloques y cómo la actividad en Python demostró el concepto de programación secuencial.
-
Reflexión sobre el Aprendizaje: El profesor debe pedir a los alumnos que reflexionen sobre lo que aprendieron durante la clase. Pueden responder a preguntas como: "¿Cuál fue el concepto más importante que aprendiste hoy?" y "¿Qué preguntas tienes aún?". El profesor debe animar a los alumnos a expresar sus dudas y dificultades, y estar preparado para proporcionar aclaraciones y apoyo adicional según sea necesario.
-
Tarea para Casa: El profesor debe asignar una tarea para casa que permita a los alumnos practicar más los conceptos aprendidos. Por ejemplo, se puede pedir a los alumnos que creen un pequeño juego en Scratch o que escriban un programa en Python para resolver un problema específico. El profesor debe proporcionar instrucciones claras y recursos de apoyo para ayudar a los alumnos a completar la tarea de forma autónoma.
Conclusión
-
Resumen de la Clase: El profesor debe hacer un breve resumen de los puntos principales abordados durante la clase. Esto incluye la definición y los componentes de la programación en bloques (Scratch) y la programación secuencial (Python), las diferencias entre los dos enfoques y las ventajas y desventajas de cada uno.
-
Conexión entre Teoría y Práctica: El profesor debe destacar cómo la clase conectó la teoría de la programación con la práctica. Esto puede incluir ejemplos de cómo se aplicaron los conceptos teóricos durante las actividades prácticas y cómo las actividades prácticas ayudaron a reforzar la comprensión teórica.
-
Materiales Complementarios: El profesor debe sugerir materiales de estudio adicionales para los alumnos que deseen profundizar su conocimiento sobre el tema. Esto puede incluir libros, sitios web, videos y cursos en línea que ofrezcan más información y oportunidades de práctica en programación en bloques y programación secuencial.
-
Importancia del Tema: Por último, el profesor debe resaltar la importancia del tema para el día a día y para el futuro profesional de los alumnos. Se puede enfatizar que la habilidad de programar es cada vez más valorada en diversas áreas y que la comprensión de diferentes enfoques de programación puede ser útil en diversas situaciones.
-
Cierre: El profesor debe finalizar la clase agradeciendo la participación de los alumnos, animándolos a seguir practicando y estudiando el tema, y recordándoles la importancia de plantear dudas y buscar ayuda siempre que sea necesario.