Classroom Resources (10) |

View Standards
**Standard(s): **
[DLIT] (3) 8 :

[DLIT] (3) 13 :

[DLIT] (4) 8 :

[DLIT] (4) 9 :

[DLIT] (4) 10 :

[DLIT] (4) 13 :

[DLIT] (5) 8 :

[DLIT] (5) 12 :

[DLIT] (5) 14 :

[DLIT] (6) 7 :

[DLIT] (6) 14 :

[DLIT] (7) 12 :

[DLIT] (7) 13 :

[DLIT] (7) 14 :

[DLIT] (8) 9 :

[DLIT] (8) 13 :

[DLIT] (8) 29 :

[DLIT] (8) 35 :

2) Analyze a given list of sub-problems while addressing a larger problem.

Example: Problem - making a peanut butter sandwich; sub-problem - opening jar, finding a knife, getting the bread.

Problem - design and share a brochure; sub-problem - selecting font, choosing layout.

Problem - design and share a brochure; sub-problem - selecting font, choosing layout.

[DLIT] (3) 13 :

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.

Examples: Sequencing cards for unplugged activities, online coding practice.

[DLIT] (4) 8 :

2) Formulate a list of sub-problems to consider while addressing a larger problem.

Examples: Problem - a multi-step math problem; sub-problem - steps to solve.

Problem - light bulb does not light; sub-problem - steps to resolve why.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

3) Show that different solutions exist for the same problem or sub-problem.

[DLIT] (4) 10 :

4) Detect and debug logical errors in various basic algorithms.

Example: Trace the path of a set of directions to determine success or failure.

[DLIT] (4) 13 :

7) Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.

[DLIT] (5) 8 :

2) Create an algorithm to solve a problem while detecting and debugging logical errors within the algorithm.

Examples: Program the movement of a character, robot, or person through a maze.

Define a variable that can be changed or updated.

Define a variable that can be changed or updated.

[DLIT] (5) 12 :

6) Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs.

[DLIT] (5) 14 :

8) Demonstrate that programs require known starting values that may need to be updated appropriately during the execution of programs.

Examples: Set initial value of a variable, updating variables.

[DLIT] (6) 7 :

1) Remove background details from an everyday process to highlight essential properties.

Examples: When making a sandwich, the type of bread, condiments, meats, and/or vegetables do not affect the fact that one is making a sandwich.

[DLIT] (6) 14 :

8) Create a program that initializes a variable.

Example: Create a flowchart in which the variable or object returns to a starting position upon completion of a task.

[DLIT] (7) 12 :

6) Create and organize algorithms in order to automate a process efficiently.

Example: Set of recipes (algorithms) for preparing a complete meal.

[DLIT] (7) 13 :

7) Create a program that updates the value of a variable in the program.

Examples: Update the value of score when a coin is collected (in a flowchart, pseudocode or program).

[DLIT] (7) 14 :

8) Formulate a narrative for each step of a process and its intended result, given pseudocode or code.

[DLIT] (8) 9 :

3) Create an algorithm using a programming language that includes the use of sequencing, selections, or iterations.

Example: Use a block-based or script programming language

Step 1: Start

Step 2: Declare variables a, b and c.

Step 3: Read variables a, b and c.

Step 4: If a>b

If a>c

Display a is the largest number.

Else

Display c is the largest number.

Else

If b>c

Display b is the largest number.

Else

Display c is the greatest number.

Step 5: Stop

Step 1: Start

Step 2: Declare variables a, b and c.

Step 3: Read variables a, b and c.

Step 4: If a>b

If a>c

Display a is the largest number.

Else

Display c is the largest number.

Else

If b>c

Display b is the largest number.

Else

Display c is the greatest number.

Step 5: Stop

[DLIT] (8) 13 :

7) Create a program that includes selection, iteration, or abstraction, and initializes, and updates, at least two variables.

Examples: Make a game, interactive card, story, or adventure game.

[DLIT] (8) 29 :

23) Design a digital artifact to propose a solution for a content-related problem.

Example: Create a presentation outlining how to create a cost-efficient method to melt snow on roads during the winter.

[DLIT] (8) 35 :

29) Create an artifact to solve a problem using ideation and iteration in the problem-solving process.

Examples: Create a public service announcement or design a computer program, game, or application.

In Art, students create animations, interactive artwork, photograph filters, and other exciting, artistic projects.

Art is a complete theme designed to be completed over eight, 45-75 minute, sessions. For each Activity, students will watch a series of videos and create one coding project with opportunities to personalize their work using “Add-Ons”, which are mini-coding challenges that build on top of the core project.

Be sure to review the Materials tab for the lesson plan, starter guide, and more.

Users will need a Google account to use this resource.

View Standards
**Standard(s): **
[DLIT] (4) 8 :

[DLIT] (4) 9 :

[DLIT] (4) 10 :

[DLIT] (4) 13 :

[DLIT] (4) 27 :

2) Formulate a list of sub-problems to consider while addressing a larger problem.

Examples: Problem - a multi-step math problem; sub-problem - steps to solve.

Problem - light bulb does not light; sub-problem - steps to resolve why.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

3) Show that different solutions exist for the same problem or sub-problem.

[DLIT] (4) 10 :

4) Detect and debug logical errors in various basic algorithms.

Example: Trace the path of a set of directions to determine success or failure.

[DLIT] (4) 13 :

7) Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.

[DLIT] (4) 27 :

21) Develop, test, and refine prototypes as part of a cyclical design process to solve a simple problem.

Students have practiced creating impressive designs in Artist and navigating mazes in Bee, but today they will use functions to harvest crops in Harvester. This lesson will push students to use functions in new ways by combining them with * while* loops and

`if / else`

This lesson is meant to further push students to use functions in more creative ways. By also using conditionals and loops, students will learn there are many ways to approach a problem, but some are more efficient than others. These puzzles are intended to increase problem-solving and critical thinking skills.

Students will be able to:

- recognize when a function could help to simplify a program.

- use pre-determined functions to complete commonly repeated tasks.

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

View Standards
**Standard(s): **
[DLIT] (4) 8 :

[DLIT] (4) 9 :

[DLIT] (4) 13 :

[DLIT] (4) 27 :

2) Formulate a list of sub-problems to consider while addressing a larger problem.

Examples: Problem - a multi-step math problem; sub-problem - steps to solve.

Problem - light bulb does not light; sub-problem - steps to resolve why.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

3) Show that different solutions exist for the same problem or sub-problem.

[DLIT] (4) 13 :

7) Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.

[DLIT] (4) 27 :

21) Develop, test, and refine prototypes as part of a cyclical design process to solve a simple problem.

Students will be introduced to using functions on Code.org. Magnificent images will be created and modified with functions in Artist. For more complicated patterns, students will learn about nesting functions by calling one function from inside another.

One of the most important components of this lesson is providing students with a space to create something they are proud of. These puzzles progress to more and more complex images, but each new puzzle only builds off the previous puzzle. At the end of this lesson, students will feel confident with themselves and proud of their hard work.

Students will be able to:

- categorize and generalize code into useful functions.

- recognize when a function could help to simplify a program.

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

View Standards
**Standard(s): **
[DLIT] (4) 8 :

Examples: Problem - a multi-step math problem; sub-problem - steps to solve.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

[DLIT] (4) 10 :

[DLIT] (4) 13 :7) Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.

[DLIT] (4) 19 :

[DLIT] (4) 27 :

2) Formulate a list of sub-problems to consider while addressing a larger problem.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

3) Show that different solutions exist for the same problem or sub-problem.

[DLIT] (4) 10 :

4) Detect and debug logical errors in various basic algorithms.

Example: Trace the path of a set of directions to determine success or failure.

[DLIT] (4) 13 :

[DLIT] (4) 19 :

13) Synthesize complex information from multiple sources in different ways to make it more useful and/or relevant.

[DLIT] (4) 27 :

21) Develop, test, and refine prototypes as part of a cyclical design process to solve a simple problem.

This series brings together concepts from previous lessons and gives students a chance to think critically about how they would solve each problem, but without telling them which concept to apply. Students will review basic algorithms, debugging, `repeat`

loops, conditionals, `while`

loops, and functions.

It's important for students to remember that computer science provides plenty of opportunities to be creative. Every topic can be combined with another to make something bigger and better. In this lesson, students will use previously learned concepts together, allowing for a "big picture" view of programming projects. This lesson will also bridge any gaps in understanding of when to use certain programming tools over others.

Students will be able to:

- recognize which programming concept to use to solve a given problem.

- describe the different ways one could solve a given problem.

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

View Standards
**Standard(s): **
[DLIT] (4) 7 :

[DLIT] (4) 8 :

Examples: Problem - a multi-step math problem; sub-problem - steps to solve.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

[DLIT] (4) 10 :

1) Construct a basic system of numbers, letters, or symbols to represent information as a cipher.

Examples: Combine data from multiple sources, sorting multi-level.

[DLIT] (4) 8 :

2) Formulate a list of sub-problems to consider while addressing a larger problem.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

3) Show that different solutions exist for the same problem or sub-problem.

[DLIT] (4) 10 :

4) Detect and debug logical errors in various basic algorithms.

Example: Trace the path of a set of directions to determine success or failure.

Using a special set of offline commands, students will design algorithms to instruct a "robot" to stack cups in different patterns. Students will take turns participating as the robot, responding only to the algorithm defined by their peers. This segment teaches students the connection between symbols and actions, the difference between an algorithm and a program, and the valuable skill of debugging.

This unplugged lesson brings the class together as a team with a simple task to complete: get a "robot" to stack cups in a specific design. Students will work to recognize real-world actions as potential instructions in code. The art of following precise instructions will also be practiced, as students work to translate algorithms into code, using the symbols provided. If problems arise in the code, students should work together to recognize bugs and build solutions. This activity lays the groundwork for the programming that students will do throughout the course as they learn the importance of defining a clearly communicated algorithm.

Students will be able to:

- reframe a sequence of steps as an encoded program.

- identify and address bugs or errors in sequenced instructions.

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

View Standards
**Standard(s): **
[DLIT] (4) 8 :

Examples: Problem - a multi-step math problem; sub-problem - steps to solve.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

[DLIT] (4) 27 :21) Develop, test, and refine prototypes as part of a cyclical design process to solve a simple problem.

2) Formulate a list of sub-problems to consider while addressing a larger problem.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

3) Show that different solutions exist for the same problem or sub-problem.

[DLIT] (4) 27 :

New and unsolved problems are often pretty hard. If we want to have any chance of making something creative, useful, and clever, then we need to be willing to attack hard problems even if it means failing a few times before we succeed. In this lesson, students will be building a structure with common materials. The structure will be tested on its ability to hold a textbook for more than ten seconds. Most students will not get this right the first time, but it's important they push through and keep trying.

This lesson teaches that failure is not the end of a journey, but a hint for how to succeed. The majority of students will feel frustrated at some point in this lesson, but it's important to emphasize that failure and frustration are common steps to creativity and success.

Students will be able to:

- outline steps to complete a structural engineering challenge.

- predict and discuss potential issues in structure creation.

- build a structure based on a team plan.

- revise both the plan and the structure until they satisfy the challenge.

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

View Standards
**Standard(s): **
[DLIT] (4) 8 :

Examples: Problem - a multi-step math problem; sub-problem - steps to solve.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

[DLIT] (4) 10 :

[DLIT] (4) 13 :7) Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.

2) Formulate a list of sub-problems to consider while addressing a larger problem.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

3) Show that different solutions exist for the same problem or sub-problem.

[DLIT] (4) 10 :

4) Detect and debug logical errors in various basic algorithms.

Example: Trace the path of a set of directions to determine success or failure.

[DLIT] (4) 13 :

Debugging is an essential element of learning to program. In this lesson, students will encounter puzzles that have been solved incorrectly. They will need to step through the existing code to identify errors, including incorrect loops, missing blocks, extra blocks, and blocks that are out of order.

Students in your class might become frustrated with this lesson because of the essence of debugging. Debugging is a concept that is very important to computer programming. Computer scientists have to get really good at facing the bugs in their own programs. Debugging forces the students to recognize problems and overcome them while building critical thinking and problem-solving skills.

Students will be able to:

- predict where a program will fail.

- modify an existing program to solve errors.

- reflect on the debugging process in an age-appropriate way.

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

2) Formulate a list of sub-problems to consider while addressing a larger problem.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

3) Show that different solutions exist for the same problem or sub-problem.

[DLIT] (4) 10 :

4) Detect and debug logical errors in various basic algorithms.

Example: Trace the path of a set of directions to determine success or failure.

[DLIT] (4) 13 :

Building on the initial "My Robotic Friends" activity, students learn to use loops when programming their robots in order to build bigger structures more efficiently.

This lesson serves as a reintroduction to loops, using the now-familiar set of "robot" programming instructions. Students will develop critical thinking skills by looking for patterns of repetition in the movements of classmates and determining how to simplify those repeated patterns using loops.

Students will be able to:

- identify repeated patterns in code that could be replaced with a loop

- write instructions that use loops to repeat patterns.

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

View Standards
**Standard(s): **
[DLIT] (4) 8 :

Examples: Problem - a multi-step math problem; sub-problem - steps to solve.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

[DLIT] (4) 13 :7) Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs, in collaboration with others.

2) Formulate a list of sub-problems to consider while addressing a larger problem.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

3) Show that different solutions exist for the same problem or sub-problem.

[DLIT] (4) 13 :

In this online activity, students will have the opportunity to push their understanding of loops to a whole new level. Playing with the Bee and Plants vs. Zombies, students will learn how to program a loop to be inside of another loop. They will also be encouraged to figure out how little changes in either loop will affect their program when they click `Run`

.

In this introduction to nested loops, students will go outside of their comfort zone to create more efficient solutions to puzzles. In earlier puzzles, loops pushed students to recognize repetition. Here, students will learn to recognize patterns within repeated patterns to develop these nested loops. This stage starts off by encouraging students to try to solve a puzzle where the code is irritating and complex to write out the long way. After a video introduces nested loops, students are shown an example and asked to predict what will happen when a loop is put inside of another loop. This progression leads to plenty of practice for students to solidify and build on their understanding of looping in programming.

Students will be able to:

- break complex tasks into smaller repeatable sections.

- recognize large repeated patterns as made from smaller repeated patterns.

- identify the benefits of using a loop structure instead of manual repetition.

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

2) Formulate a list of sub-problems to consider while addressing a larger problem.

Problem - light bulb does not light; sub-problem - steps to resolve why.

[DLIT] (4) 9 :

3) Show that different solutions exist for the same problem or sub-problem.

[DLIT] (4) 27 :

One of the most magnificent structures in the computer science world is the function. Functions (sometimes called procedures) are mini-programs that you can use over and over inside of your bigger program. This lesson will help students intuitively understand why combining chunks of code into functions can be such a helpful practice.

The use of functions helps simplify code and develop the students' ability to organize their program. Students will quickly recognize that writing functions can make their long programs easier to read and easier to debug if something goes wrong.

Students will be able to:

- locate repeating phrases inside song lyrics.

- identify sections of a song to pull into a function.

- describe how functions can make programs easier to write.

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