Learning Resource Type

Classroom Resource

Computer Science Fundamentals Unit 5 Course D Lesson 4: Debugging with Laurel (2018)

Subject Area

Digital Literacy and Computer Science

Grade(s)

3

Overview

In this online activity, students will practice debugging in the "collector" environment. Students will get to practice reading and editing code to fix puzzles with simple algorithms, loops, and nested loops.

The purpose of this lesson is to teach students that failure is normal when learning a new skill. Students will be given pre-written programs that do NOT work. They will be asked to fix these programs. This process, called "debugging", teaches students essential problem solving and critical thinking skills. These skills transfer over as students proceed to harder and harder programming projects.

Students will be able to:
- read and comprehend the given code.
- identify a bug and the problems it causes in a program.
- describe and implement a plan to debug a program.

Note: You will need to create a free account on code.org before you can view this resource. 

    Digital Literacy and Computer Science (2018) Grade(s): 3

    DLCS18.3.3

    Explain that different solutions exist for the same problem or sub-problem.

    Unpacked Content

    UP:DLCS18.3.3

    Vocabulary

    • solution
    • sub-problem
    • problem

    Knowledge

    Students know:
    • different solutions exist for the same problem or sub-problem.
    • techniques to explain that different solutions exist for the same problem or sub-problem.

    Skills

    Students are able to:
    • identify different solutions for the same problem or sub-problem.
    • explain that these solutions exist.

    Understanding

    Students understand that:
    • multiple solutions exist for the same problem or sub-problem.
    Digital Literacy and Computer Science (2018) Grade(s): 3

    DLCS18.3.4

    Examine logical reasoning to predict outcomes of an algorithm.

    Unpacked Content

    UP:DLCS18.3.4

    Vocabulary

    • logical reasoning
    • outcome
    • algorithm

    Knowledge

    Students know:
    • to apply logical reasoning when predicting outcomes of algorithms.
    • strategies to examine logical reasoning to predict outcomes of an algorithm.

    Skills

    Students are able to:
    • determine possible outcomes of an algortihm.
    • recognize that an algorithm can have multiple outcomes.

    Understanding

    Students understand that:
    • logical reasoning is necessary when predicting outcomes of an algorithm.
    • algorithms can have multiple outcomes.
    Digital Literacy and Computer Science (2018) Grade(s): 3

    DLCS18.3.5

    Create an algorithm to solve a problem as a collaborative team.

    Unpacked Content

    UP:DLCS18.3.5

    Vocabulary

    • algorithm
    • collaborative

    Knowledge

    Students know:
    • an algorithm can be used to solve a problem or complete a task.
    • the steps in creating an algortihm as a collaborative team.

    Skills

    Students are able to:
    • work as a collaborative team to create a problem-solving algorithm.
    • list steps in solving a problem.

    Understanding

    Students understand that:
    • algorithms are used to solve problems or complete a task in a step-by-step process.
    Digital Literacy and Computer Science (2018) Grade(s): 3

    DLCS18.3.7

    Test and debug a given program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.

    Unpacked Content

    UP:DLCS18.3.7

    Vocabulary

    • test
    • debug
    • program
    • block-based visual programming environment
    • arithmetic operators
    • conditionals
    • repetition

    Knowledge

    Students know:
    • strategies for debugging a given program.
    • arithmetic operators create a single numerical solution from multiple oprations.
    • conditionals are "if, then" statements that direct the program.

    Skills

    Students are able to:
    • test a given program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.
    • debug a given program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.

    Understanding

    Students understand that:
    • a given program must be tested and debugged to run correctly.
    • block-based visual programming uses arithemetic operators, conditionals, and repetition to function.
    Digital Literacy and Computer Science (2018) Grade(s): 3

    DLCS18.3.23

    Implement the design process to solve a simple problem.

    Unpacked Content

    UP:DLCS18.3.23

    Vocabulary

    • implement
    • design process
    • problem

    Knowledge

    Students know:
    • the steps in the design process are to define the problem, research the problem, brainstorm and analyze ideas, imagine solutions, build a prototype and test it, and make improvements.
    • how to implement the design process to solve a simple problem.
    • how to identify a simple problem.

    Skills

    Students are able to:
    • identify the steps in the design process.
    • apply the design process to a simple problem.
    • implement the steps in the design process to solve a simple problem.

    Understanding

    Students understand that:
    • the steps in the design process are to define the problem, research the problem, brainstorm and analyze ideas, imagine solutions, build a prototype and test it, and make improvements.
    Link to Resource

    CR Resource Type

    Lesson/Unit Plan

    Resource Provider

    Code.org
    Accessibility
    License

    License Type

    Custom
    ALSDE LOGO