Request More Info

Coding

Not a Learning.com customer? Learn More

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.
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.
S.6.d Students publish or present content that customizes the message and medium for their intended audiences.
2-AP-10 Use flowcharts and/or pseudocode to address complex problems as algorithms. (P4.4, P4.1)
2-AP-11 Create clearly named variables that represent different data types and perform operations on their values. (P5.1, P5.2)
2-AP-12 Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals. (P5.1, P5.2)
ELA-Literacy.SL.6.2 Interpret information presented in diverse media and formats (e.g., visually, quantitatively, orally) and explain how it contributes to a topic, text, or issue under study.
ELA-Literacy.SL.7.2 Analyze the main ideas and supporting details presented in diverse media and formats (e.g., visually, quantitatively, orally) and explain how the ideas clarify a topic, text, or issue under study.
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).