Lección 8: Debugging en Recolectora

Depurar | Bug o error | Recolectora | Laurel

Descripción

En esta actividad online, los/as estudiantes practicarán debugging en el entorno "recolector". Los/as estudiantes podrán practicar la lectura y edición de código para arreglar desafíos con algoritmos simples, loops y loops anidados.

Propósito

El propósito de esta lección es enseñar a los/as estudiantes que el fracaso es normal al aprender una nueva habilidad. Los/as estudiantes recibirán programas pre-escritos que NO funcionen. Se les pedirá que corrijan estos programas. Este proceso, llamado "debugging", enseña a los/as estudiantes problemas esenciales para resolver y habilidades de pensamiento crítico. Estas habilidades se transfieren a medida que los estudiantes pasan a proyectos de programación cada vez más difíciles.

Agenda

Actividad previa (15 mín)

Actividades Puente - Debugging (15 mín)

Actividad Principal (30 min)

Actividad de Cierre (15 mín)

Ver en Code Studio

Objetivos

Los estudiantes podrán:

  • Leer y comprender el código dado.
  • Identificar un error y los problemas que causa en un programa.
  • Describir e implementar un plan para depurar un programa.

Preparación

Enlaces

¡Importante! Haz una copia de los documentos que piensas compartir con los estudiantes.

Para los docentes

Para los estudiantes

Vocabulario

  • Bug o error - parte de un programa que no funciona correctamente.
  • Depurar - encontrar y solucionar problemas en un algoritmo o programa.

Guía docente

Actividad previa (15 mín)

Introducción

Una de las partes más importantes de aprender a programar es aprender a debug/depurar. Pregunte a su clase si alguna vez que han tenido que aprender algo nuevo han fracasado.

Por ejemplo:

  • Aprender a andar en bicicleta y caerse
  • Aprender a cocinar y quemar la comida
  • Aprender un deporte y no ganar el juego

Enfrentar el fracaso es muy habitual cuando se aprenden nuevas cosas. Discuta con sus estudiantes acerca de algún fracaso y como lo superó.

En programación, los programadores generalmente se encuentran con "bugs/errores" en sus códigos.

  • *Bug/Error**: Parte de un programa que no se ejecuta correctamente.

Un bug puede echar a perder un programa, por eso es importante a aprender a "debug"/"depurar"su código.

  • Debug/Depurar: Encontrar y arreglar problemas en su algoritmo o programa.

Continúe la conversación si considera que su clase necesita más que una introducción, pero deje tiempo para alguna de las actividades puente.

Actividades Puente - Debugging (15 mín)

Esta actividad ayudará a traer los conceptos sin conexión del "Debugging Sin Conexión: Programación de Relelevos" al mundo online al que los alumnos están entrando. Escoja uno de los siguientes para hacer con su clase:

Actividad Sin Conexión con Bloques de Papel

Separe a su curso en equipos de 3 - 5 y llévelos a un espacio grande. Este espacio puede ser al aire libre o en el gimnasio. Ponga a los equipos en fila como en la "Programación de Relevos". Elija un diseño semi díficil de Paquete de Actividad de la Programación con Relevos - Paquete de actividades. Muestre este diseño al final de una gran distancia entre cada equipo. Junto con mostrar la imagen, proporcione a cada equipo suficientes bloques de papel de Bloques Blockly Sin Conexión (Cursos 2-5) - Manipuladores. Cada equipo necesitará suficientes bloques 'llenar1' y 'mover **_\. Los bloques 'mover _**\ se pueden completar ya sea de antemano o durante el juego. De cualquier manera, asegúrese que estos bloques están definidos adecuadamente cuando se esté jugando.

Una vez que los equipos están en fila, muestre o lea las siguientes reglas:

  • El primer alumno en la fila debe correr hacia la imagen, revisarla, y poner el primer bloque de código en el programa para reproducir la imagen.
  • El primer alumno corre de vuelta y toca al siguiente en la fila, luego se va al final de la fila.
  • La siguiente persona en la fila corre hacia la imagen, la revisa, revisa el programa que ya ha sido escrito, luego debug el programa quitando el bloque de código incorrecto o agrega un bloque nuevo. Ese alumno corre de vuelta para tocar a la siguiente persona, y el proceso continúa hasta que un grupo termine su programa.

Asegúrese que los alumnos sólo estén usando los bloques 'llenar 1' o ' mover ___` y que estén poniendo sólo uno por turno. El primer grupo que_escriba_correctamente el código para su imagen gana.

Previsualización del Desafío En Línea como Clase

Agrupe a los alumnos en equipos de 3. Escoja un desafío de Course D Online Puzzles 2018 - Sitio web asociado con esta lección. Recomendamos el tercer desafío. Haga que cada equipo se siente frente a un computador mostrando el desafío. Cada equipo usa sólo un computador y sólo un alumno puede estar mirando a la pantalla. Muestre o lea las siguientes reglas:

  • Sólo un alumno de cada equipo puede mirar la pantalla.
  • Esta persona sólo puede borrar o agregar un bloque a la vez. Una vez que esa persona ha agregado o removido un bloque, puede tocar el hombro de la persona siguiente.
  • La siguiente persona puede proceder a jugar su turno.
  • No se pueden saltar ni repetir los turnos, todos deben jugar una cantidad igual.

¡El primer equipo en finalizar el desafío_correctamente_gana!

Actividad Principal (30 min)

Course D Online Puzzles 2018 - Sitio web

Podría ser útil para los estudiantes sentarse con sus equipos desde las actividades puente. Cada estudiante debe trabajar en estos desafíos individualmente o en pares, pero tener un grupo muy unido para hacer y responder preguntas puede ayudar a desarrollar confianza y comprensión acerca del tema.

Actividad de Cierre (15 mín)

Escribir en el Diario

Hacer que los/as estudiantes escriban acerca de lo que aprendieron, por qué es útil y cómo se sienten, puede ayudar a solidificar cualquier conocimiento que hayan obtenido hoy y a construir una hoja de revisión para que la revisen en el futuro.

Sugerencias para el Diario:

  • ¿De qué trató la lección de hoy?
  • ¿Cómo te sentiste durante la lección?
  • ¿Qué es un bug? ¿Cómo sabes que hay un bug en tu programa?
  • ¿Qué significa debug un código? ¿Cómo se hace debug a un programa?
Ver en Code Studio

Student Instructions

"These blocks are really bugging me!"

Fix the error(s) to collect all of the nectar.

Ver en Code Studio

Student Instructions

"Ooh, this one stings!"

Fix the error(s) to collect all of the nectar.

Ver en Code Studio

Student Instructions

"These blocks are really bugging me."

Fix the error(s) to collect all of the nectar and make all of the honey.

Ver en Code Studio

Student Instructions

"This could be sweet!"

Fix the error(s) to make all of the honey.

Ver en Code Studio

Student Instructions

Challenge: "This puzzle is making me loopy!"

All of the commands that you need are already here...now use your debugging skills to figure out how to solve this puzzle.

Ver en Code Studio

Student Instructions

Challenge: Fix the errors to collect all of the nectar and make all of the honey.

Ver en Code Studio

Student Instructions

"Such a sticky situation!"

Help the bee find his mistakes.

Ver en Code Studio

Student Instructions

"So many lovely flowers!"

Help the bee fix the code to get all the nectar.

Ver en Code Studio

Student Instructions

"It's nectar-topia!"

Help the bee fix the code to get all the nectar.

Ver en Code Studio

Student Instructions

Look closely at the code below. Why won't the bee collect all of the nectar when you click "Run"? Warning: This is a tricky question, make sure you read all of the options before answering!

The bee will turn the wrong way when making a square.

The loop does not run long enough for the bee to get to all flower bunches.

The bee turns the wrong way and the loop doesn't run long enough to get all of the flowers.

I don't know.

Normas de aprendizaje

Ver las normas del curso

Estándares para ciencias de la computación CSTA K-12 (2017)

AP - Algoritmos y programación
  • 1B-AP-11 - Descompone (desglosa) de los problemas en subproblemas más pequeños y manejables para facilitar el proceso de desarrollo del programa.

Oportunidades multidisciplinarias

Esta lista presenta oportunidades dentro de la lección para acompañar las normas de otras áreas de contenido.

Normas básicas comunes para artes del lenguaje

L - Idioma
  • 3.L.6 - Obtener y utilizar palabras y frases de conversación, académicas generales y de un dominio específico, incluidas aquellas que contienen relaciones espaciales y temporales, de forma precisa y apropiadas para cada grado (por ejemplo, después de cenar esa noche, fuimos a buscarlos).
SL - Hablar y escuchar
  • 3.SL.1 - Participar con efectividad en una variedad de debates en conjunto (individuales, en grupos y dirigidas por el docente) con distintos socios sobre temas y textos de tercer grado, retomando ideas de otros y expresando las suyas de forma clara.

Normas básicas comunes para matemáticas

MP - Prácticas matemáticas
  • MP.1 - Entender problemas y no parar hasta resolverlos
  • MP.2 - Razonar de manera abstracta y cuantitativa
  • MP.4 - Modelar a través de las matemáticas
  • MP.6 - Estar atento a la precisión
  • MP.7 - Buscar y usar estructuras
  • MP.8 - Buscar y expresar regularidades en patrones de razonamiento
OA - Operaciones y pensamiento algebraico
  • 3.OA.3 - Usar la multiplicación y división en 100 para resolver problemas con palabras que involucran grupos iguales, matrices y cantidades de medición, por ejemplo, mediante dibujos y ecuaciones con un símbolo para el número desconocido para representar el problema.1

Normas de ciencias de la próxima generación

ETS - Ingeniería en las ciencias
ETS1 - Diseño técnico
  • 3-5-ETS1-2 - Generar y comparar diversas soluciones posibles para un problema basado en qué tan probable es que cada una cumpla con los criterios y las restricciones del problema.