Teacher-Facing Resources

Type:Lesson

Estimated Time:15 minutes

Grades:6-8

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.

Subjects:

Adjusts Accordingly / Identify

Language Arts > Communication > Speaking Strategies / Presentations > Audience > Adjusts Accordingly / Identify

Algorithm Development 

Technology Education > Information Technology > Programming > Algorithm Development 

Class Hierarchy 

Technology Education > Information Technology > Programming > Class Hierarchy 

Conditional Statements 

Technology Education > Information Technology > Programming > Conditional Statements 

Creativity and Innovation 

Technology Education > Digital Literacy > Student Use > Creativity and Innovation 

Data Types (Identify and Use) 

Technology Education > Information Technology > Programming > Data Types (Identify and Use) 

Draw Conclusions

Language Arts > Communication > Listening Strategies / Context > Interpret / Infer > Draw Conclusions

Identify Message

Language Arts > Communication > Media Literacy / Viewing > Main Idea > Identify Message

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

Methods/Steps/Strategies

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

Models and Simulations 

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

Nonfiction

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

Problem Solving

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

Problem-solving

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

Programming

Science > History / Technology / Social Perspectives > Computer Science > Programming

Respond

Language Arts > Communication > Listening Strategies / Context > Respond

Technical / Specialized

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

Testing

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

Variables 

Technology Education > Information Technology > Programming > Variables 
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, Code.org, and Mozilla Thimble, just to name a few.

See how our curriculum can help you meet your instructional goals

Check it out