Request More Info


Not a customer? Learn More

Teacher-Facing Resources


Estimated Time:15 minutes


Score Type:Automatically Graded

Work completed by a student will be automatically graded and the grade will be sent to the Learning Management System (LMS) gradebook

Available Languages: English, Spanish

Primary Objectives:

  • Students will understand that an existing algorithm can be used to create a new algorithm by modifying the process depending on the needs of the new situation.
  • Students will learn that in an algorithmic process, steps can be completed in sequence or in parallel (at the same time). These parallel tasks can help make an algorithm more efficient.
  • Students will learn that many processes involve functions, that are smaller processes that can be defined on their own within the larger process. In computer programming, these are called sub-programs.
  • Students will understand that there may be multiple solutions to a given problem.
  • Students will understand the need to create the least complicated process, and they will learn about various ways to simplify an algorithm in order to improve efficiency and/or make the process easier for a user to follow.
  • Students learn that incremental testing is the step-by-step testing of an algorithm, and that this type of testing is important to find errors in specific steps in an algorithm and is also helpful in simplifying a process.
  • Students will understand that testing should be planned and conducted in a systematic and organized way.

Secondary Objectives:

  • Students will learn about algorithm problem solving and how algorithms are processes can be used to solve problems, make decisions, and complete tasks.
  • Students gain a better understanding of the design process.
  • Students will learn how algorithms are used in computer programming, and that algorithms are necessary in order for computers to complete tasks.
  • Students will learn appropriate terminology used in computer programming.


Algorithm Development 

Technology Education > Information Technology > Programming > Algorithm Development 

Analyze Algorithms 

Technology Education > Information Technology > Programming > Analyze Algorithms 


Technology Education > Information Technology > Internet > Communication 

Control Structures (sequential,conditional etc.) 

Technology Education > Information Technology > Programming > Control Structures (sequential,conditional etc.) 

Debugging and Testing Process 

Technology Education > Information Technology > Programming > Debugging and Testing Process 


Science > Concepts and Processes > Student Application > Investigate / Investigation > Engineering


Science > Concepts and Processes > Data Analysis and Interpretation > Engineering


Science > Concepts and Processes > Problem Solving > Engineering


Science > Concepts and Processes > Student Application > Design Experiments > Engineering

Functional Decomposition

Technology Education > Information Technology > Programming > Functions > Functional Decomposition

Iterations such as Nested Loops, Do-While Loops 

Technology Education > Information Technology > Programming > Iterations such as Nested Loops, Do-While Loops 

Listening / Pay Attention

Language Arts > Communication > Media Literacy / Viewing > Comprehension > Listening / Pay Attention

Look for and make use of structure

Mathematics > Process Standards > Common Core > Look for and make use of structure


Mathematics > Process Standards > Problem Solving > Methods/Steps/Strategies


Mathematics > Process Standards > Computation > Methods/Steps/Strategies

Models and Simulations 

Technology Education > Information Technology > Student Use > Models and Simulations 


Language Arts > Reading / Literature > Comprehension / Analysis > Follow Directions > Nonfiction

Parallel Processing 

Technology Education > Information Technology > Programming > Parallel Processing 

Problem Solving

Social Studies > Process and Literacy Skills > Social Science - History > Problem Solving


Mathematics > Process Standards > Models/Representations > Problem-solving


Science > History / Technology / Social Perspectives > Engineering / Engineering Design Process > Model Construction > Prototype

Technical / Specialized

Language Arts > Communication > Listening Strategies / Context > Content Specific > Technical / Specialized


Technology Education > Information Technology > Technology Use In Society > Design Process > Testing

To Perform Some Task

Science > History / Technology / Social Perspectives > Engineering / Engineering Design Process > Model Construction > To Perform Some Task
Show More
  • Following up on the previous ideas offered in the teacher notes, students can use their existing models of the game play for more complex board games to modify and develop a new game. Students can work with a partner to use the existing game-play algorithm to practice the "use-modify-create" step from this lesson. Partners can then introduce their game to the class.

  • There are many opportunities for students to learn and practice computer programming, or coding, skills online. You may find that your students have experience in coding and programming, and this would be a good opportunity to allow students to work together to create simple computer programs. Some websites that offer rudimentary through advanced skills include Scratch,, and Mozilla Thimble, just to name a few.
S.3.d Students build knowledge by actively exploring real-world issues and problems, developing ideas and theories and pursuing answers and solutions.
S.4.a Students know and use a deliberate design process for generating ideas, testing theories, creating innovative artifacts or solving authentic problems.
S.5.a Students formulate problem definitions suited for technology-assisted methods such as data analysis, abstract models and algorithmic thinking in exploring and finding solutions.
S.5.b Students collect data or identify relevant data sets, use digital tools to analyze them, and represent data in various ways to facilitate problem-solving and decision-making.
S.5.c Students break problems into component parts, extract key information, and develop descriptive models to understand complex systems or facilitate problem-solving.
S.5.d Students understand how automation works and use algorithmic thinking to develop a sequence of steps to create and test automated solutions.
S.6.c Students communicate complex ideas clearly and effectively by creating or using a variety of digital objects such as visualizations, models or simulations.
2-AP-10 Use flowcharts and/or pseudocode to address complex problems as algorithms. (P4.4, P4.1)
2-AP-12 Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals. (P5.1, P5.2)
2-AP-13 Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs. (P3.2)
2-AP-17 Systematically test and refine programs using a range of test cases. (P6.1)
Math.Practice.MP1 Make sense of problems and persevere in solving them.
Math.Practice.MP4 Model with mathematics.
Math.Practice.MP7 Look for and make use of structure.
ELA-Literacy.WHST.6-8.3a Note: Students' narrative skills continue to grow in these grades. The Standards require that students be able to incorporate narrative elements effectively into arguments and informative/explanatory texts. In science and technical subjects, students must be able to write precise enough descriptions of the step-by-step procedures they use in their investigations or technical work that others can replicate them and (possibly) reach the same results.
ISTE seal of compliance for proficiency student standards ISTE seal of compliance for readiness student standards