6-8.AP.10 - Use flowcharts and/or pseudocode to design and illustrate algorithms that solve complex problems.
Complex problems are problems that would be difficult for students to solve without breaking them down into multiple steps. Flowcharts and pseudocode are used to design and illustrate the breakdown of steps in an algorithm. Students design and illustrate algorithms using pseudocode and/or flowcharts that organize and sequence the breakdown of steps for solving complex problems.
One approach for planning out an algorithm is creating a flowchart. A flowchart is a visual representation of the sequence of steps and decisions needed to perform a process. Each step in the sequence is noted within a standardized diagram shape and linked by lines and arrows. This allows anyone to view the flowchart and logically follow the process from beginning to end. The chart below just highlights a fraction of the diagram shapes that are used.
Pseudocode is another planning method for a programmer that uses plain English (or whatever native language) to represent a desired algorithm without having to worry about coding syntax. This approach also allows the programmer to communicate ideas and concepts across different programming languages. There is no standard format for pseudocode.
The ability to both read and create flowcharts is found in the Standards for Mathematical Practice 4: Model with Mathematics. This practice specifies that students can "apply the mathematics they know to solve problems arising in everyday life, society, and the workplace." Furthermore, students are "able to identify important quantities in a practical situation and map their relationships using such tools as diagrams, two-way tables, graphs, flowcharts, and formulas."
The ability to interpret flowcharts also appears in the 6-8 ELA Literacy in History/Social Studies, Science, & Technical Subjects strand, specifically in the domain of Integration of Knowledge and Ideas. Standard 7 (CCSS.ELA-LITERACY.RST.6-8.7) calls for students to "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)."
Besides computer science, flowcharts are used in numerous industries, such as entertainment, engineering, and physical sciences. Flowcharts allow people to communicate how a process works or should work without any technical language.
Create a flowchart to illustrate an algorithm for helping another student determine if they should watch a movie or not based on age of student, rating of movie (G, PG, PG-13, R), movie premise, and review rating.
Create a flowchart to illustrate an algorithm for helping someone determine if they should attend a session at a conference based on timeslot, content and presenter.
👉 (Presentation CUE 2021)
For example, students might use a flowchart to illustrate an algorithm that produces a recommendation for purchasing sneakers based on inputs such as size, colors, brand, comfort, and cost.
Alternatively, students could write pseudocode to express an algorithm for suggesting their outfit for the day, based on inputs such as the weather, color preferences, and day of the week.