ALEX Classroom Resources

ALEX Classroom Resources  
   View Standards     Standard(s): [ARTS] MUS (3) 4 :
4) Use standard and/or iconic notation and/or recording technology to document personal rhythmic and melodic musical ideas.

[ARTS] MUS (4) 4 :
4) Use standard and/or iconic notation and/or recording technology to document personal rhythmic, melodic, and simple harmonic musical ideas.

[ARTS] MUS (5) 4 :
4) Use standard and/or iconic notation and/or recording technology to document personal rhythmic, melodic, and two-chord harmonic musical ideas.

[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) 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) 12 :
6) Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs.

Subject: Arts Education (3 - 5), Digital Literacy and Computer Science (3 - 5)
Title: Scratch
URL: https://scratch.mit.edu/projects/editor/?tutorial=music
Description:

In this activity from Scratch, students will use coding skills to create their own compositions. 



   View Standards     Standard(s): [DLIT] (1) 9 :
3) Construct elements of a simple computer program in collaboration with others.

Examples: Block programming, basic robotics, unplugged programming.

[DLIT] (2) 9 :
3) Construct elements of a simple computer program using basic commands.

Examples: Digital block-based programming, basic robotics.

[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) 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.

Subject: Digital Literacy and Computer Science (1 - 4)
Title: Tynker Hour of Code Puzzle: Candy Quest
URL: https://www.tynker.com/hour-of-code/candy-quest
Description:

Students are introduced to computer programming concepts as they solve basic coding puzzles, and enhance STEM learning outcomes as they play a fun coding adventure game. Learn skills such as patterning, sequencing, loops, conditionals, critical thinking, and problem-solving, while leading a personalized troll through the adventure! This interactive game can be used during a lesson on constructing elements of a simple computer program in collaboration with others. A teacher's guide and answer key are available. Est. time: 30 min. More free coding activities @ Tynker.



   View Standards     Standard(s): [DLIT] (2) 9 :
3) Construct elements of a simple computer program using basic commands.

Examples: Digital block-based programming, basic robotics.

[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) 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) 12 :
6) Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs.

Subject: Digital Literacy and Computer Science (2 - 5)
Title: How to Make a Video Game
URL: https://aptv.pbslearningmedia.org/resource/2143a241-f8d9-4a54-a4a5-b9634797bd28/make-a-video-game/
Description:

Video games are fun to play, but have you ever wondered how to make one? Carmelo, a grad student in the MIT Media Lab, shows how anyone can start learning how to create video games by talking to machines through programming languages using block-based programming. This video can be played to introduce a lesson on computer programming.



   View Standards     Standard(s): [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) 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) 22 :
16) Gather and organize data to answer a question using a variety of computing and data visualization methods.

Examples: Sorting, totaling, averaging, charts, and graphs.

[DLIT] (4) 25 :
19) Use data from a simulation to answer a question collaboratively.

[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.

[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] (5) 27 :
21) Manipulate data to answer a question using a variety of computing methods and tools to collect, organize, graph, analyze, and publish the resulting information.

[DLIT] (5) 32 :
26) Connect data from a simulation to real-life events.

[DLIT] (6) 11 :
5) Identify algorithms that make use of sequencing, selection or iteration.

Examples: Sequencing is doing steps in order (put on socks, put on shoes, tie laces); selection uses a Boolean condition to determine which of two parts of an algorithm are used (hair is dirty? True, wash hair; false, do not); iteration is the repetition of part of an algorithm until a condition is met (if you're happy and you know it clap your hands, when you're no longer happy you stop clapping).

[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).

Subject: Digital Literacy and Computer Science (3 - 7)
Title: Sports
URL: https://csfirst.withgoogle.com/c/cs-first/en/sports/overview.html
Description:

Students use computer science to simulate extreme sports, make their own fitness gadget commercial, and create commentary for a big sporting event.

Sports 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] (3) 8 :
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.

[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.

[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.

[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

[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.

Subject: Digital Literacy and Computer Science (3 - 8)
Title: Art
URL: https://csfirst.withgoogle.com/c/cs-first/en/art/overview.html
Description:

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] (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) 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) 12 :
6) Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs.

[ELA2021] (3) 33 :
33. Write personal or fictional narratives with a logical plot (sequence of events), characters, transitions, and a sense of closure.
[ELA2021] (4) 35 :
35. Write personal or fictional narratives using a logical plot, transitional words and phrases, sensory details, and dialogue, and providing a sense of closure.
[ELA2021] (5) 34 :
34. Write personal or fictional narratives incorporating literary elements (characters, plot, setting, conflict), dialogue, strong voice, and clear event sequences.
Subject: Digital Literacy and Computer Science (3 - 5), English Language Arts (3 - 5)
Title: An Unusual Discovery
URL: https://csfirst.withgoogle.com/c/cs-first/en/an-unusual-discovery/an-unusual-discovery/an-unusual-discovery.html
Description:

An Unusual Discovery is designed to be completed within 45-75 minutes. Students watch a series of videos to create a coding project. Students personalize their project using mini-coding challenges called "add-ons.”

In this activity, students will sequence dialogue to tell a story. They animate interactions between characters, their backdrops, and a surprising object. This activity introduces students to computer science and the programming language Scratch. Students will use different Scratch blocks to create their own unique stories.

By selecting add-on videos that present coding challenges, students will:
- Use event blocks (like “when flag clicked”) to trigger a series of code.
- Sequence at least 3 “say” blocks between two sprites (characters) to construct a dialogue.
- Program a conditional so that the computer can make a decision based on user response.
- Produce repeated movements by applying control blocks to their program.

The teacher's resource can be accessed here and a lesson plan is available here



   View Standards     Standard(s): [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) 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) 12 :
6) Create a working program in a block-based visual programming environment using arithmetic operators, conditionals, and repetition in programs.

Subject: Digital Literacy and Computer Science (3 - 5)
Title: High Seas Activity
URL: https://csfirst.withgoogle.com/c/cs-first/en/high-seas-activity/overview.html
Description:

In this activity, students use code to animate an ocean wave and tell a story that takes place on the high seas. This activity introduces students to computer science and the programming language Scratch. Students will use different Scratch blocks to create their own unique stories. 

Adventure on the High Seas is a sample activity designed to be completed within 45-75 minutes. 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] (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) 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.

[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) 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.

Subject: Digital Literacy and Computer Science (3 - 6)
Title: Gumball's Coding Adventure
URL: https://csfirst.withgoogle.com/c/cs-first/en/gumballs-coding-adventure/overview.html
Description:

This sample activity is a collaboration between Cartoon Network and CS First. Students will tell a story using the characters from “The Amazing World of Gumball". This activity introduces students to computer science and the programming language Scratch. Students will use different Scratch blocks to create their own unique stories.

Gumball’s Coding Adventure is a simple activity designed to be completed within 45-75 minutes. 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] (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) 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) 22 :
16) Gather and organize data to answer a question using a variety of computing and data visualization methods.

Examples: Sorting, totaling, averaging, charts, and graphs.

[DLIT] (4) 25 :
19) Use data from a simulation to answer a question collaboratively.

[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.

[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] (5) 27 :
21) Manipulate data to answer a question using a variety of computing methods and tools to collect, organize, graph, analyze, and publish the resulting information.

[DLIT] (6) 11 :
5) Identify algorithms that make use of sequencing, selection or iteration.

Examples: Sequencing is doing steps in order (put on socks, put on shoes, tie laces); selection uses a Boolean condition to determine which of two parts of an algorithm are used (hair is dirty? True, wash hair; false, do not); iteration is the repetition of part of an algorithm until a condition is met (if you're happy and you know it clap your hands, when you're no longer happy you stop clapping).

[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] (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

[DLIT] (8) 11 :
5) Discuss the efficiency of an algorithm or technology used to solve complex problems.

[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.

Subject: Digital Literacy and Computer Science (3 - 8)
Title: Music & Sound
URL: https://csfirst.withgoogle.com/c/cs-first/en/music-and-sound/overview.html
Description:

In Music & Sound, students use the computer to play musical notes, create a music video, and build an interactive music display while learning how programming is used to create music.

Music 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) 6 :
R6) Produce, review, and revise authentic artifacts that include multimedia using appropriate digital tools.

[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.

[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.

[DLIT] (5) 6 :
R6) Produce, review, and revise authentic artifacts that include multimedia using appropriate digital tools.

[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.

[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] (5) 34 :
28) Develop, test, and refine prototypes as part of a cyclical design process to solve a complex problem.

Examples: Design backpack for a specific user's needs; design a method to collect and transport water without the benefit of faucets; design boats that need to hold as much payload as possible before sinking; design models of chairs based on specific user needs.

[DLIT] (6) 6 :
R6) Produce, review, and revise authentic artifacts that include multimedia using appropriate digital tools.

[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) 6 :
R6) Produce, review, and revise authentic artifacts that include multimedia using appropriate digital tools.

[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) 6 :
R6) Produce, review, and revise authentic artifacts that include multimedia using appropriate digital tools.

[DLIT] (8) 7 :
1) Design a function using a programming language that demonstrates abstraction.

Example: Create a program that utilizes functions in an effort remove repetitive sequences of steps.

[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

[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) 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.

Subject: Digital Literacy and Computer Science (4 - 8)
Title: Game Design
URL: https://csfirst.withgoogle.com/c/cs-first/en/game-design/overview.html
Description:

In Game Design, students learn basic video game coding concepts by making different types of games, including racing, platform, launching, and more! 

Game Design 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 :
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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 16: Functions With Harvester (2018)
URL: https://curriculum.code.org/csf-18/coursee/16/
Description:

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 statements.

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 :
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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 18: Functions With Artists (2018)
URL: https://curriculum.code.org/csf-18/coursee/18/
Description:

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 :
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.

[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) 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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 19: Determine the Concept (2018)
URL: https://curriculum.code.org/csf-18/coursee/19/
Description:

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) 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 :
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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 20: Learning Sprite Lab (2018)
URL: https://curriculum.code.org/csf-18/coursee/20/
Description:

In this lesson, students will learn about the two concepts at the heart of Sprite Lab: sprites and behaviors. Sprites are characters or objects on the screen that students can move, change, and manipulate. Behaviors are actions that sprites will take continuously until they are stopped.

This lesson is designed to introduce students to the core vocabulary of Sprite Lab, and allow them to apply concepts they learned in other environments to this tool. By creating a fish tank, students will begin to form an understanding of the programming model of this tool and explore ways they can use it to express themselves.

Students will be able to:
- define “sprite” as a character or object on the screen that can be moved and changed.
- create a new sprite and choose its appearance.

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



   View Standards     Standard(s): [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 :
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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 21: Alien Dance Party (2018)
URL: https://curriculum.code.org/csf-18/coursee/21/
Description:

This lesson features Sprite Lab, a platform where students can create their own alien dance party with interactions between characters and user input. Students will work with events to create game controls.

Students will use events to make characters move around the screen, make noises, and change backgrounds based on user input. This lesson offers a great introduction to events in programming and even gives a chance to show creativity! At the end of the puzzle sequence, students will be presented with the opportunity to share their projects.

Students will be able to:
- identify actions that correlate to input events.
- create an animated, interactive game using sequence and events.

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



   View Standards     Standard(s): [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 :
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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 22: Pet Giraffe (2018)
URL: https://curriculum.code.org/csf-18/coursee/22/
Description:

Students will use Sprite Lab to play with sprites and their properties. Students will use events, behaviors, and custom code to create their very own pet giraffe that gets hungry, playful, and even filthy!

Students will use events to make characters move around the screen, change size, and change colors based on user input. This lesson offers a great introduction to events in programming and even gives a chance to show creativity!

Students will be able to:
- identify actions that correlate to input events.
- create an animated, interactive game using sequence and events.

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



   View Standards     Standard(s): [DLIT] (4) 6 :
R6) Produce, review, and revise authentic artifacts that include multimedia using appropriate digital tools.

[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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 25: Build Your Project (2018)
URL: https://curriculum.code.org/csf-18/coursee/25/
Description:

Over the course of four lessons, students will be building up to programming a project of their own design using either Sprite Lab or Artist as their programming environment. Now the students will be given their own space to create their project with either Artist or Sprite Lab. This is likely to be the longest stage of the project. The lesson guide for all four stages of the process can be found in the first stage of this project process here.

This lesson provides students with ample time to build and revise their projects. The trial and error inevitably involved in this lesson will teach problem solving and persistence.

Students will be able to:
- use the planned design as a blueprint for creation.
- overcome obstacles such as time constraints or bugs.

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 :
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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 2: Coding with Comments (2018)
URL: https://curriculum.code.org/csf-18/coursee/2/
Description:

In this set of puzzles, students will begin with an introduction (or review depending on the experience of your class) of Code.org's online workspace. There will be videos pointing out the basic functionality of the workspace including the Run, Reset, and Step buttons. Also discussed in these videos: dragging Blockly blocks, deleting Blockly blocks, and connecting Blockly blocks. Next, students will practice their sequencing and debugging skills in a maze.

We recognize that every classroom has a spectrum of understanding for every subject. Some students in your class may be computer wizards, while others haven't had much experience at all. In order to create an equal playing (and learning) field, we have developed this "Ramp Up Stage" for Course E. This can be used as either an introduction or a review of how to use Code.org and basic computer science concepts.

Students will be able to:
- order movement commands as sequential steps in a program.
- modify an existing program to solve errors.
- break down a long sequence of instructions into the largest repeatable sequence.

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 :
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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 4: Debugging with Scrat (2018)
URL: https://curriculum.code.org/csf-18/coursee/4/
Description:

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.



   View Standards     Standard(s): [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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 5: Creating Art With Code (2018)
URL: https://curriculum.code.org/csf-18/coursee/5/
Description:

In this lesson, students will take control of the Artist to complete drawings on the screen. This Artist stage will allow students to create images of increasing complexity using new blocks like move forward by 100 pixels and turn right by 90 degrees.

Building off of the students' previous experience with sequencing, this lesson will work to inspire more creativity with coding. The purpose of this lesson is to solidify knowledge of sequencing by introducing new blocks and goals. In this case, students learn more about pixels and angles using the new blocks, while still practicing their sequencing skills. Also, students will be able to visualize new goals such as coding the Artist to draw a square.

Students will be able to:
- create a program to complete an image using sequential steps.
- break complex shapes into simple parts.

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 :
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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 6: My Loopy Robotic Friends (2018)
URL: https://curriculum.code.org/csf-18/coursee/6/
Description:

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 :
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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 7: Drawing Shapes With Loops (2018)
URL: https://curriculum.code.org/csf-18/coursee/7/
Description:

Watch student faces light up as they make their own gorgeous designs using a small number of blocks and digital stickers! This lesson builds on the understanding of loops from previous lessons and gives students a chance to be truly creative. This activity is fantastic for producing artifacts for portfolios or parent/teacher conferences.

This series highlights the power of loops with creative and personal designs. Offered as a project-backed sequence, this progression will allow students to build on top of their own work and create amazing artifacts.

Students will be able to:
- identify the benefits of using a loop structure instead of manual repetition.
- differentiate between commands that need to be repeated in loops and commands that should be used on their own.

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 :
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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 8: Nested Loops in Maze (2018)
URL: https://curriculum.code.org/csf-18/coursee/8/
Description:

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.



   View Standards     Standard(s): [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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 9: Nested Loops With Frozen (2018)
URL: https://curriculum.code.org/csf-18/coursee/9/
Description:

Now that students know how to layer their loops, they can create so many beautiful things. This lesson will take students through a series of exercises to help them create their own portfolio-ready images using Anna and Elsa's excellent ice-skating skills!

In this series, students will get practice nesting loops while creating images that they will be excited to share. Beginning with a handful of instructions, students will make their own decisions when it comes to creating designs for repetition. They will then spin those around a variety of ways to end up with a work of art that is truly unique.

Students will be able to:
- describe when a loop, nested loop, or no loop is needed.
- recognize the difference between using a loop and a nested loop.
- break apart code into the largest repeatable sequences using both loops and nested loops.

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 :
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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 10: Conditionals With Cards (2018)
URL: https://curriculum.code.org/csf-18/coursee/10/
Description:

This lesson demonstrates how conditionals can be used to tailor a program to specific information. We don’t always have all of the information we need when writing a program. Sometimes you will want to do something different in one situation than in another, even if you don't know what situation will be true when your code runs. That is where conditionals come in. Conditionals allow a computer to make a decision, based on the information that is true any time your code is run.

One of the best parts of teaching conditionals is that students already understand the concept from their everyday lives. This lesson merges computer science into the real world by building off of their ability to tell if a condition is true or false. Students will learn to use if statements to declare when a certain command should be run, as well as if / else statements to declare when a command should be run and what do run otherwise. Students may not recognize the word conditionals, but most students will understand the idea of using "if" to make sure that some action only occurs when it is supposed to.

Students will be able to:
- define circumstances when certain parts of a program should run and when they shouldn't.
- determine whether a conditional is met based on criteria.
- traverse a program and predict the outcome, given a set of input.

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 :
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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 11: Conditionals With the Farmer (2018)
URL: https://curriculum.code.org/csf-18/coursee/11/
Description:

This lesson introduces students to while loops and if / else statements. While loops are loops that continue to repeat commands as long as a condition is true. While loops are used when the programmer doesn't know the exact number of times the commands need to be repeated, but the programmer does know what condition needs to be true in order for the loop to continue looping. If / Else statements offer flexibility in programming by running entire sections of code only if something is true, otherwise, it runs something else.

A basic understanding of conditionals is a recommended prerequisite for Course E. We created this introduction to give a review for the students already familiar to conditionals and allow practice for the students that are just learning. If you find that the understanding of conditionals varies widely in your classroom, we recommend a strategic pairing of students when completing this online lesson.

Students will be able to:
- define circumstances when certain parts of a program should run and when they shouldn't.
- determine whether a conditional is met based on criteria.

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



   View Standards     Standard(s): [DLIT] (4) 6 :
R6) Produce, review, and revise authentic artifacts that include multimedia using appropriate digital tools.

[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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 13: Build a Star Wars Game (2018)
URL: https://curriculum.code.org/csf-18/coursee/13/
Description:

In this lesson, students will practice using events to build a game that they can share online. Featuring R2-D2 and other Star Wars characters, students will be guided through events, then given space to create their own game.

CS Fundamentals is not simply about teaching computer science, it is about making computer science fun and exciting. In this series, students will learn about events using popular characters from Star Wars. These puzzles blur the lines between "learning" and "fun". Also, students will learn to recognize regular programming practices in games so that when they play games at home, they can see common computer science principles being used.

Students will be able to:
- create an animated, interactive game using sequence and events.
- identify actions that correlate to input events.

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 :
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.

[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.

Subject: Digital Literacy and Computer Science (4)
Title: Computer Science Fundamentals Unit 6 Course E Lesson 15: Functions in Minecraft (2018)
URL: https://curriculum.code.org/csf-18/coursee/15/
Description:

Students will begin to understand how functions can be helpful in this fun and interactive Minecraft adventure! Students will discover the versatility of programming by practicing functions in different environments. Here, students will recognize reusable patterns and be able to incorporate named blocks to call pre-defined functions.

Students will be able to:
- use functions to simplify complex programs.
- 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.



ALEX Classroom Resources: 28

Go To Top of page