STEM Teacher Practicum • 90-Minute Instructional Guide

Algorithms and Flowcharts in STEM Education

Interactive Workshop & Flowchart Resource Powered by Mermaid.js

1. Session Objectives & Schedule

This session prepares preservice educators to structure scientific inquiry and mathematical procedures into verifiable algorithms and standard visual flowcharts.

Time Slot Module Core Learning Focus
00:00 - 00:20 Foundations of Algorithmic Thinking 5 algorithm criteria; science and math cross-curricular applications.
00:20 - 00:40 ANSI/ISO Flowchart Conventions ISO 5807 standard symbols, labeled branches, and control structures.
00:40 - 00:55 Core STEM Exemplars Linear sequence, state-change branch logic, and iterative loops.
00:55 - 01:15 Hands-On Interactive Tasks 4 secondary classroom tasks with hidable Mermaid.js diagrams.
01:15 - 01:30 Pedagogical Synthesis & Rubric Diagnostic rubrics, Parsons puzzles, and misconception remediation.

2. Foundational Principles: What is an Algorithm?

An algorithm is a finite, ordered, unambiguous sequence of instructions designed to solve a problem, perform a computation, or execute a reproducible experiment.

3. Standard Flowchart Symbols (ANSI/ISO 5807)

The standard shapes and directional connectors rendered with native Mermaid.js flowchart syntax:

flowchart TD
    T1(["Terminator (Start / End)"]) --> IO1[/"Input / Output (Data acquisition or display)"/]
    IO1 --> P1["Process (Computation or physical step)"]
    P1 --> D1{"Decision (Boolean test)"}
    D1 -- "Yes / True" --> P2["Action A"]
    D1 -- "No / False" --> P3["Action B"]
    P2 --> T2(["Terminator (End)"])
    P3 --> T2
        

4. Foundational STEM Exemplars

Exemplar A: Pure Sequence • Area & Perimeter of a Rectangle (Math)

A linear, non-branching computation from input dimensions to calculated geometric outputs.

flowchart TD
    Start(["Start"]) --> In[/"Input width, height"/]
    In --> Calc["Area = width * height
Perimeter = 2 * (width + height)"] Calc --> Out[/"Print Area, Perimeter"/] Out --> EndNode(["End"])

Exemplar B: Branching / Selection • Water Phase Classification (Science)

Evaluates temperature conditions at standard atmospheric pressure (1 atm) to classify physical states.

flowchart TD
    Start(["Start"]) --> In[/"Read Temperature (T)"/]
    In --> CheckFreeze{"Is T < 0?"}
    CheckFreeze -- "Yes" --> Solid["State = 'Solid / Ice'"]
    CheckFreeze -- "No" --> CheckBoil{"Is T < 100?"}
    CheckBoil -- "Yes" --> Liquid["State = 'Liquid'"]
    CheckBoil -- "No" --> Gas["State = 'Gas / Steam'"]
    Solid --> Out[/"Print State"/]
    Liquid --> Out
    Gas --> Out
    Out --> EndNode(["End"])
          

Exemplar C: Iteration / Looping • Countdown Timer (Logic)

Demonstrates initial variable assignment, recurring operations, condition testing, and loop-back flowlines.

flowchart TD
    Start(["Start"]) --> Init["Count = 5"]
    Init --> Show[/"Print Count"/]
    Show --> Dec["Count = Count - 1"]
    Dec --> Check{"Is Count > 0?"}
    Check -- "Yes (Loop)" --> Show
    Check -- "No (Exit)" --> Blast[/"Print 'Launch!' "/]
    Blast --> EndNode(["End"])
          

5. Hands-On Interactive Tasks (with Mermaid Solutions)

Click on the Solution Flowchart tab beneath each prompt to view the interactive diagram rendered via Mermaid.js.

Task 1: Even or Odd Number Classifier (Math) Core Logic: Conditional Branch

Classroom Prompt: Design a flowchart that takes an integer N from the user, tests if the number is evenly divisible by 2 using modulo arithmetic (N % 2 == 0), and outputs whether it is "Even" or "Odd".

Solution Flowchart
flowchart TD
    S(["Start"]) --> In[/"Input integer N"/]
    In --> Dec{"Is N % 2 == 0?"}
    Dec -- "Yes" --> Ev[/"Print 'Even'"/]
    Dec -- "No" --> Od[/"Print 'Odd'"/]
    Ev --> E(["End"])
    Od --> E
                
Task 2: Smart Electric Kettle Thermostat (Physics / Engineering) Core Logic: Iterative Sensor Loop

Classroom Prompt: Model a feedback loop for an automated kettle. Switch on the heater, repeatedly monitor water temperature T (°C), and keep heating as long as T < 100. When boiling occurs (T >= 100), turn the heater off and sound an alarm.

Solution Flowchart
flowchart TD
    S(["Start"]) --> HOn["Heater = ON"]
    HOn --> ReadT[/"Read Sensor Temp (T)"/]
    ReadT --> Boiled{"Is T >= 100?"}
    Boiled -- "No (Continue Heating)" --> Wait["Wait 3 seconds"]
    Wait --> ReadT
    Boiled -- "Yes (Boiled)" --> HOff["Heater = OFF"]
    HOff --> Buzzer[/"Sound Alarm Buzzer"/]
    Buzzer --> E(["End"])
                
Task 3: Roadside Speeding Radar (Physics & Kinematics) Core Logic: Sequential Multi-Branch

Classroom Prompt: A physics roadside radar measures the transit time t taken by a vehicle to cross distance d = 100 meters. Calculate velocity v = (100 / t) * 3.6 in km/h. If v <= 90, output "Safe Driving". If 90 < v <= 120, output "Warning Notice". If v > 120, output "Speeding Fine".

Solution Flowchart
flowchart TD
    S(["Start"]) --> In[/"Input time (t) in seconds"/]
    In --> Calc["v = (100 / t) * 3.6 [km/h]"]
    Calc --> C1{"Is v <= 90?"}
    C1 -- "Yes" --> Safe[/"Print 'Safe Driving'"/]
    C1 -- "No" --> C2{"Is v <= 120?"}
    C2 -- "Yes" --> Warn[/"Print 'Warning Notice'"/]
    C2 -- "No" --> Fine[/"Print 'Speeding Fine'"/]
    Safe --> E(["End"])
    Warn --> E
    Fine --> E
                
Task 4: Plant Cell Osmosis Determination (Biology) Core Logic: Comparative Scientific Inquiry

Classroom Prompt: A biology student places a plant tissue sample into a solution with solute concentration C_sol, while the cell cytoplasm concentration is C_cell. Construct an algorithm to determine net water flow and cell state (Plasmolyzed, Isotonic Dynamic Equilibrium, or Turgid).

Solution Flowchart
flowchart TD
    S(["Start"]) --> In[/"Input C_sol and C_cell"/]
    In --> Hyper{"Is C_sol > C_cell?"}
    Hyper -- "Yes (Hypertonic)" --> Plasm[/"Water leaves cell -> Plasmolyzed"/]
    Hyper -- "No" --> Iso{"Is C_sol == C_cell?"}
    Iso -- "Yes (Isotonic)" --> Eq[/"Net flow zero -> Dynamic equilibrium"/]
    Iso -- "No (Hypotonic)" --> Turg[/"Water enters cell -> Turgid"/]
    Plasm --> E(["End"])
    Eq --> E
    Turg --> E
                

6. Diagnostic Assessment Rubric & Teacher Checklist

Use this evaluation matrix to assess student flowcharts and diagnose logical misconceptions during secondary classroom micro-teaching:

Assessment Criterion Exemplary (3 pts) Competent (2 pts) Developing (1 pt)
Syntactic Correctness All shapes conform strictly to ISO conventions; flow directions are unambiguous; no crossing flowlines. Minor shape misallocations (e.g., rectangle for I/O); flow direction mostly clear. Arbitrary shapes used; missing arrowheads; multiple disjoint start points.
Branching Completeness All decision diamonds labeled with binary states (Yes/No) and explicit directional arrows; all paths terminate. Branches labeled; minor dead-end or unhandled edge condition. Unlabeled decision branches; dead ends present; risk of uncontrolled infinite loop.
Domain Precision Variables, mathematical calculations, boundary thresholds, and scientific nomenclature are fully accurate. Minor formula or threshold slip without breaking the overall logical sequence. Conceptual flaws in the underlying mathematical formula or scientific principle.

Instructional Scaffolding Strategies