Not a customer? Learn More


Estimated Time:15 minutes

Score Type:Auto Score

This lesson automatically provides a score to your gradebook

Available Languages: English, Spanish

Primary Objectives:

  • Students will understand the concept of abstraction and how models are abstractions that are used to better understand and solve a problem or complete a task.
  • Students will gain a better understanding of algorithmic processes by examining and analyzing flowcharts, including different process structures.
  • Students will learn how data models are used and how specific data models can be used to show information in ways in which patterns can determined.
  • Students will learn that prototypes are important in the testing process as they are working samples of the algorithms that can be used to test the process and identify any errors or steps that can be improved.
  • Students understand that simulations are usually computer programs that allow for different variables to be tried in order to test an algorithm under different conditions and in different situations.
  • Students learn the basic terminology used in models and simulations, with a focus on flowcharts used to represent algorithms.

Secondary Objectives:

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


Algorithm Development 

Information Technology > Programming > Algorithm Development 

Analyze, compare two or more solutions / Models

Science > History / Technology / Social Perspectives > Engineering / Engineering Design Process > Design Analysis / Systems Testing > Analyze, compare two or more solutions / Models


Information Technology > Internet > Communication 


Mathematics > Process Standards > Models/Representations > Compare

Critical / Analytical Thinking

Language Arts > Life Skills Daily Life > Critical / Analytical Thinking

Design/ construct / evaluate models

Information Technology > Technology Use In Society > Design Process > Design/ construct / evaluate models


Science > Concepts and Processes > Problem Solving > Engineering


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


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


Information Technology > Technology Use In Society > Design Process > Experimentation

Functional Decompositio

Information Technology > Programming > Functions > Functional Decompositio

Iterations such as Nested Loops, Do-While Loops 

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 / Simulations / Design Concepts 

Information Technology > Robotics Programming > Models / Simulations / Design Concepts 

Models and Simulations 

Information Technology > Student Use > Models and Simulations 

Modify / Redesign / Maintain

Information Technology > Technology Use In Society > Design Process > Modify / Redesign / Maintain

Problem Solving

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

Problem Solving 

Information Technology > Student Use > Problem Solving 


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


Information Technology > Software Applications > Simulations 

Technical / Specialized

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

Technological Designs

Science > History / Technology / Social Perspectives > Engineering / Engineering Design Process > Technological Designs

To Perform Some Task

Science > History / Technology / Social Perspectives > Engineering / Engineering Design Process > Model Construction > To Perform Some Task
Show More

Teacher Notes:

  • This lesson focuses on the modeling process and how models are used in algorithms and in the testing process. If students created simple flowcharts in the previous lesson, this is a good opportunity to ask students to revisit those flowcharts and perhaps add more complexity. If the flowcharts are based on the game play of a board game, and if the game chosen is too simple -- or if students did not create flowcharts previously -- ask students to draw out the flowchart for a more complex, multi-step game (examples include Axis and Allies or Settlers of Catan, games that have multiple choices involved in a player's turn). Have students play the games using the flowcharts, instead of reading instructions, and test the process to ensure that the flowchart is accurate and that the game play runs smoothly.

Extension Ideas:

  • Simulations are readily available online in all content areas. You may choose to have students spend time exploring simulations (pHet and iCivics are good websites to visit). Students should run a simulation, takes notes, analyze the process and then draw up flowcharts to represent the simulation. Students can trade their flowcharts with another student that worked on a different simulation, and the students can examine the flowchart for the simulation to check each other's work. Students can share their flowcharts and simulations with the class, focusing on interesting structures or problematic areas.


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.4.c Students develop, test and refine prototypes as part of a cyclical design process.
S.4.d Students exhibit a tolerance for ambiguity, perseverance and the capacity to work with open-ended 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-DA-09 Refine computational models based on the data they have generated. (P5.3, P4.4)
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.RST.6-8.7 Integrate quantitative or technical information expressed in words in a text with a version of that information expressed visually (e.g., in a flowchart, diagram, model, graph, or table).
ISTE seal of compliance for proficiency student standards ISTE seal of compliance for readiness student standards