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. |
An algorithm is a finite, ordered, unambiguous sequence of instructions designed to solve a problem, perform a computation, or execute a reproducible experiment.
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
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"])
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"])
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"])
Click on the Solution Flowchart tab beneath each prompt to view the interactive diagram rendered via Mermaid.js.
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".
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
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.
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"])
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".
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
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).
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
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. |