From f774d36d744e7d3b33cfba1fb9ca6d2eb01cca3b Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 8 Nov 2025 22:59:06 +0000 Subject: [PATCH 1/5] Fix activity completion and progression issues in activities 30-37 This commit addresses two critical issues: 1. Completion Bug (activities 30-37): - Final steps were looping forever, preventing activity completion - Fixed by removing next_section_and_step from completion transitions - Kept off_topic transition looping to avoid validator terminal step errors - Activities now complete properly when users give valid final answers 2. Activity37 Bucket Logic: - Changed "close" bucket to retry same step instead of advancing - Only "correct" bucket now advances to next step - All other buckets (close, incomplete, wrong_language, etc.) retry - This ensures students must get correct answers to progress Technical Details: - Final steps are not considered "terminal" if at least one transition has next_section_and_step (validator requirement) - Off-topic transitions loop back to allow another attempt - Completion happens when get_next_step() returns None, None Validation: - All 8 activities pass activity_yaml_validator.py - No errors or warnings Affects: activity30-37 (all new merged activities) --- research/activity30-logic-puzzles.yaml | 1083 ++++----- research/activity31-scientific-method.yaml | 1403 ++++++------ research/activity32-world-geography.yaml | 1644 +++++++------- .../activity33-environmental-science.yaml | 1317 ++++++----- research/activity34-media-literacy.yaml | 1471 ++++++------ research/activity35-american-history.yaml | 1479 ++++++------ research/activity36-biblical-history.yaml | 1906 ++++++++-------- .../activity37-programming-languages.yaml | 2006 +++++++++-------- 8 files changed, 6612 insertions(+), 5697 deletions(-) diff --git a/research/activity30-logic-puzzles.yaml b/research/activity30-logic-puzzles.yaml index ff0454c..9486413 100644 --- a/research/activity30-logic-puzzles.yaml +++ b/research/activity30-logic-puzzles.yaml @@ -1,539 +1,598 @@ default_max_attempts_per_step: 3 +tokens_for_ai_rubric: 'Evaluate the student''s performance throughout the logic puzzle activity. -tokens_for_ai_rubric: | - Evaluate the student's performance throughout the logic puzzle activity. Consider: + - Their ability to reason through logical statements + - Understanding of deductive reasoning + - Improvement over the course of the activity + - Engagement with explanations + Provide encouraging feedback and suggest areas for continued practice. + ' sections: - - section_id: "introduction" - title: "Welcome to Logic Puzzles" - steps: - - step_id: "welcome" - title: "Welcome to Logic Puzzles" +- section_id: introduction + title: Welcome to Logic Puzzles + steps: + - step_id: welcome + title: Welcome to Logic Puzzles + content_blocks: + - '# Welcome to Critical Thinking & Logic Puzzles!' + - In this activity, you'll develop your logical reasoning skills through a series of engaging puzzles. + - You'll learn to identify logical patterns, make deductions, and think critically. + - '**What you''ll learn:**' + - '- How to analyze logical statements' + - '- Deductive reasoning techniques' + - '- Pattern recognition' + - '- How to avoid common logical fallacies' + - '' + - Let's begin your journey into the world of logic! + question: Are you ready to sharpen your logical thinking skills? + tokens_for_ai: 'The student is expressing readiness to begin. Accept any positive, affirming response. + + Categorize as: + + - ready: Student is ready to proceed + + - set_language: Student is setting language preference + + - off_topic: Completely unrelated response + + ' + buckets: + - ready + - set_language + - off_topic + transitions: + ready: content_blocks: - - "# Welcome to Critical Thinking & Logic Puzzles!" - - "In this activity, you'll develop your logical reasoning skills through a series of engaging puzzles." - - "You'll learn to identify logical patterns, make deductions, and think critically." - - "**What you'll learn:**" - - "- How to analyze logical statements" - - "- Deductive reasoning techniques" - - "- Pattern recognition" - - "- How to avoid common logical fallacies" - - "" - - "Let's begin your journey into the world of logic!" - question: "Are you ready to sharpen your logical thinking skills?" - tokens_for_ai: | - The student is expressing readiness to begin. Accept any positive, affirming response. - Categorize as: - - ready: Student is ready to proceed - - set_language: Student is setting language preference - - off_topic: Completely unrelated response - buckets: - - ready - - set_language - - off_topic - transitions: - ready: - content_blocks: - - "Excellent! Let's start with the fundamentals of logical reasoning." - next_section_and_step: "section_1:step_1" - set_language: - content_blocks: - - "I'll communicate with you in your preferred language." - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - off_topic: - content_blocks: - - "Let's focus on beginning our logic journey. Are you ready to start?" - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - - - section_id: "section_1" - title: "Basic Logical Statements" - steps: - - step_id: "step_1" - title: "Understanding Logical Statements" + - Excellent! Let's start with the fundamentals of logical reasoning. + next_section_and_step: section_1:step_1 + set_language: content_blocks: - - "## Understanding Logical Statements" - - "Logic is about drawing valid conclusions from given information." - - "" - - "**Basic principle:** If A is true, and 'A implies B' is true, then B must be true." - - "" - - "**Example:**" - - "- Statement 1: All cats are mammals." - - "- Statement 2: Whiskers is a cat." - - "- Conclusion: Therefore, Whiskers is a mammal." - - "" - - "This is called **deductive reasoning** - going from general rules to specific cases." - question: "Based on this reasoning, if 'All birds have feathers' and 'A robin is a bird', what can we conclude?" - tokens_for_ai: | - The student should conclude that a robin has feathers. - Categorize as: - - correct: States that robin has feathers (exact wording doesn't matter) - - partial_understanding: Mentions birds or feathers but incomplete reasoning - - limited_effort: Very brief or unclear answer - - off_topic: Unrelated response - feedback_tokens_for_ai: | - Provide feedback on their logical reasoning. If incorrect, gently explain the deductive - process: since ALL birds have feathers, and a robin IS a bird, then the robin must have feathers. - buckets: - - correct - - partial_understanding - - limited_effort - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Praise their correct deductive reasoning and encourage them to continue." - metadata_add: - score: "n+1" - puzzles_solved: "n+1" - next_section_and_step: "section_1:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "Acknowledge what they got right, then gently guide them to the complete answer." - next_section_and_step: "section_1:step_2" - limited_effort: - ai_feedback: - tokens_for_ai: "Encourage them to think more carefully about the logical structure and try again." - next_section_and_step: "section_1:step_1" - off_topic: - content_blocks: - - "Let's stay focused on the logic puzzle. Think about what we can deduce from the two statements." - next_section_and_step: "section_1:step_1" - - - step_id: "step_2" - title: "The Contrapositive" + - I'll communicate with you in your preferred language. + counts_as_attempt: false + next_section_and_step: introduction:welcome + off_topic: content_blocks: - - "## The Contrapositive" - - "Great! Now let's learn about the **contrapositive** - a powerful logical tool." - - "" - - "If we know: 'If A, then B' is true" - - "Then we also know: 'If NOT B, then NOT A' is true" - - "" - - "**Example:**" - - "- Original: 'If it's raining, then the ground is wet'" - - "- Contrapositive: 'If the ground is NOT wet, then it's NOT raining'" - - "" - - "Both statements are logically equivalent!" - - "" - - "**Practice:** We know: 'If you study hard, you will pass the test.'" - question: "What is the contrapositive of this statement?" - tokens_for_ai: | - The correct contrapositive is: "If you don't pass the test, then you didn't study hard" - or any equivalent phrasing. + - Let's focus on beginning our logic journey. Are you ready to start? + counts_as_attempt: false + next_section_and_step: introduction:welcome +- section_id: section_1 + title: Basic Logical Statements + steps: + - step_id: step_1 + title: Understanding Logical Statements + content_blocks: + - '## Understanding Logical Statements' + - Logic is about drawing valid conclusions from given information. + - '' + - '**Basic principle:** If A is true, and ''A implies B'' is true, then B must be true.' + - '' + - '**Example:**' + - '- Statement 1: All cats are mammals.' + - '- Statement 2: Whiskers is a cat.' + - '- Conclusion: Therefore, Whiskers is a mammal.' + - '' + - This is called **deductive reasoning** - going from general rules to specific cases. + question: Based on this reasoning, if 'All birds have feathers' and 'A robin is a bird', what can we conclude? + tokens_for_ai: 'The student should conclude that a robin has feathers. - Categorize as: - - correct: Correctly identifies the contrapositive (not passing → didn't study) - - partial_understanding: Gets the concept but reverses incorrectly or incomplete - - logical_error: Confuses with converse or inverse - - limited_effort: Very brief or doesn't attempt to construct the statement - - off_topic: Unrelated - feedback_tokens_for_ai: | - If correct, praise their understanding. If incorrect, explain that the contrapositive - negates both parts AND reverses them. Common error: converse (if B then A) is NOT - logically equivalent to the original. - buckets: - - correct - - partial_understanding - - logical_error - - limited_effort - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Excellent work! You've grasped an important logical concept. Explain why contrapositives are useful in reasoning." - metadata_add: - score: "n+1" - puzzles_solved: "n+1" - next_section_and_step: "section_2:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're on the right track. Explain the contrapositive clearly and encourage them." - metadata_add: - score: "n+1" - next_section_and_step: "section_2:step_1" - logical_error: - ai_feedback: - tokens_for_ai: "Explain the difference between contrapositive, converse, and inverse. Give them another example." - next_section_and_step: "section_1:step_2" - limited_effort: - content_blocks: - - "Take your time. Remember: negate both parts AND reverse the order." - next_section_and_step: "section_1:step_2" - off_topic: - content_blocks: - - "Let's focus on constructing the contrapositive statement." - next_section_and_step: "section_1:step_2" + Categorize as: - - section_id: "section_2" - title: "Syllogisms and Deduction" - steps: - - step_id: "step_1" - title: "Classic Syllogism Puzzle" + - correct: States that robin has feathers (exact wording doesn''t matter) + + - partial_understanding: Mentions birds or feathers but incomplete reasoning + + - limited_effort: Very brief or unclear answer + + - off_topic: Unrelated response + + ' + feedback_tokens_for_ai: 'Provide feedback on their logical reasoning. If incorrect, gently explain the deductive + + process: since ALL birds have feathers, and a robin IS a bird, then the robin must have feathers. + + ' + buckets: + - correct + - partial_understanding + - limited_effort + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Praise their correct deductive reasoning and encourage them to continue. + metadata_add: + score: n+1 + puzzles_solved: n+1 + next_section_and_step: section_1:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: Acknowledge what they got right, then gently guide them to the complete answer. + next_section_and_step: section_1:step_2 + limited_effort: + ai_feedback: + tokens_for_ai: Encourage them to think more carefully about the logical structure and try again. + next_section_and_step: section_1:step_1 + off_topic: content_blocks: - - "## Classic Syllogism Puzzle" - - "A **syllogism** is a form of logical argument with two premises and a conclusion." - - "" - - "**Here's your puzzle:**" - - "" - - "**Premise 1:** All philosophers love wisdom." - - "**Premise 2:** Socrates is a philosopher." - - "**Premise 3:** No one who loves wisdom is foolish." - - "" - - "What can we logically conclude about Socrates?" - question: "What must be true about Socrates based on these premises?" - tokens_for_ai: | - The correct conclusion is that Socrates is not foolish (or Socrates loves wisdom, which also leads to not being foolish). + - Let's stay focused on the logic puzzle. Think about what we can deduce from the two statements. + next_section_and_step: section_1:step_1 + - step_id: step_2 + title: The Contrapositive + content_blocks: + - '## The Contrapositive' + - Great! Now let's learn about the **contrapositive** - a powerful logical tool. + - '' + - 'If we know: ''If A, then B'' is true' + - 'Then we also know: ''If NOT B, then NOT A'' is true' + - '' + - '**Example:**' + - '- Original: ''If it''s raining, then the ground is wet''' + - '- Contrapositive: ''If the ground is NOT wet, then it''s NOT raining''' + - '' + - Both statements are logically equivalent! + - '' + - '**Practice:** We know: ''If you study hard, you will pass the test.''' + question: What is the contrapositive of this statement? + tokens_for_ai: 'The correct contrapositive is: "If you don''t pass the test, then you didn''t study hard" - Categorize as: - - correct: States Socrates is not foolish, or loves wisdom, or both - - partial_understanding: Gets one conclusion but not the full chain of reasoning - - limited_effort: Too brief or unclear - - off_topic: Unrelated or makes up facts not in premises - feedback_tokens_for_ai: | - Guide them through the logical chain if needed: - 1. Socrates is a philosopher - 2. All philosophers love wisdom → Socrates loves wisdom - 3. No one who loves wisdom is foolish → Socrates is not foolish - buckets: - - correct - - partial_understanding - - limited_effort - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Excellent deductive reasoning! You followed the logical chain perfectly." - metadata_add: - score: "n+1" - puzzles_solved: "n+1" - next_section_and_step: "section_2:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "Good start! Can you extend your reasoning further using all three premises?" - next_section_and_step: "section_2:step_1" - limited_effort: - content_blocks: - - "Try working through each premise step by step. What do we know about philosophers? What do we know about Socrates?" - next_section_and_step: "section_2:step_1" - off_topic: - content_blocks: - - "Focus only on what the premises tell us. What can we deduce step by step?" - next_section_and_step: "section_2:step_1" + or any equivalent phrasing. - - step_id: "step_2" - title: "Truth Tables and Logical Consistency" + + Categorize as: + + - correct: Correctly identifies the contrapositive (not passing → didn''t study) + + - partial_understanding: Gets the concept but reverses incorrectly or incomplete + + - logical_error: Confuses with converse or inverse + + - limited_effort: Very brief or doesn''t attempt to construct the statement + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If correct, praise their understanding. If incorrect, explain that the contrapositive + + negates both parts AND reverses them. Common error: converse (if B then A) is NOT + + logically equivalent to the original. + + ' + buckets: + - correct + - partial_understanding + - logical_error + - limited_effort + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Excellent work! You've grasped an important logical concept. Explain why contrapositives are useful in reasoning. + metadata_add: + score: n+1 + puzzles_solved: n+1 + next_section_and_step: section_2:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: You're on the right track. Explain the contrapositive clearly and encourage them. + metadata_add: + score: n+1 + next_section_and_step: section_2:step_1 + logical_error: + ai_feedback: + tokens_for_ai: Explain the difference between contrapositive, converse, and inverse. Give them another example. + next_section_and_step: section_1:step_2 + limited_effort: content_blocks: - - "## Truth Tables and Logical Consistency" - - "Sometimes we need to check if statements are consistent with each other." - - "" - - "**The Scenario:**" - - "Three friends make the following statements:" - - "" - - "**Alice:** 'If Bob is telling the truth, then Carol is lying.'" - - "**Bob:** 'I am telling the truth.'" - - "**Carol:** 'Alice is telling the truth.'" - - "" - - "Let's assume Bob IS telling the truth (as he claims)." - question: "If Bob is telling the truth, is there a logical contradiction? If so, where?" - tokens_for_ai: | - Let's work through this: - - If Bob is telling the truth (as assumed) - - Then by Alice's statement, Carol must be lying - - But Carol says "Alice is telling the truth" - - If Carol is lying (as we deduced), then Alice must be lying - - But this contradicts our assumption that Alice's statement about Bob/Carol is valid - - Student should identify that there IS a contradiction, or that Carol must be lying. - - Categorize as: - - correct: Identifies the contradiction or that Carol must be lying - - partial_understanding: Sees some inconsistency but doesn't fully explain it - - confused: Gets lost in the logic - - limited_effort: Very brief answer - - asking_clarifying_questions: Requests help or clarification - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they're struggling, walk through it step by step. This is a harder puzzle, so be - encouraging. The key insight is following the chain of implications. - buckets: - - correct - - partial_understanding - - confused - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Brilliant! You navigated a complex logical scenario. Explain the full chain of reasoning." - metadata_add: - score: "n+2" - puzzles_solved: "n+1" - next_section_and_step: "section_3:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're getting there! Let's trace through what each statement implies step by step." - metadata_add: - hints_used: "n+1" - next_section_and_step: "section_2:step_2" - confused: - content_blocks: - - "Let's break it down:" - - "1. Assume Bob tells the truth" - - "2. What does Alice's statement tell us about Carol?" - - "3. What does Carol's statement tell us about Alice?" - - "4. Do these work together?" - metadata_add: - hints_used: "n+1" - next_section_and_step: "section_2:step_2" - limited_effort: - content_blocks: - - "Take your time and work through each person's statement carefully." - next_section_and_step: "section_2:step_2" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question and provide helpful hints about how to approach the problem." - counts_as_attempt: false - next_section_and_step: "section_2:step_2" - off_topic: - content_blocks: - - "Let's focus on analyzing the logical consistency of the three statements." - next_section_and_step: "section_2:step_2" - - - section_id: "section_3" - title: "Knights and Knaves" - steps: - - step_id: "step_1" - title: "The Island of Knights and Knaves" + - 'Take your time. Remember: negate both parts AND reverse the order.' + next_section_and_step: section_1:step_2 + off_topic: content_blocks: - - "## The Island of Knights and Knaves" - - "This is a classic logic puzzle type!" - - "" - - "**The Rules:**" - - "- Knights ALWAYS tell the truth" - - "- Knaves ALWAYS lie" - - "- Everyone is either a knight or a knave" - - "" - - "**The Puzzle:**" - - "You meet two people, A and B." - - "" - - "**Person A says:** 'At least one of us is a knave.'" - - "" - - "What are A and B?" - question: "Is A a knight or a knave? Is B a knight or a knave? Explain your reasoning." - tokens_for_ai: | - Solution: - - If A is a knave (liar), then the statement "at least one of us is a knave" would be false, - meaning both are knights. But A can't be both a knight and a knave - contradiction! - - Therefore A must be a knight (truth-teller) - - Since A tells the truth, "at least one of us is a knave" is true - - Since A is a knight, B must be the knave + - Let's focus on constructing the contrapositive statement. + next_section_and_step: section_1:step_2 +- section_id: section_2 + title: Syllogisms and Deduction + steps: + - step_id: step_1 + title: Classic Syllogism Puzzle + content_blocks: + - '## Classic Syllogism Puzzle' + - A **syllogism** is a form of logical argument with two premises and a conclusion. + - '' + - '**Here''s your puzzle:**' + - '' + - '**Premise 1:** All philosophers love wisdom.' + - '**Premise 2:** Socrates is a philosopher.' + - '**Premise 3:** No one who loves wisdom is foolish.' + - '' + - What can we logically conclude about Socrates? + question: What must be true about Socrates based on these premises? + tokens_for_ai: 'The correct conclusion is that Socrates is not foolish (or Socrates loves wisdom, which also leads to not being foolish). - Answer: A is a knight, B is a knave - Categorize as: - - correct: Identifies A as knight and B as knave with reasonable explanation - - partial_understanding: Gets one correct but not both, or right answer without clear reasoning - - logical_error: Makes an error in the logical deduction - - limited_effort: Too brief or gives up - - asking_clarifying_questions: Asks for help - - off_topic: Unrelated - feedback_tokens_for_ai: | - This is a challenging puzzle! If they get stuck, suggest trying both possibilities: - "What if A is a knight? What if A is a knave?" and see which leads to a contradiction. - buckets: - - correct - - partial_understanding - - logical_error - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Outstanding! You've mastered proof by contradiction. This is advanced logical reasoning!" - metadata_add: - score: "n+3" - puzzles_solved: "n+1" - next_section_and_step: "section_3:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're thinking in the right direction. Try assuming A is a knave and see if that leads to a contradiction." - metadata_add: - hints_used: "n+1" - next_section_and_step: "section_3:step_1" - logical_error: - ai_feedback: - tokens_for_ai: "Let's think through this carefully. Test both possibilities: what if A is a knight? What if A is a knave?" - metadata_add: - hints_used: "n+1" - next_section_and_step: "section_3:step_1" - limited_effort: - content_blocks: - - "This is challenging! Try starting with: 'Assume A is a knight. Then what must be true?'" - metadata_add: - hints_used: "n+1" - next_section_and_step: "section_3:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question helpfully and provide a hint about testing both possibilities." - counts_as_attempt: false - next_section_and_step: "section_3:step_1" - off_topic: - content_blocks: - - "Let's work through the knight and knave puzzle. Remember: knights always tell the truth, knaves always lie." - next_section_and_step: "section_3:step_1" + Categorize as: - - step_id: "step_2" - title: "Advanced Knights and Knaves" + - correct: States Socrates is not foolish, or loves wisdom, or both + + - partial_understanding: Gets one conclusion but not the full chain of reasoning + + - limited_effort: Too brief or unclear + + - off_topic: Unrelated or makes up facts not in premises + + ' + feedback_tokens_for_ai: 'Guide them through the logical chain if needed: + + 1. Socrates is a philosopher + + 2. All philosophers love wisdom → Socrates loves wisdom + + 3. No one who loves wisdom is foolish → Socrates is not foolish + + ' + buckets: + - correct + - partial_understanding + - limited_effort + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Excellent deductive reasoning! You followed the logical chain perfectly. + metadata_add: + score: n+1 + puzzles_solved: n+1 + next_section_and_step: section_2:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: Good start! Can you extend your reasoning further using all three premises? + next_section_and_step: section_2:step_1 + limited_effort: content_blocks: - - "## Advanced Knights and Knaves" - - "Ready for a harder one? Let's add a third person!" - - "" - - "You meet three people: X, Y, and Z." - - "" - - "**X says:** 'All of us are knaves.'" - - "**Y says:** 'Exactly one of us is a knight.'" - - "" - - "What can you determine about X, Y, and Z?" - question: "Identify whether X, Y, and Z are knights or knaves. Explain your reasoning." - tokens_for_ai: | - Solution: - - X says "all of us are knaves" - - If X were a knight (truth-teller), then "all are knaves" would be true, but X is a knight - contradiction! - - Therefore X must be a knave (liar) - - Since X is a knave, the statement "all of us are knaves" is false, so at least one is a knight - - Y says "exactly one of us is a knight" - - If Y is a knave, then "exactly one is a knight" is false, but we know at least one is a knight (not Y, not X)... so Z would be a knight - - If Y is a knight, then "exactly one is a knight" is true, and Y is that knight, so Z must be a knave - - Actually, if Y were a knave and Z were a knight, then we'd have exactly one knight (Z), making Y's statement true - but knaves can't tell the truth! Contradiction. - - Therefore Y must be a knight and Z must be a knave - - Answer: X is a knave, Y is a knight, Z is a knave - - Categorize as: - - correct: Correctly identifies all three with solid reasoning - - partial_understanding: Gets some right or reasoning is incomplete - - confused: Logic errors or contradictions in their answer - - limited_effort: Very brief or gives up - - asking_clarifying_questions: Asks for help - - off_topic: Unrelated - feedback_tokens_for_ai: | - This is quite challenging! Encourage their effort. If struggling, suggest working through - X first (easier), then systematically testing Y as knight vs knave. - buckets: - - correct - - partial_understanding - - confused - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Exceptional work! You've demonstrated mastery of complex logical deduction. This is university-level reasoning!" - metadata_add: - score: "n+5" - puzzles_solved: "n+1" - next_section_and_step: "section_4:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "Good progress! Let's work through this systematically. Start with X - can X be a knight?" - metadata_add: - hints_used: "n+1" - next_section_and_step: "section_3:step_2" - confused: - ai_feedback: - tokens_for_ai: "Let's break this down step by step. First, what can we determine about X from their statement?" - metadata_add: - hints_used: "n+1" - next_section_and_step: "section_3:step_2" - limited_effort: - content_blocks: - - "This is a tough puzzle! Start by analyzing X's statement. Can someone truthfully say 'we are all liars'?" - metadata_add: - hints_used: "n+1" - next_section_and_step: "section_3:step_2" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question and provide systematic guidance on how to approach the puzzle." - counts_as_attempt: false - next_section_and_step: "section_3:step_2" - off_topic: - content_blocks: - - "Let's focus on solving this three-person knight and knave puzzle." - next_section_and_step: "section_3:step_2" - - - section_id: "section_4" - title: "Reflection and Summary" - steps: - - step_id: "step_1" - title: "Congratulations!" + - Try working through each premise step by step. What do we know about philosophers? What do we know about Socrates? + next_section_and_step: section_2:step_1 + off_topic: content_blocks: - - "## Congratulations! 🎉" - - "You've completed the Logic Puzzles activity!" - - "" - - "**What you've learned:**" - - "✓ Basic deductive reasoning (if A then B)" - - "✓ Contrapositives and logical equivalence" - - "✓ Syllogisms and multi-step deduction" - - "✓ Truth tables and consistency checking" - - "✓ Proof by contradiction (Knights and Knaves)" - - "" - - "**Why logical thinking matters:**" - - "- Programming and debugging require logical reasoning" - - "- Critical thinking helps evaluate arguments and claims" - - "- Problem-solving in math, science, and everyday life" - - "- Avoiding logical fallacies in discussions" - - "" - - "**Your journey:**" - - "You've progressed from basic deductions to complex multi-person logic puzzles." - - "These skills will serve you well in many areas of thinking and learning!" - question: "What was the most challenging puzzle for you, and what did you learn from it?" - tokens_for_ai: | - This is a reflection question. Accept any thoughtful response about their learning experience. + - Focus only on what the premises tell us. What can we deduce step by step? + next_section_and_step: section_2:step_1 + - step_id: step_2 + title: Truth Tables and Logical Consistency + content_blocks: + - '## Truth Tables and Logical Consistency' + - Sometimes we need to check if statements are consistent with each other. + - '' + - '**The Scenario:**' + - 'Three friends make the following statements:' + - '' + - '**Alice:** ''If Bob is telling the truth, then Carol is lying.''' + - '**Bob:** ''I am telling the truth.''' + - '**Carol:** ''Alice is telling the truth.''' + - '' + - Let's assume Bob IS telling the truth (as he claims). + question: If Bob is telling the truth, is there a logical contradiction? If so, where? + tokens_for_ai: 'Let''s work through this: - Categorize as: - - thoughtful_reflection: Provides specific insights about their learning - - brief_reflection: Short but genuine reflection - - limited_effort: Very minimal response - - off_topic: Unrelated - feedback_tokens_for_ai: | - Provide personalized feedback on their journey through the activity. Acknowledge their - specific challenges and growth. Encourage continued practice with logical reasoning. - buckets: - - thoughtful_reflection - - brief_reflection - - limited_effort - - off_topic - transitions: - thoughtful_reflection: - ai_feedback: - tokens_for_ai: "Provide thoughtful, personalized feedback on their learning journey and suggest how to continue developing logical thinking skills." - metadata_add: - activity_completed: "true" - next_section_and_step: "section_4:step_1" - brief_reflection: - ai_feedback: - tokens_for_ai: "Acknowledge their reflection and encourage them to keep practicing logical reasoning." - metadata_add: - activity_completed: "true" - next_section_and_step: "section_4:step_1" - limited_effort: - ai_feedback: - tokens_for_ai: "Thank them for participating and summarize key takeaways from the activity." - metadata_add: - activity_completed: "true" - next_section_and_step: "section_4:step_1" - off_topic: - content_blocks: - - "Let's reflect on your logic puzzle journey. Which puzzle challenged you most?" - next_section_and_step: "section_4:step_1" + - If Bob is telling the truth (as assumed) + + - Then by Alice''s statement, Carol must be lying + + - But Carol says "Alice is telling the truth" + + - If Carol is lying (as we deduced), then Alice must be lying + + - But this contradicts our assumption that Alice''s statement about Bob/Carol is valid + + + Student should identify that there IS a contradiction, or that Carol must be lying. + + + Categorize as: + + - correct: Identifies the contradiction or that Carol must be lying + + - partial_understanding: Sees some inconsistency but doesn''t fully explain it + + - confused: Gets lost in the logic + + - limited_effort: Very brief answer + + - asking_clarifying_questions: Requests help or clarification + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they''re struggling, walk through it step by step. This is a harder puzzle, so be + + encouraging. The key insight is following the chain of implications. + + ' + buckets: + - correct + - partial_understanding + - confused + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Brilliant! You navigated a complex logical scenario. Explain the full chain of reasoning. + metadata_add: + score: n+2 + puzzles_solved: n+1 + next_section_and_step: section_3:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: You're getting there! Let's trace through what each statement implies step by step. + metadata_add: + hints_used: n+1 + next_section_and_step: section_2:step_2 + confused: + content_blocks: + - 'Let''s break it down:' + - 1. Assume Bob tells the truth + - 2. What does Alice's statement tell us about Carol? + - 3. What does Carol's statement tell us about Alice? + - 4. Do these work together? + metadata_add: + hints_used: n+1 + next_section_and_step: section_2:step_2 + limited_effort: + content_blocks: + - Take your time and work through each person's statement carefully. + next_section_and_step: section_2:step_2 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question and provide helpful hints about how to approach the problem. + counts_as_attempt: false + next_section_and_step: section_2:step_2 + off_topic: + content_blocks: + - Let's focus on analyzing the logical consistency of the three statements. + next_section_and_step: section_2:step_2 +- section_id: section_3 + title: Knights and Knaves + steps: + - step_id: step_1 + title: The Island of Knights and Knaves + content_blocks: + - '## The Island of Knights and Knaves' + - This is a classic logic puzzle type! + - '' + - '**The Rules:**' + - '- Knights ALWAYS tell the truth' + - '- Knaves ALWAYS lie' + - '- Everyone is either a knight or a knave' + - '' + - '**The Puzzle:**' + - You meet two people, A and B. + - '' + - '**Person A says:** ''At least one of us is a knave.''' + - '' + - What are A and B? + question: Is A a knight or a knave? Is B a knight or a knave? Explain your reasoning. + tokens_for_ai: "Solution:\n- If A is a knave (liar), then the statement \"at least one of us is a knave\" would be false,\n meaning both are knights. But A can't be both a knight and a knave - contradiction!\n- Therefore A must be a knight (truth-teller)\n- Since A tells the truth, \"at least one of us is a knave\" is true\n- Since A is a knight, B must be the knave\n\nAnswer: A is a knight, B is a knave\n\nCategorize as:\n- correct: Identifies A as knight and B as knave with reasonable explanation\n- partial_understanding: Gets one correct but not both, or right answer without clear reasoning\n- logical_error: Makes an error in the logical deduction\n- limited_effort: Too brief or gives up\n- asking_clarifying_questions: Asks for help\n- off_topic: Unrelated\n" + feedback_tokens_for_ai: 'This is a challenging puzzle! If they get stuck, suggest trying both possibilities: + + "What if A is a knight? What if A is a knave?" and see which leads to a contradiction. + + ' + buckets: + - correct + - partial_understanding + - logical_error + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Outstanding! You've mastered proof by contradiction. This is advanced logical reasoning! + metadata_add: + score: n+3 + puzzles_solved: n+1 + next_section_and_step: section_3:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: You're thinking in the right direction. Try assuming A is a knave and see if that leads to a contradiction. + metadata_add: + hints_used: n+1 + next_section_and_step: section_3:step_1 + logical_error: + ai_feedback: + tokens_for_ai: 'Let''s think through this carefully. Test both possibilities: what if A is a knight? What if A is a knave?' + metadata_add: + hints_used: n+1 + next_section_and_step: section_3:step_1 + limited_effort: + content_blocks: + - 'This is challenging! Try starting with: ''Assume A is a knight. Then what must be true?''' + metadata_add: + hints_used: n+1 + next_section_and_step: section_3:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question helpfully and provide a hint about testing both possibilities. + counts_as_attempt: false + next_section_and_step: section_3:step_1 + off_topic: + content_blocks: + - 'Let''s work through the knight and knave puzzle. Remember: knights always tell the truth, knaves always lie.' + next_section_and_step: section_3:step_1 + - step_id: step_2 + title: Advanced Knights and Knaves + content_blocks: + - '## Advanced Knights and Knaves' + - Ready for a harder one? Let's add a third person! + - '' + - 'You meet three people: X, Y, and Z.' + - '' + - '**X says:** ''All of us are knaves.''' + - '**Y says:** ''Exactly one of us is a knight.''' + - '' + - What can you determine about X, Y, and Z? + question: Identify whether X, Y, and Z are knights or knaves. Explain your reasoning. + tokens_for_ai: 'Solution: + + - X says "all of us are knaves" + + - If X were a knight (truth-teller), then "all are knaves" would be true, but X is a knight - contradiction! + + - Therefore X must be a knave (liar) + + - Since X is a knave, the statement "all of us are knaves" is false, so at least one is a knight + + - Y says "exactly one of us is a knight" + + - If Y is a knave, then "exactly one is a knight" is false, but we know at least one is a knight (not Y, not X)... so Z would be a knight + + - If Y is a knight, then "exactly one is a knight" is true, and Y is that knight, so Z must be a knave + + - Actually, if Y were a knave and Z were a knight, then we''d have exactly one knight (Z), making Y''s statement true - but knaves can''t tell the truth! Contradiction. + + - Therefore Y must be a knight and Z must be a knave + + + Answer: X is a knave, Y is a knight, Z is a knave + + + Categorize as: + + - correct: Correctly identifies all three with solid reasoning + + - partial_understanding: Gets some right or reasoning is incomplete + + - confused: Logic errors or contradictions in their answer + + - limited_effort: Very brief or gives up + + - asking_clarifying_questions: Asks for help + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'This is quite challenging! Encourage their effort. If struggling, suggest working through + + X first (easier), then systematically testing Y as knight vs knave. + + ' + buckets: + - correct + - partial_understanding + - confused + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Exceptional work! You've demonstrated mastery of complex logical deduction. This is university-level reasoning! + metadata_add: + score: n+5 + puzzles_solved: n+1 + next_section_and_step: section_4:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: Good progress! Let's work through this systematically. Start with X - can X be a knight? + metadata_add: + hints_used: n+1 + next_section_and_step: section_3:step_2 + confused: + ai_feedback: + tokens_for_ai: Let's break this down step by step. First, what can we determine about X from their statement? + metadata_add: + hints_used: n+1 + next_section_and_step: section_3:step_2 + limited_effort: + content_blocks: + - This is a tough puzzle! Start by analyzing X's statement. Can someone truthfully say 'we are all liars'? + metadata_add: + hints_used: n+1 + next_section_and_step: section_3:step_2 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question and provide systematic guidance on how to approach the puzzle. + counts_as_attempt: false + next_section_and_step: section_3:step_2 + off_topic: + content_blocks: + - Let's focus on solving this three-person knight and knave puzzle. + next_section_and_step: section_3:step_2 +- section_id: section_4 + title: Reflection and Summary + steps: + - step_id: step_1 + title: Congratulations! + content_blocks: + - '## Congratulations! 🎉' + - You've completed the Logic Puzzles activity! + - '' + - '**What you''ve learned:**' + - ✓ Basic deductive reasoning (if A then B) + - ✓ Contrapositives and logical equivalence + - ✓ Syllogisms and multi-step deduction + - ✓ Truth tables and consistency checking + - ✓ Proof by contradiction (Knights and Knaves) + - '' + - '**Why logical thinking matters:**' + - '- Programming and debugging require logical reasoning' + - '- Critical thinking helps evaluate arguments and claims' + - '- Problem-solving in math, science, and everyday life' + - '- Avoiding logical fallacies in discussions' + - '' + - '**Your journey:**' + - You've progressed from basic deductions to complex multi-person logic puzzles. + - These skills will serve you well in many areas of thinking and learning! + question: What was the most challenging puzzle for you, and what did you learn from it? + tokens_for_ai: 'This is a reflection question. Accept any thoughtful response about their learning experience. + + + Categorize as: + + - thoughtful_reflection: Provides specific insights about their learning + + - brief_reflection: Short but genuine reflection + + - limited_effort: Very minimal response + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Provide personalized feedback on their journey through the activity. Acknowledge their + + specific challenges and growth. Encourage continued practice with logical reasoning. + + ' + buckets: + - thoughtful_reflection + - brief_reflection + - limited_effort + - off_topic + transitions: + thoughtful_reflection: + ai_feedback: + tokens_for_ai: Provide thoughtful, personalized feedback on their learning journey and suggest how to continue developing logical thinking skills. + metadata_add: + activity_completed: 'true' + brief_reflection: + ai_feedback: + tokens_for_ai: Acknowledge their reflection and encourage them to keep practicing logical reasoning. + metadata_add: + activity_completed: 'true' + limited_effort: + ai_feedback: + tokens_for_ai: Thank them for participating and summarize key takeaways from the activity. + metadata_add: + activity_completed: 'true' + off_topic: + content_blocks: + - Let's reflect on your logic puzzle journey. Which puzzle challenged you most? + next_section_and_step: section_4:step_1 diff --git a/research/activity31-scientific-method.yaml b/research/activity31-scientific-method.yaml index fed568a..9128537 100644 --- a/research/activity31-scientific-method.yaml +++ b/research/activity31-scientific-method.yaml @@ -1,677 +1,784 @@ default_max_attempts_per_step: 3 +tokens_for_ai_rubric: 'Evaluate the student''s understanding of the scientific method. -tokens_for_ai_rubric: | - Evaluate the student's understanding of the scientific method. Consider: + - Their ability to identify steps in the scientific method + - Understanding of hypothesis formation and testing + - Recognition of controls and variables + - Critical thinking about experimental design + - Engagement with the case studies + Provide encouraging feedback and suggestions for applying scientific thinking in their own explorations. + ' sections: - - section_id: "introduction" - title: "Welcome to Scientific Method Explorer" - steps: - - step_id: "welcome" - title: "Welcome to Scientific Method" +- section_id: introduction + title: Welcome to Scientific Method Explorer + steps: + - step_id: welcome + title: Welcome to Scientific Method + content_blocks: + - '# Welcome to Scientific Method Explorer!' + - Explore how scientists make discoveries through the scientific method. + - '' + - 'You''ll follow in the footsteps of famous scientists, learning to:' + - '- Ask testable questions' + - '- Form hypotheses' + - '- Design experiments' + - '- Identify variables and controls' + - '- Analyze results and draw conclusions' + - '' + - '**The Scientific Method Steps:**' + - 1. **Observe** - Notice something interesting + - 2. **Question** - Ask why or how + - 3. **Hypothesize** - Make an educated guess + - 4. **Experiment** - Test your hypothesis + - 5. **Analyze** - Look at your data + - 6. **Conclude** - Determine if hypothesis was supported + - '' + - Ready to think like a scientist? + question: Are you ready to explore the scientific method through real discoveries? + tokens_for_ai: 'Student is expressing readiness. Accept any positive response. + + + Categorize as: + + - ready: Positive, ready to begin + + - set_language: Setting language preference + + - off_topic: Unrelated + + ' + buckets: + - ready + - set_language + - off_topic + transitions: + ready: content_blocks: - - "# Welcome to Scientific Method Explorer!" - - "Explore how scientists make discoveries through the scientific method." - - "" - - "You'll follow in the footsteps of famous scientists, learning to:" - - "- Ask testable questions" - - "- Form hypotheses" - - "- Design experiments" - - "- Identify variables and controls" - - "- Analyze results and draw conclusions" - - "" - - "**The Scientific Method Steps:**" - - "1. **Observe** - Notice something interesting" - - "2. **Question** - Ask why or how" - - "3. **Hypothesize** - Make an educated guess" - - "4. **Experiment** - Test your hypothesis" - - "5. **Analyze** - Look at your data" - - "6. **Conclude** - Determine if hypothesis was supported" - - "" - - "Ready to think like a scientist?" - question: "Are you ready to explore the scientific method through real discoveries?" - tokens_for_ai: | - Student is expressing readiness. Accept any positive response. - - Categorize as: - - ready: Positive, ready to begin - - set_language: Setting language preference - - off_topic: Unrelated - buckets: - - ready - - set_language - - off_topic - transitions: - ready: - content_blocks: - - "Excellent! Let's begin with a fascinating historical case study." - next_section_and_step: "section_1:step_1" - set_language: - content_blocks: - - "I'll communicate in your preferred language." - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - off_topic: - content_blocks: - - "Let's get started with exploring science! Are you ready?" - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - - - section_id: "section_1" - title: "Case Study: Germ Theory" - steps: - - step_id: "step_1" - title: "The Mystery of Childbed Fever" + - Excellent! Let's begin with a fascinating historical case study. + next_section_and_step: section_1:step_1 + set_language: content_blocks: - - "## The Mystery of Childbed Fever (1840s)" - - "**The Observation:**" - - "Dr. Ignaz Semmelweis noticed something disturbing in his Vienna hospital:" - - "- Ward 1 (doctors and medical students): 10% of mothers died from childbed fever" - - "- Ward 2 (midwives): Only 4% of mothers died" - - "" - - "**The Puzzle:**" - - "Both wards had similar conditions, but Ward 1 had much higher death rates." - - "" - - "Semmelweis observed that doctors in Ward 1 came directly from autopsy rooms to deliver babies, while midwives in Ward 2 did not perform autopsies." - question: "What question should Semmelweis ask based on this observation? What do you think might be causing the difference in death rates?" - tokens_for_ai: | - Good scientific questions might be: - - Are doctors carrying something deadly from autopsies? - - Does something on doctors' hands cause the fever? - - Is there a connection between autopsies and infections? - - Categorize as: - - correct_question: Identifies a connection between autopsy work and infections - - partial_understanding: Notices the pattern but doesn't form a clear causal question - - creative_thinking: Proposes alternative explanations worth considering - - limited_effort: Very brief or vague - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they identify the connection to autopsies and handwashing, praise their observation. - If they suggest other factors, acknowledge the thinking but guide toward the autopsy connection. - buckets: - - correct_question - - partial_understanding - - creative_thinking - - limited_effort - - off_topic - transitions: - correct_question: - ai_feedback: - tokens_for_ai: "Excellent scientific observation! You've identified the key question that Semmelweis asked." - metadata_add: - score: "n+1" - experiments_designed: "n+1" - next_section_and_step: "section_1:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "Good thinking! Can you be more specific about what might be different about the doctors' hands?" - next_section_and_step: "section_1:step_2" - creative_thinking: - ai_feedback: - tokens_for_ai: "Interesting hypothesis! Acknowledge their creativity while guiding them to consider the autopsy connection." - metadata_add: - score: "n+1" - next_section_and_step: "section_1:step_2" - limited_effort: - content_blocks: - - "Think about what the doctors were doing that the midwives were not. What might they be carrying on their hands?" - next_section_and_step: "section_1:step_1" - off_topic: - content_blocks: - - "Let's focus on the medical mystery. What difference between the two wards might explain the death rates?" - next_section_and_step: "section_1:step_1" - - - step_id: "step_2" - title: "Forming a Hypothesis" + - I'll communicate in your preferred language. + counts_as_attempt: false + next_section_and_step: introduction:welcome + off_topic: content_blocks: - - "## Forming a Hypothesis" - - "Semmelweis formed a hypothesis:" - - "" - - "**'Cadaveric particles' from autopsies on doctors' hands are causing childbed fever.**" - - "" - - "This was revolutionary! In the 1840s, germs were not yet understood." - - "" - - "**Now for the experiment:**" - - "Semmelweis needs to test this hypothesis. He decides to require doctors to wash their hands with chlorinated lime solution before examining patients." - - "" - - "**Question for you:**" - - "To make this a good scientific experiment, what should we compare?" - question: "What should Semmelweis measure before and after the handwashing requirement? What would be the control group?" - tokens_for_ai: | - Good answers should mention: - - Measure death rates before and after handwashing - - Compare Ward 1 with handwashing to previous Ward 1 without handwashing - - Or compare Ward 1 (with handwashing) to Ward 2 (baseline) - - The control is the previous data or Ward 2 + - Let's get started with exploring science! Are you ready? + counts_as_attempt: false + next_section_and_step: introduction:welcome +- section_id: section_1 + title: 'Case Study: Germ Theory' + steps: + - step_id: step_1 + title: The Mystery of Childbed Fever + content_blocks: + - '## The Mystery of Childbed Fever (1840s)' + - '**The Observation:**' + - 'Dr. Ignaz Semmelweis noticed something disturbing in his Vienna hospital:' + - '- Ward 1 (doctors and medical students): 10% of mothers died from childbed fever' + - '- Ward 2 (midwives): Only 4% of mothers died' + - '' + - '**The Puzzle:**' + - Both wards had similar conditions, but Ward 1 had much higher death rates. + - '' + - Semmelweis observed that doctors in Ward 1 came directly from autopsy rooms to deliver babies, while midwives in Ward 2 did not perform autopsies. + question: What question should Semmelweis ask based on this observation? What do you think might be causing the difference in death rates? + tokens_for_ai: 'Good scientific questions might be: - Categorize as: - - correct_method: Identifies need to compare death rates before/after or between groups - - partial_understanding: Mentions measuring death rates but unclear on control - - confused_about_controls: Doesn't understand the concept of a control group - - limited_effort: Very brief answer - - asking_clarifying_questions: Requests explanation of terms - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they understand controls, praise them! If confused about controls, explain that - a control group helps us know if changes are due to our intervention or something else. - buckets: - - correct_method - - partial_understanding - - confused_about_controls - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct_method: - ai_feedback: - tokens_for_ai: "Excellent experimental thinking! You understand the importance of controls in science." - metadata_add: - score: "n+2" - controls_identified: "n+1" - next_section_and_step: "section_1:step_3" - partial_understanding: - ai_feedback: - tokens_for_ai: "Good! You're thinking about measurement. Explain what a control group is and why it's important." - metadata_add: - score: "n+1" - next_section_and_step: "section_1:step_3" - confused_about_controls: - content_blocks: - - "**Control groups** help us compare results." - - "We need to know: Are death rates different WITH handwashing vs WITHOUT handwashing?" - - "That way we know if handwashing made the difference!" - next_section_and_step: "section_1:step_2" - limited_effort: - content_blocks: - - "Think about what Semmelweis should measure and what he should compare it to." - next_section_and_step: "section_1:step_2" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about experimental design and controls helpfully." - counts_as_attempt: false - next_section_and_step: "section_1:step_2" - off_topic: - content_blocks: - - "Let's focus on designing the experiment. What should we measure?" - next_section_and_step: "section_1:step_2" + - Are doctors carrying something deadly from autopsies? - - step_id: "step_3" - title: "The Results!" + - Does something on doctors'' hands cause the fever? + + - Is there a connection between autopsies and infections? + + + Categorize as: + + - correct_question: Identifies a connection between autopsy work and infections + + - partial_understanding: Notices the pattern but doesn''t form a clear causal question + + - creative_thinking: Proposes alternative explanations worth considering + + - limited_effort: Very brief or vague + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they identify the connection to autopsies and handwashing, praise their observation. + + If they suggest other factors, acknowledge the thinking but guide toward the autopsy connection. + + ' + buckets: + - correct_question + - partial_understanding + - creative_thinking + - limited_effort + - off_topic + transitions: + correct_question: + ai_feedback: + tokens_for_ai: Excellent scientific observation! You've identified the key question that Semmelweis asked. + metadata_add: + score: n+1 + experiments_designed: n+1 + next_section_and_step: section_1:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: Good thinking! Can you be more specific about what might be different about the doctors' hands? + next_section_and_step: section_1:step_2 + creative_thinking: + ai_feedback: + tokens_for_ai: Interesting hypothesis! Acknowledge their creativity while guiding them to consider the autopsy connection. + metadata_add: + score: n+1 + next_section_and_step: section_1:step_2 + limited_effort: content_blocks: - - "## The Results!" - - "Semmelweis implemented handwashing with chlorinated lime in 1847." - - "" - - "**The data:**" - - "- **Before handwashing (1846):** Death rate in Ward 1 = 10%" - - "- **After handwashing (1847-1848):** Death rate in Ward 1 = 2%" - - "" - - "This was a dramatic improvement! The death rate dropped by 80%." - - "" - - "**Analysis step:**" - - "Now we must analyze these results and draw a conclusion." - question: "Based on these results, was Semmelweis's hypothesis supported? What can we conclude about the cause of childbed fever?" - tokens_for_ai: | - The hypothesis WAS supported - handwashing dramatically reduced death rates, suggesting - that something on doctors' hands (cadaveric particles/germs) was indeed causing the fever. - - Categorize as: - - correct_conclusion: States hypothesis was supported, handwashing worked, something on hands caused illness - - partial_understanding: Gets general idea but incomplete reasoning - - overstating: Claims this "proves" rather than "supports" (good to address scientific certainty) - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - If correct, praise their analysis! If they say "proves," gently explain that in science - we say evidence "supports" a hypothesis rather than "proves" it absolutely. - buckets: - - correct_conclusion - - partial_understanding - - overstating - - limited_effort - - off_topic - transitions: - correct_conclusion: - ai_feedback: - tokens_for_ai: "Excellent analysis! You've worked through a complete scientific investigation. Explain the impact this had on medicine." - metadata_add: - score: "n+2" - case_studies_completed: "n+1" - next_section_and_step: "section_2:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "Good! Can you connect the results more explicitly to the hypothesis about what was on doctors' hands?" - metadata_add: - score: "n+1" - case_studies_completed: "n+1" - next_section_and_step: "section_2:step_1" - overstating: - ai_feedback: - tokens_for_ai: "Great thinking! One note: in science we say results 'support' a hypothesis rather than 'prove' it. Explain why scientific conclusions are provisional." - metadata_add: - score: "n+1" - case_studies_completed: "n+1" - next_section_and_step: "section_2:step_1" - limited_effort: - content_blocks: - - "Look at the dramatic change in death rates. What does this tell us about Semmelweis's hypothesis?" - next_section_and_step: "section_1:step_3" - off_topic: - content_blocks: - - "Let's analyze the data. Death rates dropped from 10% to 2%. What does this mean?" - next_section_and_step: "section_1:step_3" - - - section_id: "section_2" - title: "Design Your Own Experiment" - steps: - - step_id: "step_1" - title: "Newton's Light Experiment" + - Think about what the doctors were doing that the midwives were not. What might they be carrying on their hands? + next_section_and_step: section_1:step_1 + off_topic: content_blocks: - - "## Newton's Light Experiment" - - "Let's explore another famous case, then YOU'LL design an experiment!" - - "" - - "**The Observation (1660s):**" - - "Isaac Newton observed that sunlight passing through a prism splits into rainbow colors." - - "" - - "**The Common Belief:**" - - "Most people thought the prism was adding color to the light, like stained glass adds color." - - "" - - "**Newton's Hypothesis:**" - - "Newton proposed something radical: White light is actually MADE of all the colors combined, and the prism just separates them." - - "" - - "**Your Task:**" - - "Newton needs to prove that the colors come FROM the white light, not from the prism." - question: "Design an experiment that could test whether the colors are already in white light or are created by the prism. What would you do?" - tokens_for_ai: | - Newton's actual experiment: He used a second prism to recombine the separated colors - back into white light. If the prism created the colors, you couldn't get white light back. + - Let's focus on the medical mystery. What difference between the two wards might explain the death rates? + next_section_and_step: section_1:step_1 + - step_id: step_2 + title: Forming a Hypothesis + content_blocks: + - '## Forming a Hypothesis' + - 'Semmelweis formed a hypothesis:' + - '' + - '**''Cadaveric particles'' from autopsies on doctors'' hands are causing childbed fever.**' + - '' + - This was revolutionary! In the 1840s, germs were not yet understood. + - '' + - '**Now for the experiment:**' + - Semmelweis needs to test this hypothesis. He decides to require doctors to wash their hands with chlorinated lime solution before examining patients. + - '' + - '**Question for you:**' + - To make this a good scientific experiment, what should we compare? + question: What should Semmelweis measure before and after the handwashing requirement? What would be the control group? + tokens_for_ai: 'Good answers should mention: - Good student answers might suggest: - - Using a second prism to recombine colors - - Testing different prisms (if prism creates color, different prisms would create different colors) - - Blocking some colors and seeing what recombines - - Comparing different light sources + - Measure death rates before and after handwashing - Categorize as: - - excellent_design: Proposes recombining colors or testing multiple prisms - - creative_approach: Different but scientifically sound experiment - - partial_understanding: Has an idea but experimental design is unclear - - confused: Doesn't understand what needs to be tested - - limited_effort: Very brief - - asking_clarifying_questions: Needs help - - off_topic: Unrelated - feedback_tokens_for_ai: | - Encourage creative experimental thinking! If they propose recombining colors, that's - exactly what Newton did. If they have other ideas, evaluate if they would actually - distinguish between the two hypotheses. - buckets: - - excellent_design - - creative_approach - - partial_understanding - - confused - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - excellent_design: - ai_feedback: - tokens_for_ai: "Brilliant experimental design! Explain how this is similar to what Newton actually did and praise their scientific thinking." - metadata_add: - score: "n+3" - experiments_designed: "n+1" - next_section_and_step: "section_2:step_2" - creative_approach: - ai_feedback: - tokens_for_ai: "Interesting approach! Evaluate whether their experiment would actually distinguish between the two hypotheses. If yes, praise them. If not, guide them." - metadata_add: - score: "n+2" - experiments_designed: "n+1" - next_section_and_step: "section_2:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're thinking in the right direction. Ask: if the prism creates color, could you reverse the process? If light contains the colors, could you recombine them?" - next_section_and_step: "section_2:step_1" - confused: - content_blocks: - - "**Hint:** Think about what would happen differently based on each explanation:" - - "- If the PRISM creates color, could you get white light back from colored light?" - - "- If WHITE LIGHT contains colors, could you recombine them?" - next_section_and_step: "section_2:step_1" - limited_effort: - content_blocks: - - "Take time to think creatively! How could you test whether colors come from the light or from the prism?" - next_section_and_step: "section_2:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question and provide guidance on experimental design principles." - counts_as_attempt: false - next_section_and_step: "section_2:step_1" - off_topic: - content_blocks: - - "Let's focus on designing an experiment about light and prisms." - next_section_and_step: "section_2:step_1" + - Compare Ward 1 with handwashing to previous Ward 1 without handwashing - - step_id: "step_2" - title: "Identifying Variables" + - Or compare Ward 1 (with handwashing) to Ward 2 (baseline) + + - The control is the previous data or Ward 2 + + + Categorize as: + + - correct_method: Identifies need to compare death rates before/after or between groups + + - partial_understanding: Mentions measuring death rates but unclear on control + + - confused_about_controls: Doesn''t understand the concept of a control group + + - limited_effort: Very brief answer + + - asking_clarifying_questions: Requests explanation of terms + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they understand controls, praise them! If confused about controls, explain that + + a control group helps us know if changes are due to our intervention or something else. + + ' + buckets: + - correct_method + - partial_understanding + - confused_about_controls + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct_method: + ai_feedback: + tokens_for_ai: Excellent experimental thinking! You understand the importance of controls in science. + metadata_add: + score: n+2 + controls_identified: n+1 + next_section_and_step: section_1:step_3 + partial_understanding: + ai_feedback: + tokens_for_ai: Good! You're thinking about measurement. Explain what a control group is and why it's important. + metadata_add: + score: n+1 + next_section_and_step: section_1:step_3 + confused_about_controls: content_blocks: - - "## Identifying Variables" - - "Great thinking! Newton did indeed use a second prism to recombine the colors back into white light." - - "" - - "**Understanding Variables:**" - - "In any experiment, we need to identify:" - - "- **Independent variable:** What YOU change" - - "- **Dependent variable:** What you MEASURE" - - "- **Control variables:** What you keep THE SAME" - - "" - - "**Example scenario:**" - - "You want to test if plants grow faster with music." - - "" - - "You set up:" - - "- 10 plants with music" - - "- 10 plants without music" - - "- All plants get same water, light, soil, and temperature" - - "- Measure growth after 2 weeks" - question: "Identify the independent variable, dependent variable, and control variables in this plant experiment." - tokens_for_ai: | - Correct answers: - - Independent variable: Presence/absence of music (what you change) - - Dependent variable: Plant growth/height (what you measure) - - Control variables: Water, light, soil, temperature (what you keep the same) - - Categorize as: - - correct: Correctly identifies all three types of variables - - partial_understanding: Gets 2 out of 3 correct - - confused: Mixes up independent and dependent - - limited_effort: Very brief or incomplete - - asking_clarifying_questions: Needs clarification - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they confuse independent and dependent, explain: independent is what the experimenter - controls/changes, dependent is what responds/changes as a result. - buckets: - - correct - - partial_understanding - - confused - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Perfect! You understand variables - a crucial concept in experimental design." - metadata_add: - score: "n+2" - controls_identified: "n+1" - next_section_and_step: "section_3:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "Good start! Clarify which variables they got right and help with the others." - metadata_add: - score: "n+1" - next_section_and_step: "section_3:step_1" - confused: - content_blocks: - - "**Tip:** The INDEPENDENT variable is what the experimenter changes on purpose." - - "The DEPENDENT variable is what you measure to see the effect." - - "CONTROL variables are kept the same so they don't interfere." - next_section_and_step: "section_2:step_2" - limited_effort: - content_blocks: - - "Try to identify each type: What are you changing? What are you measuring? What are you keeping the same?" - next_section_and_step: "section_2:step_2" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about variables clearly with examples." - counts_as_attempt: false - next_section_and_step: "section_2:step_2" - off_topic: - content_blocks: - - "Let's focus on identifying the different types of variables in this experiment." - next_section_and_step: "section_2:step_2" - - - section_id: "section_3" - title: "Avoiding Bias and Errors" - steps: - - step_id: "step_1" - title: "Recognizing Experimental Bias" + - '**Control groups** help us compare results.' + - 'We need to know: Are death rates different WITH handwashing vs WITHOUT handwashing?' + - That way we know if handwashing made the difference! + next_section_and_step: section_1:step_2 + limited_effort: content_blocks: - - "## Recognizing Experimental Bias" - - "Good scientists must watch out for bias and confounding factors!" - - "" - - "**Scenario:**" - - "A pharmaceutical company tests a new headache medicine." - - "" - - "**Experimental setup:**" - - "- Group A: 100 patients receive the new medicine" - - "- Group B: 100 patients receive nothing" - - "- Researchers record who reports headache relief" - - "" - - "**Results:**" - - "- Group A: 80% report relief" - - "- Group B: 30% report relief" - - "" - - "The company concludes the medicine works!" - question: "Is there a problem with this experimental design? What's missing or problematic?" - tokens_for_ai: | - Major problems: - - No placebo (Group B should get a fake pill, not nothing) - - Placebo effect not controlled for - - Patients know if they're getting treatment (should be blind/double-blind) - - Researcher bias possible if they know who got real medicine - - Categorize as: - - identified_placebo: Recognizes need for placebo control - - identified_blinding: Recognizes need for blind study - - partial_understanding: Sees something wrong but can't articulate it clearly - - missed_bias: Doesn't see the problem - - limited_effort: Very brief - - asking_clarifying_questions: Needs explanation - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they identify placebo effect, excellent! If not, explain that people often feel - better just because they think they're getting treatment. That's why we need placebo - controls and blind studies. - buckets: - - identified_placebo - - identified_blinding - - partial_understanding - - missed_bias - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - identified_placebo: - ai_feedback: - tokens_for_ai: "Excellent! You identified the placebo effect. Explain why placebos are crucial in medical research." - metadata_add: - score: "n+3" - bias_identified: "n+1" - next_section_and_step: "section_3:step_2" - identified_blinding: - ai_feedback: - tokens_for_ai: "Great catch! Explain how blinding prevents bias in both patients and researchers." - metadata_add: - score: "n+3" - bias_identified: "n+1" - next_section_and_step: "section_3:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're sensing something's wrong. Guide them toward the placebo effect concept." - next_section_and_step: "section_3:step_1" - missed_bias: - content_blocks: - - "**Hint:** Think about the psychological effect of KNOWING you're getting medicine." - - "What if people feel better just because they believe they're being treated?" - next_section_and_step: "section_3:step_1" - limited_effort: - content_blocks: - - "Think carefully: Is it fair to compare people who GET something to people who get NOTHING?" - next_section_and_step: "section_3:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about experimental design and bias." - counts_as_attempt: false - next_section_and_step: "section_3:step_1" - off_topic: - content_blocks: - - "Let's analyze this medical experiment. Is the design fair and unbiased?" - next_section_and_step: "section_3:step_1" - - - step_id: "step_2" - title: "Scientific Integrity" + - Think about what Semmelweis should measure and what he should compare it to. + next_section_and_step: section_1:step_2 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about experimental design and controls helpfully. + counts_as_attempt: false + next_section_and_step: section_1:step_2 + off_topic: content_blocks: - - "## Scientific Integrity" - - "Excellent work identifying bias!" - - "" - - "**Key principles for good science:**" - - "" - - "✓ **Use controls** - Compare to a baseline or control group" - - "✓ **Use placebos** - Control for psychological effects" - - "✓ **Blind studies** - Subjects don't know if they got real treatment" - - "✓ **Double-blind** - Researchers also don't know (prevents their bias)" - - "✓ **Replicate** - Repeat experiments to confirm results" - - "✓ **Peer review** - Other scientists check your work" - - "✓ **Large sample sizes** - More data = more reliable" - - "✓ **Account for confounding variables** - What else might affect results?" - - "" - - "These principles help ensure that scientific findings are reliable and trustworthy." - question: "Why do you think it's important for other scientists to be able to replicate (repeat) an experiment? What purpose does replication serve in science?" - tokens_for_ai: | - Good answers mention: - - Verifying results weren't due to chance - - Catching errors or fraud - - Building confidence in findings - - Testing if results hold in different conditions - - Science is self-correcting + - Let's focus on designing the experiment. What should we measure? + next_section_and_step: section_1:step_2 + - step_id: step_3 + title: The Results! + content_blocks: + - '## The Results!' + - Semmelweis implemented handwashing with chlorinated lime in 1847. + - '' + - '**The data:**' + - '- **Before handwashing (1846):** Death rate in Ward 1 = 10%' + - '- **After handwashing (1847-1848):** Death rate in Ward 1 = 2%' + - '' + - This was a dramatic improvement! The death rate dropped by 80%. + - '' + - '**Analysis step:**' + - Now we must analyze these results and draw a conclusion. + question: Based on these results, was Semmelweis's hypothesis supported? What can we conclude about the cause of childbed fever? + tokens_for_ai: 'The hypothesis WAS supported - handwashing dramatically reduced death rates, suggesting - Categorize as: - - insightful: Understands multiple purposes of replication - - correct_understanding: Gets the basic concept (verification) - - partial_understanding: General idea but incomplete - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - Encourage their understanding of how science builds reliable knowledge through - replication and peer review. Connect it to why we can trust scientific consensus. - buckets: - - insightful - - correct_understanding - - partial_understanding - - limited_effort - - off_topic - transitions: - insightful: - ai_feedback: - tokens_for_ai: "Excellent understanding of scientific process! You grasp why science is a self-correcting system." - metadata_add: - score: "n+3" - next_section_and_step: "section_4:step_1" - correct_understanding: - ai_feedback: - tokens_for_ai: "Correct! Replication is indeed crucial for verifying results. Expand on other benefits if they didn't mention them." - metadata_add: - score: "n+2" - next_section_and_step: "section_4:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're on the right track. Explain how replication helps catch errors and builds confidence." - metadata_add: - score: "n+1" - next_section_and_step: "section_4:step_1" - limited_effort: - content_blocks: - - "Think about what happens if only ONE person does an experiment. How do we know if their result was accurate?" - next_section_and_step: "section_3:step_2" - off_topic: - content_blocks: - - "Let's focus on why repeating experiments is important in science." - next_section_and_step: "section_3:step_2" + that something on doctors'' hands (cadaveric particles/germs) was indeed causing the fever. - - section_id: "section_4" - title: "Reflection and Conclusion" - steps: - - step_id: "step_1" - title: "Congratulations!" + + Categorize as: + + - correct_conclusion: States hypothesis was supported, handwashing worked, something on hands caused illness + + - partial_understanding: Gets general idea but incomplete reasoning + + - overstating: Claims this "proves" rather than "supports" (good to address scientific certainty) + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If correct, praise their analysis! If they say "proves," gently explain that in science + + we say evidence "supports" a hypothesis rather than "proves" it absolutely. + + ' + buckets: + - correct_conclusion + - partial_understanding + - overstating + - limited_effort + - off_topic + transitions: + correct_conclusion: + ai_feedback: + tokens_for_ai: Excellent analysis! You've worked through a complete scientific investigation. Explain the impact this had on medicine. + metadata_add: + score: n+2 + case_studies_completed: n+1 + next_section_and_step: section_2:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: Good! Can you connect the results more explicitly to the hypothesis about what was on doctors' hands? + metadata_add: + score: n+1 + case_studies_completed: n+1 + next_section_and_step: section_2:step_1 + overstating: + ai_feedback: + tokens_for_ai: 'Great thinking! One note: in science we say results ''support'' a hypothesis rather than ''prove'' it. Explain why scientific conclusions are provisional.' + metadata_add: + score: n+1 + case_studies_completed: n+1 + next_section_and_step: section_2:step_1 + limited_effort: content_blocks: - - "## Congratulations, Scientist! 🔬" - - "You've completed the Scientific Method Explorer!" - - "" - - "**What you've learned:**" - - "✓ The steps of the scientific method" - - "✓ How to form testable hypotheses" - - "✓ Experimental design principles" - - "✓ Identifying variables (independent, dependent, control)" - - "✓ The importance of controls and placebos" - - "✓ Recognizing bias in experiments" - - "✓ Why replication and peer review matter" - - "" - - "**Famous scientists you studied:**" - - "- Ignaz Semmelweis (germ theory and handwashing)" - - "- Isaac Newton (nature of light)" - - "" - - "**Why this matters:**" - - "The scientific method is how we reliably discover truth about the natural world." - - "These principles apply whether you're:" - - "- Testing a new technology" - - "- Debugging code (forming and testing hypotheses!)" - - "- Evaluating health claims" - - "- Understanding climate science" - - "- Or pursuing any evidence-based inquiry" - question: "How might you apply scientific thinking in your own life or studies? Give an example of a question you could investigate using the scientific method." - tokens_for_ai: | - This is a reflection question. Accept any thoughtful application of scientific method - to a real-world question or problem. + - Look at the dramatic change in death rates. What does this tell us about Semmelweis's hypothesis? + next_section_and_step: section_1:step_3 + off_topic: + content_blocks: + - Let's analyze the data. Death rates dropped from 10% to 2%. What does this mean? + next_section_and_step: section_1:step_3 +- section_id: section_2 + title: Design Your Own Experiment + steps: + - step_id: step_1 + title: Newton's Light Experiment + content_blocks: + - '## Newton''s Light Experiment' + - Let's explore another famous case, then YOU'LL design an experiment! + - '' + - '**The Observation (1660s):**' + - Isaac Newton observed that sunlight passing through a prism splits into rainbow colors. + - '' + - '**The Common Belief:**' + - Most people thought the prism was adding color to the light, like stained glass adds color. + - '' + - '**Newton''s Hypothesis:**' + - 'Newton proposed something radical: White light is actually MADE of all the colors combined, and the prism just separates them.' + - '' + - '**Your Task:**' + - Newton needs to prove that the colors come FROM the white light, not from the prism. + question: Design an experiment that could test whether the colors are already in white light or are created by the prism. What would you do? + tokens_for_ai: 'Newton''s actual experiment: He used a second prism to recombine the separated colors - Categorize as: - - excellent_application: Proposes a specific, testable question with clear methodology - - good_application: Identifies a reasonable application area - - basic_reflection: General but genuine reflection - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - Provide personalized, encouraging feedback on their learning journey. Acknowledge their - application ideas. Encourage them to actually try investigating something scientifically. - Emphasize that scientific thinking is a powerful tool for understanding the world. - buckets: - - excellent_application - - good_application - - basic_reflection - - limited_effort - - off_topic - transitions: - excellent_application: - ai_feedback: - tokens_for_ai: "Fantastic! Your example shows you truly understand how to apply the scientific method. Encourage them to actually investigate their question!" - metadata_add: - activity_completed: "true" - next_section_and_step: "section_4:step_1" - good_application: - ai_feedback: - tokens_for_ai: "Great thinking! Provide positive feedback and suggestions for how they could make their investigation more rigorous." - metadata_add: - activity_completed: "true" - next_section_and_step: "section_4:step_1" - basic_reflection: - ai_feedback: - tokens_for_ai: "Thank them for their reflection and summarize the key scientific principles they've learned." - metadata_add: - activity_completed: "true" - next_section_and_step: "section_4:step_1" - limited_effort: - ai_feedback: - tokens_for_ai: "Acknowledge their completion and encourage them to think scientifically in their daily life." - metadata_add: - activity_completed: "true" - next_section_and_step: "section_4:step_1" - off_topic: - content_blocks: - - "Think about how you could use scientific thinking in your own investigations. What question might you explore?" - next_section_and_step: "section_4:step_1" + back into white light. If the prism created the colors, you couldn''t get white light back. + + + Good student answers might suggest: + + - Using a second prism to recombine colors + + - Testing different prisms (if prism creates color, different prisms would create different colors) + + - Blocking some colors and seeing what recombines + + - Comparing different light sources + + + Categorize as: + + - excellent_design: Proposes recombining colors or testing multiple prisms + + - creative_approach: Different but scientifically sound experiment + + - partial_understanding: Has an idea but experimental design is unclear + + - confused: Doesn''t understand what needs to be tested + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs help + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Encourage creative experimental thinking! If they propose recombining colors, that''s + + exactly what Newton did. If they have other ideas, evaluate if they would actually + + distinguish between the two hypotheses. + + ' + buckets: + - excellent_design + - creative_approach + - partial_understanding + - confused + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + excellent_design: + ai_feedback: + tokens_for_ai: Brilliant experimental design! Explain how this is similar to what Newton actually did and praise their scientific thinking. + metadata_add: + score: n+3 + experiments_designed: n+1 + next_section_and_step: section_2:step_2 + creative_approach: + ai_feedback: + tokens_for_ai: Interesting approach! Evaluate whether their experiment would actually distinguish between the two hypotheses. If yes, praise them. If not, guide them. + metadata_add: + score: n+2 + experiments_designed: n+1 + next_section_and_step: section_2:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: 'You''re thinking in the right direction. Ask: if the prism creates color, could you reverse the process? If light contains the colors, could you recombine them?' + next_section_and_step: section_2:step_1 + confused: + content_blocks: + - '**Hint:** Think about what would happen differently based on each explanation:' + - '- If the PRISM creates color, could you get white light back from colored light?' + - '- If WHITE LIGHT contains colors, could you recombine them?' + next_section_and_step: section_2:step_1 + limited_effort: + content_blocks: + - Take time to think creatively! How could you test whether colors come from the light or from the prism? + next_section_and_step: section_2:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question and provide guidance on experimental design principles. + counts_as_attempt: false + next_section_and_step: section_2:step_1 + off_topic: + content_blocks: + - Let's focus on designing an experiment about light and prisms. + next_section_and_step: section_2:step_1 + - step_id: step_2 + title: Identifying Variables + content_blocks: + - '## Identifying Variables' + - Great thinking! Newton did indeed use a second prism to recombine the colors back into white light. + - '' + - '**Understanding Variables:**' + - 'In any experiment, we need to identify:' + - '- **Independent variable:** What YOU change' + - '- **Dependent variable:** What you MEASURE' + - '- **Control variables:** What you keep THE SAME' + - '' + - '**Example scenario:**' + - You want to test if plants grow faster with music. + - '' + - 'You set up:' + - '- 10 plants with music' + - '- 10 plants without music' + - '- All plants get same water, light, soil, and temperature' + - '- Measure growth after 2 weeks' + question: Identify the independent variable, dependent variable, and control variables in this plant experiment. + tokens_for_ai: 'Correct answers: + + - Independent variable: Presence/absence of music (what you change) + + - Dependent variable: Plant growth/height (what you measure) + + - Control variables: Water, light, soil, temperature (what you keep the same) + + + Categorize as: + + - correct: Correctly identifies all three types of variables + + - partial_understanding: Gets 2 out of 3 correct + + - confused: Mixes up independent and dependent + + - limited_effort: Very brief or incomplete + + - asking_clarifying_questions: Needs clarification + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they confuse independent and dependent, explain: independent is what the experimenter + + controls/changes, dependent is what responds/changes as a result. + + ' + buckets: + - correct + - partial_understanding + - confused + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Perfect! You understand variables - a crucial concept in experimental design. + metadata_add: + score: n+2 + controls_identified: n+1 + next_section_and_step: section_3:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: Good start! Clarify which variables they got right and help with the others. + metadata_add: + score: n+1 + next_section_and_step: section_3:step_1 + confused: + content_blocks: + - '**Tip:** The INDEPENDENT variable is what the experimenter changes on purpose.' + - The DEPENDENT variable is what you measure to see the effect. + - CONTROL variables are kept the same so they don't interfere. + next_section_and_step: section_2:step_2 + limited_effort: + content_blocks: + - 'Try to identify each type: What are you changing? What are you measuring? What are you keeping the same?' + next_section_and_step: section_2:step_2 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about variables clearly with examples. + counts_as_attempt: false + next_section_and_step: section_2:step_2 + off_topic: + content_blocks: + - Let's focus on identifying the different types of variables in this experiment. + next_section_and_step: section_2:step_2 +- section_id: section_3 + title: Avoiding Bias and Errors + steps: + - step_id: step_1 + title: Recognizing Experimental Bias + content_blocks: + - '## Recognizing Experimental Bias' + - Good scientists must watch out for bias and confounding factors! + - '' + - '**Scenario:**' + - A pharmaceutical company tests a new headache medicine. + - '' + - '**Experimental setup:**' + - '- Group A: 100 patients receive the new medicine' + - '- Group B: 100 patients receive nothing' + - '- Researchers record who reports headache relief' + - '' + - '**Results:**' + - '- Group A: 80% report relief' + - '- Group B: 30% report relief' + - '' + - The company concludes the medicine works! + question: Is there a problem with this experimental design? What's missing or problematic? + tokens_for_ai: 'Major problems: + + - No placebo (Group B should get a fake pill, not nothing) + + - Placebo effect not controlled for + + - Patients know if they''re getting treatment (should be blind/double-blind) + + - Researcher bias possible if they know who got real medicine + + + Categorize as: + + - identified_placebo: Recognizes need for placebo control + + - identified_blinding: Recognizes need for blind study + + - partial_understanding: Sees something wrong but can''t articulate it clearly + + - missed_bias: Doesn''t see the problem + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs explanation + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they identify placebo effect, excellent! If not, explain that people often feel + + better just because they think they''re getting treatment. That''s why we need placebo + + controls and blind studies. + + ' + buckets: + - identified_placebo + - identified_blinding + - partial_understanding + - missed_bias + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + identified_placebo: + ai_feedback: + tokens_for_ai: Excellent! You identified the placebo effect. Explain why placebos are crucial in medical research. + metadata_add: + score: n+3 + bias_identified: n+1 + next_section_and_step: section_3:step_2 + identified_blinding: + ai_feedback: + tokens_for_ai: Great catch! Explain how blinding prevents bias in both patients and researchers. + metadata_add: + score: n+3 + bias_identified: n+1 + next_section_and_step: section_3:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: You're sensing something's wrong. Guide them toward the placebo effect concept. + next_section_and_step: section_3:step_1 + missed_bias: + content_blocks: + - '**Hint:** Think about the psychological effect of KNOWING you''re getting medicine.' + - What if people feel better just because they believe they're being treated? + next_section_and_step: section_3:step_1 + limited_effort: + content_blocks: + - 'Think carefully: Is it fair to compare people who GET something to people who get NOTHING?' + next_section_and_step: section_3:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about experimental design and bias. + counts_as_attempt: false + next_section_and_step: section_3:step_1 + off_topic: + content_blocks: + - Let's analyze this medical experiment. Is the design fair and unbiased? + next_section_and_step: section_3:step_1 + - step_id: step_2 + title: Scientific Integrity + content_blocks: + - '## Scientific Integrity' + - Excellent work identifying bias! + - '' + - '**Key principles for good science:**' + - '' + - ✓ **Use controls** - Compare to a baseline or control group + - ✓ **Use placebos** - Control for psychological effects + - ✓ **Blind studies** - Subjects don't know if they got real treatment + - ✓ **Double-blind** - Researchers also don't know (prevents their bias) + - ✓ **Replicate** - Repeat experiments to confirm results + - ✓ **Peer review** - Other scientists check your work + - ✓ **Large sample sizes** - More data = more reliable + - ✓ **Account for confounding variables** - What else might affect results? + - '' + - These principles help ensure that scientific findings are reliable and trustworthy. + question: Why do you think it's important for other scientists to be able to replicate (repeat) an experiment? What purpose does replication serve in science? + tokens_for_ai: 'Good answers mention: + + - Verifying results weren''t due to chance + + - Catching errors or fraud + + - Building confidence in findings + + - Testing if results hold in different conditions + + - Science is self-correcting + + + Categorize as: + + - insightful: Understands multiple purposes of replication + + - correct_understanding: Gets the basic concept (verification) + + - partial_understanding: General idea but incomplete + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Encourage their understanding of how science builds reliable knowledge through + + replication and peer review. Connect it to why we can trust scientific consensus. + + ' + buckets: + - insightful + - correct_understanding + - partial_understanding + - limited_effort + - off_topic + transitions: + insightful: + ai_feedback: + tokens_for_ai: Excellent understanding of scientific process! You grasp why science is a self-correcting system. + metadata_add: + score: n+3 + next_section_and_step: section_4:step_1 + correct_understanding: + ai_feedback: + tokens_for_ai: Correct! Replication is indeed crucial for verifying results. Expand on other benefits if they didn't mention them. + metadata_add: + score: n+2 + next_section_and_step: section_4:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: You're on the right track. Explain how replication helps catch errors and builds confidence. + metadata_add: + score: n+1 + next_section_and_step: section_4:step_1 + limited_effort: + content_blocks: + - Think about what happens if only ONE person does an experiment. How do we know if their result was accurate? + next_section_and_step: section_3:step_2 + off_topic: + content_blocks: + - Let's focus on why repeating experiments is important in science. + next_section_and_step: section_3:step_2 +- section_id: section_4 + title: Reflection and Conclusion + steps: + - step_id: step_1 + title: Congratulations! + content_blocks: + - '## Congratulations, Scientist! 🔬' + - You've completed the Scientific Method Explorer! + - '' + - '**What you''ve learned:**' + - ✓ The steps of the scientific method + - ✓ How to form testable hypotheses + - ✓ Experimental design principles + - ✓ Identifying variables (independent, dependent, control) + - ✓ The importance of controls and placebos + - ✓ Recognizing bias in experiments + - ✓ Why replication and peer review matter + - '' + - '**Famous scientists you studied:**' + - '- Ignaz Semmelweis (germ theory and handwashing)' + - '- Isaac Newton (nature of light)' + - '' + - '**Why this matters:**' + - The scientific method is how we reliably discover truth about the natural world. + - 'These principles apply whether you''re:' + - '- Testing a new technology' + - '- Debugging code (forming and testing hypotheses!)' + - '- Evaluating health claims' + - '- Understanding climate science' + - '- Or pursuing any evidence-based inquiry' + question: How might you apply scientific thinking in your own life or studies? Give an example of a question you could investigate using the scientific method. + tokens_for_ai: 'This is a reflection question. Accept any thoughtful application of scientific method + + to a real-world question or problem. + + + Categorize as: + + - excellent_application: Proposes a specific, testable question with clear methodology + + - good_application: Identifies a reasonable application area + + - basic_reflection: General but genuine reflection + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Provide personalized, encouraging feedback on their learning journey. Acknowledge their + + application ideas. Encourage them to actually try investigating something scientifically. + + Emphasize that scientific thinking is a powerful tool for understanding the world. + + ' + buckets: + - excellent_application + - good_application + - basic_reflection + - limited_effort + - off_topic + transitions: + excellent_application: + ai_feedback: + tokens_for_ai: Fantastic! Your example shows you truly understand how to apply the scientific method. Encourage them to actually investigate their question! + metadata_add: + activity_completed: 'true' + good_application: + ai_feedback: + tokens_for_ai: Great thinking! Provide positive feedback and suggestions for how they could make their investigation more rigorous. + metadata_add: + activity_completed: 'true' + basic_reflection: + ai_feedback: + tokens_for_ai: Thank them for their reflection and summarize the key scientific principles they've learned. + metadata_add: + activity_completed: 'true' + limited_effort: + ai_feedback: + tokens_for_ai: Acknowledge their completion and encourage them to think scientifically in their daily life. + metadata_add: + activity_completed: 'true' + off_topic: + content_blocks: + - Think about how you could use scientific thinking in your own investigations. What question might you explore? + next_section_and_step: section_4:step_1 diff --git a/research/activity32-world-geography.yaml b/research/activity32-world-geography.yaml index 4620d32..e2af5d3 100644 --- a/research/activity32-world-geography.yaml +++ b/research/activity32-world-geography.yaml @@ -1,805 +1,895 @@ default_max_attempts_per_step: 3 +tokens_for_ai_rubric: 'Evaluate the student''s engagement with world geography and cultural learning. -tokens_for_ai_rubric: | - Evaluate the student's engagement with world geography and cultural learning. Consider: + - Their curiosity about different regions + - Retention of geographical and cultural facts + - Respect and interest in cultural diversity + - Performance on geography questions + Provide encouraging feedback and suggest areas of the world they might explore further. + ' sections: - - section_id: "introduction" - title: "Welcome, World Explorer!" - steps: - - step_id: "welcome" - title: "Welcome to World Geography" +- section_id: introduction + title: Welcome, World Explorer! + steps: + - step_id: welcome + title: Welcome to World Geography + content_blocks: + - '# Welcome to World Geography & Cultural Awareness! 🌍' + - Embark on a virtual journey around the world! + - '' + - '**In this adventure, you will:**' + - '- Explore different continents and countries' + - '- Learn fascinating cultural facts and traditions' + - '- Discover historical connections between regions' + - '- Test your geography knowledge' + - '- Develop global awareness and appreciation for diversity' + - '' + - '**Your journey:**' + - You'll choose which regions to explore, learn about each location, and answer questions to test your knowledge. + - The more you explore, the more cultural insights you'll collect! + - '' + - Ready to explore our amazing planet? + question: 'Which continent would you like to explore first? Choose: Africa, Asia, Europe, South America, or Oceania.' + tokens_for_ai: 'Student is choosing their starting continent. + + + Categorize as: + + - africa: Chose Africa + + - asia: Chose Asia + + - europe: Chose Europe + + - south_america: Chose South America + + - oceania: Chose Oceania (Australia/Pacific) + + - set_language: Setting language preference + + - off_topic: Doesn''t choose a continent + + ' + buckets: + - africa + - asia + - europe + - south_america + - oceania + - set_language + - off_topic + transitions: + africa: content_blocks: - - "# Welcome to World Geography & Cultural Awareness! 🌍" - - "Embark on a virtual journey around the world!" - - "" - - "**In this adventure, you will:**" - - "- Explore different continents and countries" - - "- Learn fascinating cultural facts and traditions" - - "- Discover historical connections between regions" - - "- Test your geography knowledge" - - "- Develop global awareness and appreciation for diversity" - - "" - - "**Your journey:**" - - "You'll choose which regions to explore, learn about each location, and answer questions to test your knowledge." - - "The more you explore, the more cultural insights you'll collect!" - - "" - - "Ready to explore our amazing planet?" - question: "Which continent would you like to explore first? Choose: Africa, Asia, Europe, South America, or Oceania." - tokens_for_ai: | - Student is choosing their starting continent. - - Categorize as: - - africa: Chose Africa - - asia: Chose Asia - - europe: Chose Europe - - south_america: Chose South America - - oceania: Chose Oceania (Australia/Pacific) - - set_language: Setting language preference - - off_topic: Doesn't choose a continent - buckets: - - africa - - asia - - europe - - south_america - - oceania - - set_language - - off_topic - transitions: - africa: - content_blocks: - - "🌍 Excellent choice! Let's explore the diverse continent of Africa!" - metadata_add: - continents_visited: "n+1" - current_continent: "Africa" - next_section_and_step: "africa:step_1" - asia: - content_blocks: - - "🌏 Wonderful! Asia awaits - the world's largest and most populous continent!" - metadata_add: - continents_visited: "n+1" - current_continent: "Asia" - next_section_and_step: "asia:step_1" - europe: - content_blocks: - - "🌍 Great! Let's discover the rich history and culture of Europe!" - metadata_add: - continents_visited: "n+1" - current_continent: "Europe" - next_section_and_step: "europe:step_1" - south_america: - content_blocks: - - "🌎 Fantastic! South America's biodiversity and culture await!" - metadata_add: - continents_visited: "n+1" - current_continent: "South America" - next_section_and_step: "south_america:step_1" - oceania: - content_blocks: - - "🌏 Awesome! Let's explore the islands and nations of Oceania!" - metadata_add: - continents_visited: "n+1" - current_continent: "Oceania" - next_section_and_step: "oceania:step_1" - set_language: - content_blocks: - - "I'll communicate in your preferred language." - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - off_topic: - content_blocks: - - "Please choose a continent to explore: Africa, Asia, Europe, South America, or Oceania." - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - - - section_id: "africa" - title: "Exploring Africa" - steps: - - step_id: "step_1" - title: "Welcome to Africa - Kenya" + - 🌍 Excellent choice! Let's explore the diverse continent of Africa! + metadata_add: + continents_visited: n+1 + current_continent: Africa + next_section_and_step: africa:step_1 + asia: content_blocks: - - "## Welcome to Africa! 🦁" - - "Africa is the world's second-largest continent, home to 54 countries and over 1.3 billion people." - - "" - - "**Let's visit Kenya!**" - - "" - - "**Geography:** Kenya is located in East Africa, bordered by the Indian Ocean." - - "**Capital:** Nairobi" - - "**Famous for:** Wildlife safaris, the Great Rift Valley, and being home to the Maasai people" - - "" - - "**Cultural Fact:**" - - "Kenya is known for its incredible biodiversity. The annual wildebeest migration through the Maasai Mara is one of the world's most spectacular natural events!" - - "" - - "**Language Note:**" - - "While English and Swahili are official languages, Kenya has over 60 indigenous languages!" - - "In Swahili, 'Jambo' means 'Hello' and 'Karibu' means 'Welcome'." - question: "What is the capital city of Kenya?" - tokens_for_ai: | - The capital of Kenya is Nairobi (just mentioned in the content). - - Categorize as: - - correct: Says Nairobi - - close: Says a major Kenyan city but not the capital (like Mombasa) - - confused_region: Names a capital from a different African country - - limited_effort: Very brief or no real answer - - off_topic: Unrelated - feedback_tokens_for_ai: | - If correct, praise them! If they guessed another city, gently correct and perhaps share - a fun fact about Nairobi. - buckets: - - correct - - close - - confused_region - - limited_effort - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Correct! Nairobi is indeed the capital. Share an interesting fact about Nairobi being one of Africa's major cities." - metadata_add: - quiz_score: "n+1" - countries_visited: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "africa:step_2" - close: - ai_feedback: - tokens_for_ai: "That's a major city in Kenya, but the capital is Nairobi! Share a fact about both cities." - metadata_add: - countries_visited: "n+1" - next_section_and_step: "africa:step_2" - confused_region: - content_blocks: - - "That's a capital of another African country! Kenya's capital is Nairobi." - metadata_add: - countries_visited: "n+1" - next_section_and_step: "africa:step_2" - limited_effort: - content_blocks: - - "Look back at the information about Kenya. Which city is listed as the capital?" - next_section_and_step: "africa:step_1" - off_topic: - content_blocks: - - "Let's focus on learning about Kenya. What is its capital city?" - next_section_and_step: "africa:step_1" - - - step_id: "step_2" - title: "Choose Your Next Destination" + - 🌏 Wonderful! Asia awaits - the world's largest and most populous continent! + metadata_add: + continents_visited: n+1 + current_continent: Asia + next_section_and_step: asia:step_1 + europe: content_blocks: - - "## Journey Continues..." - - "Excellent! You've learned about Kenya." - - "" - - "**From Kenya, you can explore:**" - - "- **North to Egypt** - Ancient pyramids and the Nile River" - - "- **West to Nigeria** - Africa's most populous country, rich in culture and music" - - "- **South to South Africa** - Diverse landscapes from savannas to mountains" - - "- **Continue to a new continent** - Asia, Europe, South America, or Oceania" - question: "Where would you like to go next?" - tokens_for_ai: | - Student is choosing their next destination. - - Categorize as: - - egypt: North to Egypt - - nigeria: West to Nigeria - - south_africa: South to South Africa - - new_continent: Wants to explore a different continent - - off_topic: Unrelated - buckets: - - egypt - - nigeria - - south_africa - - new_continent - - off_topic - transitions: - egypt: - content_blocks: - - "🐪 Heading north to Egypt - land of pharaohs!" - metadata_add: - countries_visited: "n+1" - next_section_and_step: "africa_egypt:step_1" - nigeria: - content_blocks: - - "🎵 Traveling west to Nigeria - birthplace of Afrobeat!" - metadata_add: - countries_visited: "n+1" - next_section_and_step: "africa_nigeria:step_1" - south_africa: - content_blocks: - - "🦏 Heading south to South Africa - the Rainbow Nation!" - metadata_add: - countries_visited: "n+1" - next_section_and_step: "africa_south:step_1" - new_continent: - content_blocks: - - "Ready to explore a new continent! Great choice." - next_section_and_step: "choose_continent:step_1" - off_topic: - content_blocks: - - "Please choose your next destination: Egypt, Nigeria, South Africa, or a new continent." - counts_as_attempt: false - next_section_and_step: "africa:step_2" - - - section_id: "africa_egypt" - title: "Egypt" - steps: - - step_id: "step_1" - title: "Egypt - Land of Ancient Wonders" + - 🌍 Great! Let's discover the rich history and culture of Europe! + metadata_add: + continents_visited: n+1 + current_continent: Europe + next_section_and_step: europe:step_1 + south_america: content_blocks: - - "## Egypt - Land of Ancient Wonders 🐪" - - "**Geography:** Located in Northeast Africa, Egypt connects Africa to Asia via the Sinai Peninsula." - - "**Capital:** Cairo" - - "**Famous for:** The Pyramids of Giza, the Sphinx, the Nile River (world's longest river)" - - "" - - "**Historical Fact:**" - - "Ancient Egyptian civilization lasted over 3,000 years! They developed hieroglyphic writing, built massive monuments, and made advances in mathematics, medicine, and astronomy." - - "" - - "**Cultural Fact:**" - - "The Nile River has been central to Egyptian life for millennia. The ancient saying 'Egypt is the gift of the Nile' reflects how the river's annual flooding made agriculture possible in the desert." - question: "What is the world's longest river, which flows through Egypt?" - tokens_for_ai: | - The answer is the Nile River (mentioned multiple times above). - - Categorize as: - - correct: Says Nile or Nile River - - confused: Names another famous long river (Amazon, Yangtze, Mississippi) - - limited_effort: Very brief or no answer - - off_topic: Unrelated - feedback_tokens_for_ai: | - If correct, praise them! If they say Amazon (second longest), acknowledge it's close but - the Nile is slightly longer. - buckets: - - correct - - confused - - limited_effort - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Excellent! The Nile is indeed the world's longest river. Share a fascinating fact about its importance." - metadata_add: - quiz_score: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - confused: - ai_feedback: - tokens_for_ai: "That's another long river! But the Nile is the world's longest. Explain the comparison between them." - metadata_add: - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - limited_effort: - content_blocks: - - "Look at the information about Egypt. Which river is mentioned as the world's longest?" - next_section_and_step: "africa_egypt:step_1" - off_topic: - content_blocks: - - "Let's focus on geography. What is the world's longest river?" - next_section_and_step: "africa_egypt:step_1" - - - section_id: "africa_nigeria" - title: "Nigeria" - steps: - - step_id: "step_1" - title: "Nigeria - Heart of West Africa" + - 🌎 Fantastic! South America's biodiversity and culture await! + metadata_add: + continents_visited: n+1 + current_continent: South America + next_section_and_step: south_america:step_1 + oceania: content_blocks: - - "## Nigeria - Heart of West Africa 🎵" - - "**Geography:** Located in West Africa on the Gulf of Guinea" - - "**Capital:** Abuja" - - "**Famous for:** Being Africa's most populous country (over 200 million people), Nollywood (film industry), Afrobeat music" - - "" - - "**Cultural Fact:**" - - "Nigeria is incredibly diverse with over 250 ethnic groups and 500+ languages! The largest groups are Hausa, Yoruba, and Igbo." - - "" - - "**Music Heritage:**" - - "Nigeria is the birthplace of Afrobeat, pioneered by Fela Kuti. Today, Nigerian artists are internationally renowned in genres from Afrobeats to hip-hop." - question: "Nigeria is famous for its film industry. What is it called?" - tokens_for_ai: | - The answer is Nollywood (mentioned above). - - Categorize as: - - correct: Says Nollywood - - confused: Says Bollywood or Hollywood - - limited_effort: Very brief or no answer - - off_topic: Unrelated - feedback_tokens_for_ai: | - If correct, share fun facts about Nollywood being one of the world's largest film - industries by volume! - buckets: - - correct - - confused - - limited_effort - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Correct! Nollywood is one of the world's largest film industries. Share impressive statistics about it." - metadata_add: - quiz_score: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - confused: - ai_feedback: - tokens_for_ai: "That's a film industry, but Nigeria has its own! It's called Nollywood." - metadata_add: - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - limited_effort: - content_blocks: - - "Check the information about Nigeria. What is their film industry called? (Hint: it rhymes with Hollywood!)" - next_section_and_step: "africa_nigeria:step_1" - off_topic: - content_blocks: - - "Let's learn about Nigerian culture. What is their film industry called?" - next_section_and_step: "africa_nigeria:step_1" - - - section_id: "africa_south" - title: "South Africa" - steps: - - step_id: "step_1" - title: "South Africa - The Rainbow Nation" + - 🌏 Awesome! Let's explore the islands and nations of Oceania! + metadata_add: + continents_visited: n+1 + current_continent: Oceania + next_section_and_step: oceania:step_1 + set_language: content_blocks: - - "## South Africa - The Rainbow Nation 🦏" - - "**Geography:** Located at the southern tip of Africa" - - "**Capitals:** THREE! Pretoria (executive), Cape Town (legislative), Bloemfontein (judicial)" - - "**Famous for:** Diverse landscapes, wildlife (Big Five: lion, leopard, rhino, elephant, buffalo), and being called the 'Rainbow Nation' for its multicultural diversity" - - "" - - "**Historical Fact:**" - - "Nelson Mandela led the struggle against apartheid and became South Africa's first Black president in 1994, helping to create a democratic, multicultural nation." - - "" - - "**Language Diversity:**" - - "South Africa has 11 official languages, including English, Afrikaans, Zulu, and Xhosa!" - question: "How many official languages does South Africa have?" - tokens_for_ai: | - The answer is 11 (mentioned above). - - Categorize as: - - correct: Says 11 or eleven - - close: Says a number between 8-15 - - confused: Says 1, 2, or 3 - - limited_effort: Very brief or no answer - - off_topic: Unrelated - feedback_tokens_for_ai: | - If correct or close, praise their attention! Share how this linguistic diversity reflects - the country's multicultural heritage. - buckets: - - correct - - close - - confused - - limited_effort - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Exactly right - 11 official languages! Explain what this reveals about South African diversity." - metadata_add: - quiz_score: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - close: - ai_feedback: - tokens_for_ai: "Very close! South Africa has exactly 11 official languages. Explain why this is significant." - metadata_add: - quiz_score: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - confused: - content_blocks: - - "Actually, South Africa is remarkably diverse! It has 11 official languages." - metadata_add: - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - limited_effort: - content_blocks: - - "Look at the language diversity section. How many official languages are mentioned?" - next_section_and_step: "africa_south:step_1" - off_topic: - content_blocks: - - "Let's focus on South African culture. How many official languages does the country have?" - next_section_and_step: "africa_south:step_1" - - - section_id: "asia" - title: "Exploring Asia" - steps: - - step_id: "step_1" - title: "Welcome to Asia - Japan" + - I'll communicate in your preferred language. + counts_as_attempt: false + next_section_and_step: introduction:welcome + off_topic: content_blocks: - - "## Welcome to Asia! 🏯" - - "Asia is the world's largest continent, covering 30% of Earth's land area and home to 60% of the world's population!" - - "" - - "**Let's visit Japan!**" - - "" - - "**Geography:** An island nation in East Asia, consisting of 4 main islands and thousands of smaller ones" - - "**Capital:** Tokyo" - - "**Famous for:** Technology, anime/manga, cherry blossoms, ancient temples, and a unique blend of tradition and modernity" - - "" - - "**Cultural Fact:**" - - "Japan has a deep tradition of respect and harmony. The concept of 'wa' (和) emphasizes peace and balance in relationships." - - "Bowing is a traditional greeting showing respect!" - - "" - - "**Interesting Note:**" - - "Japan has more than 6,800 islands, though most people live on the four largest: Honshu, Hokkaido, Kyushu, and Shikoku." - question: "What is the capital of Japan?" - tokens_for_ai: | - The answer is Tokyo (mentioned above). + - 'Please choose a continent to explore: Africa, Asia, Europe, South America, or Oceania.' + counts_as_attempt: false + next_section_and_step: introduction:welcome +- section_id: africa + title: Exploring Africa + steps: + - step_id: step_1 + title: Welcome to Africa - Kenya + content_blocks: + - '## Welcome to Africa! 🦁' + - Africa is the world's second-largest continent, home to 54 countries and over 1.3 billion people. + - '' + - '**Let''s visit Kenya!**' + - '' + - '**Geography:** Kenya is located in East Africa, bordered by the Indian Ocean.' + - '**Capital:** Nairobi' + - '**Famous for:** Wildlife safaris, the Great Rift Valley, and being home to the Maasai people' + - '' + - '**Cultural Fact:**' + - Kenya is known for its incredible biodiversity. The annual wildebeest migration through the Maasai Mara is one of the world's most spectacular natural events! + - '' + - '**Language Note:**' + - While English and Swahili are official languages, Kenya has over 60 indigenous languages! + - In Swahili, 'Jambo' means 'Hello' and 'Karibu' means 'Welcome'. + question: What is the capital city of Kenya? + tokens_for_ai: 'The capital of Kenya is Nairobi (just mentioned in the content). - Categorize as: - - correct: Says Tokyo - - close: Names another major Japanese city (Osaka, Kyoto) - - confused_region: Names a capital from another Asian country - - limited_effort: Very brief or no answer - - off_topic: Unrelated - feedback_tokens_for_ai: | - If correct, share a fact about Tokyo being one of the world's largest metropolitan areas! - buckets: - - correct - - close - - confused_region - - limited_effort - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Correct! Tokyo is the capital and one of the world's largest cities. Share a fascinating fact about it." - metadata_add: - quiz_score: "n+1" - countries_visited: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - close: - ai_feedback: - tokens_for_ai: "That's an important Japanese city! But the capital is Tokyo. Explain the historical significance of Kyoto if they mentioned it." - metadata_add: - countries_visited: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - confused_region: - content_blocks: - - "That's a capital of another Asian country! Japan's capital is Tokyo." - metadata_add: - countries_visited: "n+1" - next_section_and_step: "choose_continent:step_1" - limited_effort: - content_blocks: - - "Look at the information about Japan. Which city is the capital?" - next_section_and_step: "asia:step_1" - off_topic: - content_blocks: - - "Let's learn about Japan. What is its capital city?" - next_section_and_step: "asia:step_1" - - section_id: "europe" - title: "Exploring Europe" - steps: - - step_id: "step_1" - title: "Welcome to Europe - Italy" + Categorize as: + + - correct: Says Nairobi + + - close: Says a major Kenyan city but not the capital (like Mombasa) + + - confused_region: Names a capital from a different African country + + - limited_effort: Very brief or no real answer + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If correct, praise them! If they guessed another city, gently correct and perhaps share + + a fun fact about Nairobi. + + ' + buckets: + - correct + - close + - confused_region + - limited_effort + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Correct! Nairobi is indeed the capital. Share an interesting fact about Nairobi being one of Africa's major cities. + metadata_add: + quiz_score: n+1 + countries_visited: n+1 + cultural_facts_learned: n+1 + next_section_and_step: africa:step_2 + close: + ai_feedback: + tokens_for_ai: That's a major city in Kenya, but the capital is Nairobi! Share a fact about both cities. + metadata_add: + countries_visited: n+1 + next_section_and_step: africa:step_2 + confused_region: content_blocks: - - "## Welcome to Europe! 🏰" - - "Europe may be small in size, but it's mighty in history, culture, and diversity!" - - "" - - "**Let's visit Italy!**" - - "" - - "**Geography:** A boot-shaped peninsula in Southern Europe, extending into the Mediterranean Sea" - - "**Capital:** Rome" - - "**Famous for:** Ancient Roman history, Renaissance art, delicious cuisine (pizza, pasta!), and beautiful architecture" - - "" - - "**Historical Fact:**" - - "Rome was the heart of the Roman Empire, which at its height controlled most of Europe, North Africa, and the Middle East. The saying 'All roads lead to Rome' comes from the extensive Roman road network!" - - "" - - "**Cultural Fact:**" - - "Italy is home to more UNESCO World Heritage Sites than any other country - 58 sites including the Colosseum, Venice, and Pompeii!" - question: "What is the capital of Italy, which was also the center of the ancient Roman Empire?" - tokens_for_ai: | - The answer is Rome (mentioned multiple times above). - - Categorize as: - - correct: Says Rome - - close: Names another major Italian city (Venice, Milan, Florence) - - confused_region: Names a capital from another European country - - limited_effort: Very brief or no answer - - off_topic: Unrelated - feedback_tokens_for_ai: | - If correct, share excitement about Rome's incredible history spanning over 2,500 years! - buckets: - - correct - - close - - confused_region - - limited_effort - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Correct! Rome - the Eternal City - has over 2,500 years of history. Share a fascinating fact about it." - metadata_add: - quiz_score: "n+1" - countries_visited: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - close: - ai_feedback: - tokens_for_ai: "That's a beautiful Italian city! But the capital is Rome. Share a fact about the city they mentioned if historically significant." - metadata_add: - countries_visited: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - confused_region: - content_blocks: - - "That's a European capital, but Italy's capital is Rome!" - metadata_add: - countries_visited: "n+1" - next_section_and_step: "choose_continent:step_1" - limited_effort: - content_blocks: - - "Look at the information about Italy. Which city is mentioned as both the capital AND the center of the ancient Roman Empire?" - next_section_and_step: "europe:step_1" - off_topic: - content_blocks: - - "Let's learn about Italy. What is its capital city?" - next_section_and_step: "europe:step_1" - - - section_id: "south_america" - title: "Exploring South America" - steps: - - step_id: "step_1" - title: "Welcome to South America - Brazil" + - That's a capital of another African country! Kenya's capital is Nairobi. + metadata_add: + countries_visited: n+1 + next_section_and_step: africa:step_2 + limited_effort: content_blocks: - - "## Welcome to South America! 🦜" - - "Home to the Amazon rainforest, the Andes mountains, and incredibly rich biodiversity!" - - "" - - "**Let's visit Brazil!**" - - "" - - "**Geography:** The largest country in South America, covering nearly half the continent" - - "**Capital:** Brasília (planned and built in the 1960s)" - - "**Famous for:** Amazon rainforest, carnival celebrations, football (soccer), and diverse ecosystems from rainforests to beaches" - - "" - - "**Environmental Fact:**" - - "The Amazon rainforest, which covers much of Brazil, is sometimes called the 'lungs of the Earth' because it produces about 20% of the world's oxygen!" - - "" - - "**Cultural Fact:**" - - "Brazil is the only Portuguese-speaking country in South America (most others speak Spanish). Brazilian Portuguese has its own unique accent and expressions!" - question: "What language is primarily spoken in Brazil?" - tokens_for_ai: | - The answer is Portuguese (mentioned above). - - Categorize as: - - correct: Says Portuguese - - confused: Says Spanish (common misconception) - - limited_effort: Very brief or no answer - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they say Spanish, gently correct and explain this is a common misconception - Brazil - was colonized by Portugal, not Spain! If correct, praise them for knowing this fact. - buckets: - - correct - - confused - - limited_effort - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Excellent! Many people think Spanish, but Brazil speaks Portuguese due to Portuguese colonization. Share why this is unique in South America." - metadata_add: - quiz_score: "n+1" - countries_visited: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - confused: - ai_feedback: - tokens_for_ai: "Common misconception! Unlike most of South America, Brazil speaks Portuguese, not Spanish. Explain the historical reason." - metadata_add: - countries_visited: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - limited_effort: - content_blocks: - - "Look at the cultural fact section. Which language does Brazil speak?" - next_section_and_step: "south_america:step_1" - off_topic: - content_blocks: - - "Let's learn about Brazil. What language is primarily spoken there?" - next_section_and_step: "south_america:step_1" - - - section_id: "oceania" - title: "Exploring Oceania" - steps: - - step_id: "step_1" - title: "Welcome to Oceania - Australia" + - Look back at the information about Kenya. Which city is listed as the capital? + next_section_and_step: africa:step_1 + off_topic: content_blocks: - - "## Welcome to Oceania! 🏝️" - - "A region of islands and nations in the Pacific Ocean!" - - "" - - "**Let's visit Australia!**" - - "" - - "**Geography:** The world's smallest continent but largest island, located between the Indian and Pacific Oceans" - - "**Capital:** Canberra" - - "**Famous for:** Unique wildlife (kangaroos, koalas, platypuses), the Great Barrier Reef, the Outback, and indigenous Aboriginal culture spanning 65,000+ years" - - "" - - "**Indigenous Heritage:**" - - "Aboriginal Australians have the longest continuous culture on Earth - over 65,000 years! They have deep knowledge of the land, sophisticated art traditions, and hundreds of distinct languages." - - "" - - "**Wildlife Fact:**" - - "Australia has more unique species than anywhere else! About 80% of its plants, mammals, and reptiles are found nowhere else on Earth." - question: "What is the world's largest coral reef system, located off the coast of Australia?" - tokens_for_ai: | - The answer is the Great Barrier Reef (mentioned above). + - Let's focus on learning about Kenya. What is its capital city? + next_section_and_step: africa:step_1 + - step_id: step_2 + title: Choose Your Next Destination + content_blocks: + - '## Journey Continues...' + - Excellent! You've learned about Kenya. + - '' + - '**From Kenya, you can explore:**' + - '- **North to Egypt** - Ancient pyramids and the Nile River' + - '- **West to Nigeria** - Africa''s most populous country, rich in culture and music' + - '- **South to South Africa** - Diverse landscapes from savannas to mountains' + - '- **Continue to a new continent** - Asia, Europe, South America, or Oceania' + question: Where would you like to go next? + tokens_for_ai: 'Student is choosing their next destination. - Categorize as: - - correct: Says Great Barrier Reef or just Barrier Reef - - close: Mentions coral reef but not the specific name - - confused: Names another natural wonder in Australia - - limited_effort: Very brief or no answer - - off_topic: Unrelated - feedback_tokens_for_ai: | - If correct, share facts about it being visible from space and home to thousands of species! - buckets: - - correct - - close - - confused - - limited_effort - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Correct! The Great Barrier Reef is the world's largest coral reef system and can even be seen from space! Share conservation importance." - metadata_add: - quiz_score: "n+1" - countries_visited: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - close: - ai_feedback: - tokens_for_ai: "You're thinking of the right feature! It's called the Great Barrier Reef. Share impressive facts about it." - metadata_add: - countries_visited: "n+1" - cultural_facts_learned: "n+1" - next_section_and_step: "choose_continent:step_1" - confused: - content_blocks: - - "That's an Australian feature, but we're looking for the coral reef! It's the Great Barrier Reef." - metadata_add: - countries_visited: "n+1" - next_section_and_step: "choose_continent:step_1" - limited_effort: - content_blocks: - - "Look at the information about Australia. What coral reef system is mentioned?" - next_section_and_step: "oceania:step_1" - off_topic: - content_blocks: - - "Let's learn about Australia. What is the famous coral reef system off its coast?" - next_section_and_step: "oceania:step_1" - - section_id: "choose_continent" - title: "Continue Your Journey" - steps: - - step_id: "step_1" - title: "Choose Next Continent" + Categorize as: + + - egypt: North to Egypt + + - nigeria: West to Nigeria + + - south_africa: South to South Africa + + - new_continent: Wants to explore a different continent + + - off_topic: Unrelated + + ' + buckets: + - egypt + - nigeria + - south_africa + - new_continent + - off_topic + transitions: + egypt: content_blocks: - - "## Your World Journey Continues! ✈️" - - "Great exploring! You're building global knowledge." - - "" - - "**What would you like to do next?**" - - "- Explore another continent (type: Africa, Asia, Europe, South America, or Oceania)" - - "- Finish your journey and see what you've learned (type: finish)" - question: "Continue exploring or finish your journey?" - tokens_for_ai: | - Student chooses to continue or finish. - - Categorize as: - - africa: Wants to explore Africa - - asia: Wants to explore Asia - - europe: Wants to explore Europe - - south_america: Wants to explore South America - - oceania: Wants to explore Oceania - - finish: Ready to finish - - off_topic: Unrelated - buckets: - - africa - - asia - - europe - - south_america - - oceania - - finish - - off_topic - transitions: - africa: - content_blocks: - - "🌍 Heading to Africa!" - metadata_add: - continents_visited: "n+1" - next_section_and_step: "africa:step_1" - asia: - content_blocks: - - "🌏 Off to Asia!" - metadata_add: - continents_visited: "n+1" - next_section_and_step: "asia:step_1" - europe: - content_blocks: - - "🌍 Traveling to Europe!" - metadata_add: - continents_visited: "n+1" - next_section_and_step: "europe:step_1" - south_america: - content_blocks: - - "🌎 Journey to South America!" - metadata_add: - continents_visited: "n+1" - next_section_and_step: "south_america:step_1" - oceania: - content_blocks: - - "🌏 Exploring Oceania!" - metadata_add: - continents_visited: "n+1" - next_section_and_step: "oceania:step_1" - finish: - content_blocks: - - "🌍 Wonderful! Let's reflect on your global journey." - next_section_and_step: "conclusion:step_1" - off_topic: - content_blocks: - - "Choose a continent to explore (Africa, Asia, Europe, South America, Oceania) or type 'finish' to complete your journey." - counts_as_attempt: false - next_section_and_step: "choose_continent:step_1" - - - section_id: "conclusion" - title: "Journey Complete!" - steps: - - step_id: "step_1" - title: "Congratulations!" + - 🐪 Heading north to Egypt - land of pharaohs! + metadata_add: + countries_visited: n+1 + next_section_and_step: africa_egypt:step_1 + nigeria: content_blocks: - - "## Congratulations, World Explorer! 🌍🌎🌏" - - "You've completed your global geography journey!" - - "" - - "**Why geography and cultural awareness matter:**" - - "- Helps us understand global events and connections" - - "- Builds respect and appreciation for diversity" - - "- Reveals how geography shapes culture, history, and daily life" - - "- Prepares us to be global citizens in an interconnected world" - - "" - - "**Remember:**" - - "Every region has unique beauty, wisdom, and contributions to humanity." - - "Learning about the world helps us see both our differences and our common humanity." - question: "What was the most interesting cultural fact or place you learned about? What would you like to explore more deeply?" - tokens_for_ai: | - This is a reflection question. Accept any thoughtful response about their learning. + - 🎵 Traveling west to Nigeria - birthplace of Afrobeat! + metadata_add: + countries_visited: n+1 + next_section_and_step: africa_nigeria:step_1 + south_africa: + content_blocks: + - 🦏 Heading south to South Africa - the Rainbow Nation! + metadata_add: + countries_visited: n+1 + next_section_and_step: africa_south:step_1 + new_continent: + content_blocks: + - Ready to explore a new continent! Great choice. + next_section_and_step: choose_continent:step_1 + off_topic: + content_blocks: + - 'Please choose your next destination: Egypt, Nigeria, South Africa, or a new continent.' + counts_as_attempt: false + next_section_and_step: africa:step_2 +- section_id: africa_egypt + title: Egypt + steps: + - step_id: step_1 + title: Egypt - Land of Ancient Wonders + content_blocks: + - '## Egypt - Land of Ancient Wonders 🐪' + - '**Geography:** Located in Northeast Africa, Egypt connects Africa to Asia via the Sinai Peninsula.' + - '**Capital:** Cairo' + - '**Famous for:** The Pyramids of Giza, the Sphinx, the Nile River (world''s longest river)' + - '' + - '**Historical Fact:**' + - Ancient Egyptian civilization lasted over 3,000 years! They developed hieroglyphic writing, built massive monuments, and made advances in mathematics, medicine, and astronomy. + - '' + - '**Cultural Fact:**' + - The Nile River has been central to Egyptian life for millennia. The ancient saying 'Egypt is the gift of the Nile' reflects how the river's annual flooding made agriculture possible in the desert. + question: What is the world's longest river, which flows through Egypt? + tokens_for_ai: 'The answer is the Nile River (mentioned multiple times above). - Categorize as: - - thoughtful_reflection: Specific insights about what they learned - - brief_reflection: Short but genuine - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - Provide personalized feedback based on their journey. Acknowledge the places they visited - (from metadata) and encourage continued exploration of world cultures. - buckets: - - thoughtful_reflection - - brief_reflection - - limited_effort - - off_topic - transitions: - thoughtful_reflection: - ai_feedback: - tokens_for_ai: "Provide thoughtful, personalized feedback about their learning journey. Suggest resources for further exploration of the topics that interested them most." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - brief_reflection: - ai_feedback: - tokens_for_ai: "Acknowledge their learning and encourage them to continue exploring world geography and cultures." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - limited_effort: - ai_feedback: - tokens_for_ai: "Thank them for their participation and summarize key geography and cultural facts they encountered." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - off_topic: - content_blocks: - - "Let's reflect on your journey. What did you find most interesting about the places you visited?" - next_section_and_step: "conclusion:step_1" + + Categorize as: + + - correct: Says Nile or Nile River + + - confused: Names another famous long river (Amazon, Yangtze, Mississippi) + + - limited_effort: Very brief or no answer + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If correct, praise them! If they say Amazon (second longest), acknowledge it''s close but + + the Nile is slightly longer. + + ' + buckets: + - correct + - confused + - limited_effort + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Excellent! The Nile is indeed the world's longest river. Share a fascinating fact about its importance. + metadata_add: + quiz_score: n+1 + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + confused: + ai_feedback: + tokens_for_ai: That's another long river! But the Nile is the world's longest. Explain the comparison between them. + metadata_add: + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + limited_effort: + content_blocks: + - Look at the information about Egypt. Which river is mentioned as the world's longest? + next_section_and_step: africa_egypt:step_1 + off_topic: + content_blocks: + - Let's focus on geography. What is the world's longest river? + next_section_and_step: africa_egypt:step_1 +- section_id: africa_nigeria + title: Nigeria + steps: + - step_id: step_1 + title: Nigeria - Heart of West Africa + content_blocks: + - '## Nigeria - Heart of West Africa 🎵' + - '**Geography:** Located in West Africa on the Gulf of Guinea' + - '**Capital:** Abuja' + - '**Famous for:** Being Africa''s most populous country (over 200 million people), Nollywood (film industry), Afrobeat music' + - '' + - '**Cultural Fact:**' + - Nigeria is incredibly diverse with over 250 ethnic groups and 500+ languages! The largest groups are Hausa, Yoruba, and Igbo. + - '' + - '**Music Heritage:**' + - Nigeria is the birthplace of Afrobeat, pioneered by Fela Kuti. Today, Nigerian artists are internationally renowned in genres from Afrobeats to hip-hop. + question: Nigeria is famous for its film industry. What is it called? + tokens_for_ai: 'The answer is Nollywood (mentioned above). + + + Categorize as: + + - correct: Says Nollywood + + - confused: Says Bollywood or Hollywood + + - limited_effort: Very brief or no answer + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If correct, share fun facts about Nollywood being one of the world''s largest film + + industries by volume! + + ' + buckets: + - correct + - confused + - limited_effort + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Correct! Nollywood is one of the world's largest film industries. Share impressive statistics about it. + metadata_add: + quiz_score: n+1 + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + confused: + ai_feedback: + tokens_for_ai: That's a film industry, but Nigeria has its own! It's called Nollywood. + metadata_add: + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + limited_effort: + content_blocks: + - 'Check the information about Nigeria. What is their film industry called? (Hint: it rhymes with Hollywood!)' + next_section_and_step: africa_nigeria:step_1 + off_topic: + content_blocks: + - Let's learn about Nigerian culture. What is their film industry called? + next_section_and_step: africa_nigeria:step_1 +- section_id: africa_south + title: South Africa + steps: + - step_id: step_1 + title: South Africa - The Rainbow Nation + content_blocks: + - '## South Africa - The Rainbow Nation 🦏' + - '**Geography:** Located at the southern tip of Africa' + - '**Capitals:** THREE! Pretoria (executive), Cape Town (legislative), Bloemfontein (judicial)' + - '**Famous for:** Diverse landscapes, wildlife (Big Five: lion, leopard, rhino, elephant, buffalo), and being called the ''Rainbow Nation'' for its multicultural diversity' + - '' + - '**Historical Fact:**' + - Nelson Mandela led the struggle against apartheid and became South Africa's first Black president in 1994, helping to create a democratic, multicultural nation. + - '' + - '**Language Diversity:**' + - South Africa has 11 official languages, including English, Afrikaans, Zulu, and Xhosa! + question: How many official languages does South Africa have? + tokens_for_ai: 'The answer is 11 (mentioned above). + + + Categorize as: + + - correct: Says 11 or eleven + + - close: Says a number between 8-15 + + - confused: Says 1, 2, or 3 + + - limited_effort: Very brief or no answer + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If correct or close, praise their attention! Share how this linguistic diversity reflects + + the country''s multicultural heritage. + + ' + buckets: + - correct + - close + - confused + - limited_effort + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Exactly right - 11 official languages! Explain what this reveals about South African diversity. + metadata_add: + quiz_score: n+1 + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + close: + ai_feedback: + tokens_for_ai: Very close! South Africa has exactly 11 official languages. Explain why this is significant. + metadata_add: + quiz_score: n+1 + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + confused: + content_blocks: + - Actually, South Africa is remarkably diverse! It has 11 official languages. + metadata_add: + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + limited_effort: + content_blocks: + - Look at the language diversity section. How many official languages are mentioned? + next_section_and_step: africa_south:step_1 + off_topic: + content_blocks: + - Let's focus on South African culture. How many official languages does the country have? + next_section_and_step: africa_south:step_1 +- section_id: asia + title: Exploring Asia + steps: + - step_id: step_1 + title: Welcome to Asia - Japan + content_blocks: + - '## Welcome to Asia! 🏯' + - Asia is the world's largest continent, covering 30% of Earth's land area and home to 60% of the world's population! + - '' + - '**Let''s visit Japan!**' + - '' + - '**Geography:** An island nation in East Asia, consisting of 4 main islands and thousands of smaller ones' + - '**Capital:** Tokyo' + - '**Famous for:** Technology, anime/manga, cherry blossoms, ancient temples, and a unique blend of tradition and modernity' + - '' + - '**Cultural Fact:**' + - Japan has a deep tradition of respect and harmony. The concept of 'wa' (和) emphasizes peace and balance in relationships. + - Bowing is a traditional greeting showing respect! + - '' + - '**Interesting Note:**' + - 'Japan has more than 6,800 islands, though most people live on the four largest: Honshu, Hokkaido, Kyushu, and Shikoku.' + question: What is the capital of Japan? + tokens_for_ai: 'The answer is Tokyo (mentioned above). + + + Categorize as: + + - correct: Says Tokyo + + - close: Names another major Japanese city (Osaka, Kyoto) + + - confused_region: Names a capital from another Asian country + + - limited_effort: Very brief or no answer + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If correct, share a fact about Tokyo being one of the world''s largest metropolitan areas! + + ' + buckets: + - correct + - close + - confused_region + - limited_effort + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Correct! Tokyo is the capital and one of the world's largest cities. Share a fascinating fact about it. + metadata_add: + quiz_score: n+1 + countries_visited: n+1 + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + close: + ai_feedback: + tokens_for_ai: That's an important Japanese city! But the capital is Tokyo. Explain the historical significance of Kyoto if they mentioned it. + metadata_add: + countries_visited: n+1 + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + confused_region: + content_blocks: + - That's a capital of another Asian country! Japan's capital is Tokyo. + metadata_add: + countries_visited: n+1 + next_section_and_step: choose_continent:step_1 + limited_effort: + content_blocks: + - Look at the information about Japan. Which city is the capital? + next_section_and_step: asia:step_1 + off_topic: + content_blocks: + - Let's learn about Japan. What is its capital city? + next_section_and_step: asia:step_1 +- section_id: europe + title: Exploring Europe + steps: + - step_id: step_1 + title: Welcome to Europe - Italy + content_blocks: + - '## Welcome to Europe! 🏰' + - Europe may be small in size, but it's mighty in history, culture, and diversity! + - '' + - '**Let''s visit Italy!**' + - '' + - '**Geography:** A boot-shaped peninsula in Southern Europe, extending into the Mediterranean Sea' + - '**Capital:** Rome' + - '**Famous for:** Ancient Roman history, Renaissance art, delicious cuisine (pizza, pasta!), and beautiful architecture' + - '' + - '**Historical Fact:**' + - Rome was the heart of the Roman Empire, which at its height controlled most of Europe, North Africa, and the Middle East. The saying 'All roads lead to Rome' comes from the extensive Roman road network! + - '' + - '**Cultural Fact:**' + - Italy is home to more UNESCO World Heritage Sites than any other country - 58 sites including the Colosseum, Venice, and Pompeii! + question: What is the capital of Italy, which was also the center of the ancient Roman Empire? + tokens_for_ai: 'The answer is Rome (mentioned multiple times above). + + + Categorize as: + + - correct: Says Rome + + - close: Names another major Italian city (Venice, Milan, Florence) + + - confused_region: Names a capital from another European country + + - limited_effort: Very brief or no answer + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If correct, share excitement about Rome''s incredible history spanning over 2,500 years! + + ' + buckets: + - correct + - close + - confused_region + - limited_effort + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Correct! Rome - the Eternal City - has over 2,500 years of history. Share a fascinating fact about it. + metadata_add: + quiz_score: n+1 + countries_visited: n+1 + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + close: + ai_feedback: + tokens_for_ai: That's a beautiful Italian city! But the capital is Rome. Share a fact about the city they mentioned if historically significant. + metadata_add: + countries_visited: n+1 + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + confused_region: + content_blocks: + - That's a European capital, but Italy's capital is Rome! + metadata_add: + countries_visited: n+1 + next_section_and_step: choose_continent:step_1 + limited_effort: + content_blocks: + - Look at the information about Italy. Which city is mentioned as both the capital AND the center of the ancient Roman Empire? + next_section_and_step: europe:step_1 + off_topic: + content_blocks: + - Let's learn about Italy. What is its capital city? + next_section_and_step: europe:step_1 +- section_id: south_america + title: Exploring South America + steps: + - step_id: step_1 + title: Welcome to South America - Brazil + content_blocks: + - '## Welcome to South America! 🦜' + - Home to the Amazon rainforest, the Andes mountains, and incredibly rich biodiversity! + - '' + - '**Let''s visit Brazil!**' + - '' + - '**Geography:** The largest country in South America, covering nearly half the continent' + - '**Capital:** Brasília (planned and built in the 1960s)' + - '**Famous for:** Amazon rainforest, carnival celebrations, football (soccer), and diverse ecosystems from rainforests to beaches' + - '' + - '**Environmental Fact:**' + - The Amazon rainforest, which covers much of Brazil, is sometimes called the 'lungs of the Earth' because it produces about 20% of the world's oxygen! + - '' + - '**Cultural Fact:**' + - Brazil is the only Portuguese-speaking country in South America (most others speak Spanish). Brazilian Portuguese has its own unique accent and expressions! + question: What language is primarily spoken in Brazil? + tokens_for_ai: 'The answer is Portuguese (mentioned above). + + + Categorize as: + + - correct: Says Portuguese + + - confused: Says Spanish (common misconception) + + - limited_effort: Very brief or no answer + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they say Spanish, gently correct and explain this is a common misconception - Brazil + + was colonized by Portugal, not Spain! If correct, praise them for knowing this fact. + + ' + buckets: + - correct + - confused + - limited_effort + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Excellent! Many people think Spanish, but Brazil speaks Portuguese due to Portuguese colonization. Share why this is unique in South America. + metadata_add: + quiz_score: n+1 + countries_visited: n+1 + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + confused: + ai_feedback: + tokens_for_ai: Common misconception! Unlike most of South America, Brazil speaks Portuguese, not Spanish. Explain the historical reason. + metadata_add: + countries_visited: n+1 + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + limited_effort: + content_blocks: + - Look at the cultural fact section. Which language does Brazil speak? + next_section_and_step: south_america:step_1 + off_topic: + content_blocks: + - Let's learn about Brazil. What language is primarily spoken there? + next_section_and_step: south_america:step_1 +- section_id: oceania + title: Exploring Oceania + steps: + - step_id: step_1 + title: Welcome to Oceania - Australia + content_blocks: + - '## Welcome to Oceania! 🏝️' + - A region of islands and nations in the Pacific Ocean! + - '' + - '**Let''s visit Australia!**' + - '' + - '**Geography:** The world''s smallest continent but largest island, located between the Indian and Pacific Oceans' + - '**Capital:** Canberra' + - '**Famous for:** Unique wildlife (kangaroos, koalas, platypuses), the Great Barrier Reef, the Outback, and indigenous Aboriginal culture spanning 65,000+ years' + - '' + - '**Indigenous Heritage:**' + - Aboriginal Australians have the longest continuous culture on Earth - over 65,000 years! They have deep knowledge of the land, sophisticated art traditions, and hundreds of distinct languages. + - '' + - '**Wildlife Fact:**' + - Australia has more unique species than anywhere else! About 80% of its plants, mammals, and reptiles are found nowhere else on Earth. + question: What is the world's largest coral reef system, located off the coast of Australia? + tokens_for_ai: 'The answer is the Great Barrier Reef (mentioned above). + + + Categorize as: + + - correct: Says Great Barrier Reef or just Barrier Reef + + - close: Mentions coral reef but not the specific name + + - confused: Names another natural wonder in Australia + + - limited_effort: Very brief or no answer + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If correct, share facts about it being visible from space and home to thousands of species! + + ' + buckets: + - correct + - close + - confused + - limited_effort + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Correct! The Great Barrier Reef is the world's largest coral reef system and can even be seen from space! Share conservation importance. + metadata_add: + quiz_score: n+1 + countries_visited: n+1 + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + close: + ai_feedback: + tokens_for_ai: You're thinking of the right feature! It's called the Great Barrier Reef. Share impressive facts about it. + metadata_add: + countries_visited: n+1 + cultural_facts_learned: n+1 + next_section_and_step: choose_continent:step_1 + confused: + content_blocks: + - That's an Australian feature, but we're looking for the coral reef! It's the Great Barrier Reef. + metadata_add: + countries_visited: n+1 + next_section_and_step: choose_continent:step_1 + limited_effort: + content_blocks: + - Look at the information about Australia. What coral reef system is mentioned? + next_section_and_step: oceania:step_1 + off_topic: + content_blocks: + - Let's learn about Australia. What is the famous coral reef system off its coast? + next_section_and_step: oceania:step_1 +- section_id: choose_continent + title: Continue Your Journey + steps: + - step_id: step_1 + title: Choose Next Continent + content_blocks: + - '## Your World Journey Continues! ✈️' + - Great exploring! You're building global knowledge. + - '' + - '**What would you like to do next?**' + - '- Explore another continent (type: Africa, Asia, Europe, South America, or Oceania)' + - '- Finish your journey and see what you''ve learned (type: finish)' + question: Continue exploring or finish your journey? + tokens_for_ai: 'Student chooses to continue or finish. + + + Categorize as: + + - africa: Wants to explore Africa + + - asia: Wants to explore Asia + + - europe: Wants to explore Europe + + - south_america: Wants to explore South America + + - oceania: Wants to explore Oceania + + - finish: Ready to finish + + - off_topic: Unrelated + + ' + buckets: + - africa + - asia + - europe + - south_america + - oceania + - finish + - off_topic + transitions: + africa: + content_blocks: + - 🌍 Heading to Africa! + metadata_add: + continents_visited: n+1 + next_section_and_step: africa:step_1 + asia: + content_blocks: + - 🌏 Off to Asia! + metadata_add: + continents_visited: n+1 + next_section_and_step: asia:step_1 + europe: + content_blocks: + - 🌍 Traveling to Europe! + metadata_add: + continents_visited: n+1 + next_section_and_step: europe:step_1 + south_america: + content_blocks: + - 🌎 Journey to South America! + metadata_add: + continents_visited: n+1 + next_section_and_step: south_america:step_1 + oceania: + content_blocks: + - 🌏 Exploring Oceania! + metadata_add: + continents_visited: n+1 + next_section_and_step: oceania:step_1 + finish: + content_blocks: + - 🌍 Wonderful! Let's reflect on your global journey. + next_section_and_step: conclusion:step_1 + off_topic: + content_blocks: + - Choose a continent to explore (Africa, Asia, Europe, South America, Oceania) or type 'finish' to complete your journey. + counts_as_attempt: false + next_section_and_step: choose_continent:step_1 +- section_id: conclusion + title: Journey Complete! + steps: + - step_id: step_1 + title: Congratulations! + content_blocks: + - '## Congratulations, World Explorer! 🌍🌎🌏' + - You've completed your global geography journey! + - '' + - '**Why geography and cultural awareness matter:**' + - '- Helps us understand global events and connections' + - '- Builds respect and appreciation for diversity' + - '- Reveals how geography shapes culture, history, and daily life' + - '- Prepares us to be global citizens in an interconnected world' + - '' + - '**Remember:**' + - Every region has unique beauty, wisdom, and contributions to humanity. + - Learning about the world helps us see both our differences and our common humanity. + question: What was the most interesting cultural fact or place you learned about? What would you like to explore more deeply? + tokens_for_ai: 'This is a reflection question. Accept any thoughtful response about their learning. + + + Categorize as: + + - thoughtful_reflection: Specific insights about what they learned + + - brief_reflection: Short but genuine + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Provide personalized feedback based on their journey. Acknowledge the places they visited + + (from metadata) and encourage continued exploration of world cultures. + + ' + buckets: + - thoughtful_reflection + - brief_reflection + - limited_effort + - off_topic + transitions: + thoughtful_reflection: + ai_feedback: + tokens_for_ai: Provide thoughtful, personalized feedback about their learning journey. Suggest resources for further exploration of the topics that interested them most. + metadata_add: + activity_completed: 'true' + brief_reflection: + ai_feedback: + tokens_for_ai: Acknowledge their learning and encourage them to continue exploring world geography and cultures. + metadata_add: + activity_completed: 'true' + limited_effort: + ai_feedback: + tokens_for_ai: Thank them for their participation and summarize key geography and cultural facts they encountered. + metadata_add: + activity_completed: 'true' + off_topic: + content_blocks: + - Let's reflect on your journey. What did you find most interesting about the places you visited? + next_section_and_step: conclusion:step_1 diff --git a/research/activity33-environmental-science.yaml b/research/activity33-environmental-science.yaml index 4341f81..78618dd 100644 --- a/research/activity33-environmental-science.yaml +++ b/research/activity33-environmental-science.yaml @@ -1,643 +1,726 @@ default_max_attempts_per_step: 3 +tokens_for_ai_rubric: 'Evaluate the student''s understanding of environmental science and sustainability. -tokens_for_ai_rubric: | - Evaluate the student's understanding of environmental science and sustainability. Consider: + - Their grasp of ecosystem connections and interdependencies + - Understanding of environmental impacts + - Ability to think about tradeoffs and systems thinking + - Engagement with sustainability concepts + - Quality of their decision-making and reasoning + Provide encouraging feedback and suggestions for how they can apply sustainable thinking in their own lives. + ' sections: - - section_id: "introduction" - title: "Welcome to Environmental Consulting" - steps: - - step_id: "welcome" - title: "Welcome Environmental Consultant" +- section_id: introduction + title: Welcome to Environmental Consulting + steps: + - step_id: welcome + title: Welcome Environmental Consultant + content_blocks: + - '# Environmental Science & Sustainability 🌱' + - Welcome, Environmental Consultant! + - '' + - You've been hired to help redesign River City to be more sustainable and environmentally friendly. + - '' + - '**Your mission:**' + - Make decisions that balance environmental protection, economic needs, and quality of life. + - '' + - '**You''ll learn about:**' + - '- Ecosystem interdependencies' + - '- Carbon footprint and climate impact' + - '- Renewable vs non-renewable energy' + - '- Sustainable urban planning' + - '- Biodiversity and habitat protection' + - '- Systems thinking and tradeoffs' + - '' + - '**How it works:**' + - You'll face real-world environmental challenges. Each decision affects the city's Environmental Health Score. + - '' + - Think carefully about both immediate and long-term consequences! + question: Are you ready to create a more sustainable River City? + tokens_for_ai: 'Student is expressing readiness. + + + Categorize as: + + - ready: Positive, ready to begin + + - set_language: Setting language preference + + - off_topic: Unrelated + + ' + buckets: + - ready + - set_language + - off_topic + transitions: + ready: content_blocks: - - "# Environmental Science & Sustainability 🌱" - - "Welcome, Environmental Consultant!" - - "" - - "You've been hired to help redesign River City to be more sustainable and environmentally friendly." - - "" - - "**Your mission:**" - - "Make decisions that balance environmental protection, economic needs, and quality of life." - - "" - - "**You'll learn about:**" - - "- Ecosystem interdependencies" - - "- Carbon footprint and climate impact" - - "- Renewable vs non-renewable energy" - - "- Sustainable urban planning" - - "- Biodiversity and habitat protection" - - "- Systems thinking and tradeoffs" - - "" - - "**How it works:**" - - "You'll face real-world environmental challenges. Each decision affects the city's Environmental Health Score." - - "" - - "Think carefully about both immediate and long-term consequences!" - question: "Are you ready to create a more sustainable River City?" - tokens_for_ai: | - Student is expressing readiness. - - Categorize as: - - ready: Positive, ready to begin - - set_language: Setting language preference - - off_topic: Unrelated - buckets: - - ready - - set_language - - off_topic - transitions: - ready: - content_blocks: - - "Excellent! Let's start with your first environmental challenge." - metadata_add: - environmental_score: "50" - decisions_made: "0" - next_section_and_step: "section_1:step_1" - set_language: - content_blocks: - - "I'll communicate in your preferred language." - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - off_topic: - content_blocks: - - "Let's get started helping River City become more sustainable! Are you ready?" - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - - - section_id: "section_1" - title: "Transportation Challenge" - steps: - - step_id: "step_1" - title: "Transportation Infrastructure" + - Excellent! Let's start with your first environmental challenge. + metadata_add: + environmental_score: '50' + decisions_made: '0' + next_section_and_step: section_1:step_1 + set_language: content_blocks: - - "## Challenge 1: Transportation Infrastructure 🚗🚌" - - "**The Situation:**" - - "River City has severe traffic congestion. Most residents drive personal cars, creating:" - - "- High carbon emissions" - - "- Air pollution affecting public health" - - "- Traffic jams wasting time and fuel" - - "" - - "The city council has budget for ONE major transportation initiative." - - "" - - "**Your options:**" - - "**A) Build more highways** - Reduce traffic jams, support car culture" - - "**B) Expand public transit** - Buses and light rail, less convenient than cars but lower emissions per person" - - "**C) Create bike lanes and pedestrian zones** - Healthiest and greenest option, but only works for shorter distances" - - "**D) Mixed approach** - Smaller improvements to all three, but none will be as effective" - question: "Which transportation approach do you recommend? Explain your reasoning considering environmental impact, practicality, and long-term effects." - tokens_for_ai: | - Evaluate their choice and reasoning. - - Sustainable choices in order: C (best), B (good), D (mixed), A (worst for environment) - - Categorize as: - - sustainable_choice: Chooses B or C with environmental reasoning - - mixed_thinking: Chooses D with awareness of tradeoffs - - unsustainable: Chooses A (highways) - - thoughtful_tradeoff: Any choice with sophisticated understanding of tradeoffs - - limited_effort: Very brief or no reasoning - - asking_clarifying_questions: Needs more information - - off_topic: Unrelated - feedback_tokens_for_ai: | - Provide feedback on their environmental reasoning. If they chose highways, explain the - concept of "induced demand" - more highways lead to more driving. If they chose sustainable - options, praise their thinking and explain the benefits. Acknowledge legitimate concerns - about practicality and economic impacts. - buckets: - - sustainable_choice - - mixed_thinking - - unsustainable - - thoughtful_tradeoff - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - sustainable_choice: - ai_feedback: - tokens_for_ai: "Excellent environmental thinking! Explain the positive impacts of their choice on emissions, health, and urban livability." - metadata_add: - environmental_score: "n+10" - carbon_reduced: "high" - decisions_made: "n+1" - next_section_and_step: "section_2:step_1" - mixed_thinking: - ai_feedback: - tokens_for_ai: "A balanced approach can work! Discuss the tradeoffs and how to maximize environmental benefit within the mixed approach." - metadata_add: - environmental_score: "n+5" - carbon_reduced: "medium" - decisions_made: "n+1" - next_section_and_step: "section_2:step_1" - unsustainable: - ai_feedback: - tokens_for_ai: "Explain 'induced demand' - more highways lead to more driving and sprawl. Suggest how public transit or bike infrastructure could address congestion more sustainably." - metadata_add: - environmental_score: "n-5" - carbon_reduced: "none" - decisions_made: "n+1" - next_section_and_step: "section_2:step_1" - thoughtful_tradeoff: - ai_feedback: - tokens_for_ai: "You're thinking systemically about the tradeoffs! Validate their sophisticated reasoning and provide additional context." - metadata_add: - environmental_score: "n+7" - carbon_reduced: "medium" - decisions_made: "n+1" - next_section_and_step: "section_2:step_1" - limited_effort: - content_blocks: - - "Please think more deeply about the environmental and practical implications of each option. What are the long-term effects?" - next_section_and_step: "section_1:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question helpfully, providing information about emissions, costs, or practicality as requested." - counts_as_attempt: false - next_section_and_step: "section_1:step_1" - off_topic: - content_blocks: - - "Let's focus on the transportation challenge. Which option do you recommend and why?" - next_section_and_step: "section_1:step_1" - - - section_id: "section_2" - title: "Energy Challenge" - steps: - - step_id: "step_1" - title: "Energy Infrastructure" + - I'll communicate in your preferred language. + counts_as_attempt: false + next_section_and_step: introduction:welcome + off_topic: content_blocks: - - "## Challenge 2: Energy Infrastructure ⚡🌞" - - "**The Situation:**" - - "River City's power currently comes from:" - - "- 70% coal (cheap but high carbon emissions and air pollution)" - - "- 20% natural gas (cleaner than coal but still fossil fuel)" - - "- 10% renewable (solar and wind)" - - "" - - "The city wants to transition to cleaner energy. Budget allows for ONE major initiative." - - "" - - "**Your options:**" - - "**A) Build large solar farm** - Clean energy, works great in sunny weather, needs battery storage for nighttime" - - "**B) Invest in wind turbines** - Clean energy, works day and night if windy, some people find them unsightly" - - "**C) Upgrade to natural gas** - Cleaner than coal, much lower cost than renewables, but still emits CO2" - - "**D) Energy efficiency program** - Help residents insulate homes, use LED lights, efficient appliances - reduces total energy needed" - question: "Which energy strategy do you recommend? Consider climate impact, reliability, and cost." - tokens_for_ai: | - Evaluate their choice and reasoning. + - Let's get started helping River City become more sustainable! Are you ready? + counts_as_attempt: false + next_section_and_step: introduction:welcome +- section_id: section_1 + title: Transportation Challenge + steps: + - step_id: step_1 + title: Transportation Infrastructure + content_blocks: + - '## Challenge 1: Transportation Infrastructure 🚗🚌' + - '**The Situation:**' + - 'River City has severe traffic congestion. Most residents drive personal cars, creating:' + - '- High carbon emissions' + - '- Air pollution affecting public health' + - '- Traffic jams wasting time and fuel' + - '' + - The city council has budget for ONE major transportation initiative. + - '' + - '**Your options:**' + - '**A) Build more highways** - Reduce traffic jams, support car culture' + - '**B) Expand public transit** - Buses and light rail, less convenient than cars but lower emissions per person' + - '**C) Create bike lanes and pedestrian zones** - Healthiest and greenest option, but only works for shorter distances' + - '**D) Mixed approach** - Smaller improvements to all three, but none will be as effective' + question: Which transportation approach do you recommend? Explain your reasoning considering environmental impact, practicality, and long-term effects. + tokens_for_ai: 'Evaluate their choice and reasoning. - Sustainability ranking: A or B (excellent), D (good), C (poor - still fossil fuel) - Categorize as: - - renewable_choice: Chooses A or B with climate reasoning - - efficiency_focus: Chooses D understanding that reducing demand is also sustainable - - transitional_thinking: Chooses C as a "bridge" fuel - - systems_thinking: Shows understanding of energy grid complexity - - limited_effort: Very brief - - asking_clarifying_questions: Needs more info - - off_topic: Unrelated - feedback_tokens_for_ai: | - Discuss their reasoning. If they chose renewables, explain benefits and acknowledge - intermittency challenges. If they chose efficiency, praise reducing demand. If natural - gas, acknowledge it's cleaner than coal but emphasize it's still fossil fuel and won't - meet long-term climate goals. - buckets: - - renewable_choice - - efficiency_focus - - transitional_thinking - - systems_thinking - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - renewable_choice: - ai_feedback: - tokens_for_ai: "Excellent climate-conscious choice! Explain the long-term benefits of renewable energy for climate and air quality." - metadata_add: - environmental_score: "n+10" - carbon_reduced: "high" - renewable_energy: "true" - decisions_made: "n+1" - next_section_and_step: "section_3:step_1" - efficiency_focus: - ai_feedback: - tokens_for_ai: "Smart thinking! Reducing energy demand is one of the most cost-effective climate solutions. Explain how efficiency complements renewable energy." - metadata_add: - environmental_score: "n+8" - carbon_reduced: "medium-high" - decisions_made: "n+1" - next_section_and_step: "section_3:step_1" - transitional_thinking: - ai_feedback: - tokens_for_ai: "Natural gas is cleaner than coal, but it's still a fossil fuel. Discuss the difference between a transitional step and a long-term solution for climate goals." - metadata_add: - environmental_score: "n+3" - carbon_reduced: "low" - decisions_made: "n+1" - next_section_and_step: "section_3:step_1" - systems_thinking: - ai_feedback: - tokens_for_ai: "Excellent systems thinking! Validate their sophisticated understanding and provide additional context on grid management." - metadata_add: - environmental_score: "n+9" - carbon_reduced: "high" - decisions_made: "n+1" - next_section_and_step: "section_3:step_1" - limited_effort: - content_blocks: - - "Please provide more reasoning about environmental impact and long-term sustainability. What are the climate implications?" - next_section_and_step: "section_2:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about renewable energy, costs, or technical details." - counts_as_attempt: false - next_section_and_step: "section_2:step_1" - off_topic: - content_blocks: - - "Let's focus on the energy challenge. Which energy strategy would you recommend?" - next_section_and_step: "section_2:step_1" + Sustainable choices in order: C (best), B (good), D (mixed), A (worst for environment) - - section_id: "section_3" - title: "Land Use Challenge" - steps: - - step_id: "step_1" - title: "Green Space vs Development" + + Categorize as: + + - sustainable_choice: Chooses B or C with environmental reasoning + + - mixed_thinking: Chooses D with awareness of tradeoffs + + - unsustainable: Chooses A (highways) + + - thoughtful_tradeoff: Any choice with sophisticated understanding of tradeoffs + + - limited_effort: Very brief or no reasoning + + - asking_clarifying_questions: Needs more information + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Provide feedback on their environmental reasoning. If they chose highways, explain the + + concept of "induced demand" - more highways lead to more driving. If they chose sustainable + + options, praise their thinking and explain the benefits. Acknowledge legitimate concerns + + about practicality and economic impacts. + + ' + buckets: + - sustainable_choice + - mixed_thinking + - unsustainable + - thoughtful_tradeoff + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + sustainable_choice: + ai_feedback: + tokens_for_ai: Excellent environmental thinking! Explain the positive impacts of their choice on emissions, health, and urban livability. + metadata_add: + environmental_score: n+10 + carbon_reduced: high + decisions_made: n+1 + next_section_and_step: section_2:step_1 + mixed_thinking: + ai_feedback: + tokens_for_ai: A balanced approach can work! Discuss the tradeoffs and how to maximize environmental benefit within the mixed approach. + metadata_add: + environmental_score: n+5 + carbon_reduced: medium + decisions_made: n+1 + next_section_and_step: section_2:step_1 + unsustainable: + ai_feedback: + tokens_for_ai: Explain 'induced demand' - more highways lead to more driving and sprawl. Suggest how public transit or bike infrastructure could address congestion more sustainably. + metadata_add: + environmental_score: n-5 + carbon_reduced: none + decisions_made: n+1 + next_section_and_step: section_2:step_1 + thoughtful_tradeoff: + ai_feedback: + tokens_for_ai: You're thinking systemically about the tradeoffs! Validate their sophisticated reasoning and provide additional context. + metadata_add: + environmental_score: n+7 + carbon_reduced: medium + decisions_made: n+1 + next_section_and_step: section_2:step_1 + limited_effort: content_blocks: - - "## Challenge 3: Green Space vs Development 🌳🏢" - - "**The Situation:**" - - "River City has a 50-acre plot of undeveloped land with mature forest and a wetland." - - "" - - "**Why the forest and wetland matter:**" - - "- Trees absorb CO2 (carbon sink)" - - "- Wetlands filter water and prevent flooding" - - "- Habitat for dozens of bird species, amphibians, and small mammals" - - "- Cool air and reduce urban heat island effect" - - "" - - "The city faces pressure to develop this land." - - "" - - "**Your options:**" - - "**A) Preserve as nature reserve** - Maximum environmental benefit, provides green space for residents, but no economic development" - - "**B) Build affordable housing** - Addresses housing shortage, but removes habitat and green benefits" - - "**C) Mixed-use development** - Preserve 30 acres as park, develop 20 acres with green building standards" - - "**D) Commercial development** - Shopping center, brings jobs and tax revenue, full removal of natural area" - question: "What do you recommend for this land? Consider biodiversity, climate impact, and community needs." - tokens_for_ai: | - Evaluate their reasoning about balancing conservation and development. - - Sustainability ranking: A (best for environment), C (good compromise), B (mixed), D (worst) - - Categorize as: - - conservation_priority: Chooses A with ecological reasoning - - balanced_approach: Chooses C recognizing need to balance multiple goals - - housing_priority: Chooses B emphasizing social needs - - development_focus: Chooses D - - sophisticated_tradeoff: Any choice with nuanced understanding of competing values - - limited_effort: Very brief - - asking_clarifying_questions: Needs more info - - off_topic: Unrelated - feedback_tokens_for_ai: | - Discuss ecosystem services the forest provides. If they chose preservation, explain the - value of biodiversity and carbon sequestration. If mixed-use, validate the tradeoff thinking. - If development, discuss the irreversibility of habitat loss and the concept of ecosystem services. - buckets: - - conservation_priority - - balanced_approach - - housing_priority - - development_focus - - sophisticated_tradeoff - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - conservation_priority: - ai_feedback: - tokens_for_ai: "Strong environmental reasoning! Explain the long-term value of ecosystem services and urban green space." - metadata_add: - environmental_score: "n+10" - biodiversity_protected: "high" - decisions_made: "n+1" - next_section_and_step: "section_4:step_1" - balanced_approach: - ai_feedback: - tokens_for_ai: "Good systems thinking! You're balancing environmental protection with community needs. Discuss how to maximize environmental benefit in the developed portion." - metadata_add: - environmental_score: "n+7" - biodiversity_protected: "medium" - decisions_made: "n+1" - next_section_and_step: "section_4:step_1" - housing_priority: - ai_feedback: - tokens_for_ai: "Housing is indeed important! Explore whether there are alternative sites for housing that wouldn't destroy irreplaceable habitat. Discuss the value of ecosystem services." - metadata_add: - environmental_score: "n+2" - biodiversity_protected: "low" - decisions_made: "n+1" - next_section_and_step: "section_4:step_1" - development_focus: - ai_feedback: - tokens_for_ai: "Commercial development provides economic benefits, but at the cost of irreplaceable ecosystem services. Discuss what's lost: carbon storage, water filtration, biodiversity, flood control." - metadata_add: - environmental_score: "n-3" - biodiversity_protected: "none" - decisions_made: "n+1" - next_section_and_step: "section_4:step_1" - sophisticated_tradeoff: - ai_feedback: - tokens_for_ai: "Excellent analysis of competing values! Validate their nuanced thinking about ecology, economics, and social needs." - metadata_add: - environmental_score: "n+8" - biodiversity_protected: "medium-high" - decisions_made: "n+1" - next_section_and_step: "section_4:step_1" - limited_effort: - content_blocks: - - "Think about what would be permanently lost if the natural area is developed. What ecosystem services does it provide?" - next_section_and_step: "section_3:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about ecosystem services, biodiversity, or development alternatives." - counts_as_attempt: false - next_section_and_step: "section_3:step_1" - off_topic: - content_blocks: - - "Let's focus on the land use decision. What would you recommend for the 50-acre natural area?" - next_section_and_step: "section_3:step_1" - - - section_id: "section_4" - title: "Waste & Circular Economy" - steps: - - step_id: "step_1" - title: "Waste Management" + - Please think more deeply about the environmental and practical implications of each option. What are the long-term effects? + next_section_and_step: section_1:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question helpfully, providing information about emissions, costs, or practicality as requested. + counts_as_attempt: false + next_section_and_step: section_1:step_1 + off_topic: content_blocks: - - "## Challenge 4: Waste Management ♻️" - - "**The Situation:**" - - "River City sends 80% of waste to landfills, where it:" - - "- Takes up space (landfills filling up)" - - "- Produces methane (a potent greenhouse gas)" - - "- Wastes valuable materials" - - "" - - "Only 20% is currently recycled." - - "" - - "**Understanding the circular economy:**" - - "Instead of 'take, make, dispose,' we can 'reduce, reuse, recycle' - keeping materials in use." - - "" - - "**Your options:**" - - "**A) Mandatory recycling & composting** - Requires sorting, provides trucks, reduces landfill waste by ~50%" - - "**B) Ban single-use plastics** - Eliminates major source of waste and ocean pollution" - - "**C) Waste-to-energy incinerator** - Reduces landfill volume and generates electricity, but produces air emissions" - - "**D) Producer responsibility laws** - Require manufacturers to take back and recycle their products" - question: "Which waste strategy would you implement? Consider environmental impact and systemic change." - tokens_for_ai: | - Evaluate their understanding of circular economy and waste hierarchy. + - Let's focus on the transportation challenge. Which option do you recommend and why? + next_section_and_step: section_1:step_1 +- section_id: section_2 + title: Energy Challenge + steps: + - step_id: step_1 + title: Energy Infrastructure + content_blocks: + - '## Challenge 2: Energy Infrastructure ⚡🌞' + - '**The Situation:**' + - 'River City''s power currently comes from:' + - '- 70% coal (cheap but high carbon emissions and air pollution)' + - '- 20% natural gas (cleaner than coal but still fossil fuel)' + - '- 10% renewable (solar and wind)' + - '' + - The city wants to transition to cleaner energy. Budget allows for ONE major initiative. + - '' + - '**Your options:**' + - '**A) Build large solar farm** - Clean energy, works great in sunny weather, needs battery storage for nighttime' + - '**B) Invest in wind turbines** - Clean energy, works day and night if windy, some people find them unsightly' + - '**C) Upgrade to natural gas** - Cleaner than coal, much lower cost than renewables, but still emits CO2' + - '**D) Energy efficiency program** - Help residents insulate homes, use LED lights, efficient appliances - reduces total energy needed' + question: Which energy strategy do you recommend? Consider climate impact, reliability, and cost. + tokens_for_ai: 'Evaluate their choice and reasoning. - Sustainability ranking: A (good), B (good), D (excellent - addresses root cause), C (mixed - better than landfill but not ideal) - Categorize as: - - circular_economy: Chooses A or D with understanding of reuse/recycling - - pollution_prevention: Chooses B to eliminate plastic waste - - technical_solution: Chooses C (incineration) - - systems_thinking: Shows understanding of upstream vs downstream solutions - - limited_effort: Very brief - - asking_clarifying_questions: Needs more info - - off_topic: Unrelated - feedback_tokens_for_ai: | - Discuss the waste hierarchy: reduce > reuse > recycle > recover energy > landfill. - If they chose producer responsibility, praise thinking about root causes. If recycling, - good but also mention reducing consumption. If incineration, discuss why it's better - than landfill but not as good as preventing waste. - buckets: - - circular_economy - - pollution_prevention - - technical_solution - - systems_thinking - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - circular_economy: - ai_feedback: - tokens_for_ai: "Excellent! You understand circular economy principles. Explain how keeping materials in use reduces resource extraction and emissions." - metadata_add: - environmental_score: "n+8" - waste_reduction: "high" - decisions_made: "n+1" - next_section_and_step: "section_5:step_1" - pollution_prevention: - ai_feedback: - tokens_for_ai: "Great prevention thinking! Eliminating single-use plastics prevents pollution at the source. Discuss how this addresses ocean plastic crisis." - metadata_add: - environmental_score: "n+9" - waste_reduction: "high" - plastic_reduction: "true" - decisions_made: "n+1" - next_section_and_step: "section_5:step_1" - technical_solution: - ai_feedback: - tokens_for_ai: "Incineration is better than landfilling, but it's still treating symptoms rather than causes. Discuss the waste hierarchy and how prevention is better than end-of-pipe solutions." - metadata_add: - environmental_score: "n+4" - waste_reduction: "medium" - decisions_made: "n+1" - next_section_and_step: "section_5:step_1" - systems_thinking: - ai_feedback: - tokens_for_ai: "Excellent systems thinking! You're looking at root causes rather than just managing waste. Validate their sophisticated approach." - metadata_add: - environmental_score: "n+10" - waste_reduction: "high" - decisions_made: "n+1" - next_section_and_step: "section_5:step_1" - limited_effort: - content_blocks: - - "Think about the waste hierarchy: Is it better to prevent waste or manage it after it's created?" - next_section_and_step: "section_4:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about waste management, recycling, or circular economy concepts." - counts_as_attempt: false - next_section_and_step: "section_4:step_1" - off_topic: - content_blocks: - - "Let's focus on waste management. Which strategy would you recommend?" - next_section_and_step: "section_4:step_1" + Sustainability ranking: A or B (excellent), D (good), C (poor - still fossil fuel) - - section_id: "section_5" - title: "Food & Agriculture" - steps: - - step_id: "step_1" - title: "Sustainable Food Systems" + + Categorize as: + + - renewable_choice: Chooses A or B with climate reasoning + + - efficiency_focus: Chooses D understanding that reducing demand is also sustainable + + - transitional_thinking: Chooses C as a "bridge" fuel + + - systems_thinking: Shows understanding of energy grid complexity + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs more info + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Discuss their reasoning. If they chose renewables, explain benefits and acknowledge + + intermittency challenges. If they chose efficiency, praise reducing demand. If natural + + gas, acknowledge it''s cleaner than coal but emphasize it''s still fossil fuel and won''t + + meet long-term climate goals. + + ' + buckets: + - renewable_choice + - efficiency_focus + - transitional_thinking + - systems_thinking + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + renewable_choice: + ai_feedback: + tokens_for_ai: Excellent climate-conscious choice! Explain the long-term benefits of renewable energy for climate and air quality. + metadata_add: + environmental_score: n+10 + carbon_reduced: high + renewable_energy: 'true' + decisions_made: n+1 + next_section_and_step: section_3:step_1 + efficiency_focus: + ai_feedback: + tokens_for_ai: Smart thinking! Reducing energy demand is one of the most cost-effective climate solutions. Explain how efficiency complements renewable energy. + metadata_add: + environmental_score: n+8 + carbon_reduced: medium-high + decisions_made: n+1 + next_section_and_step: section_3:step_1 + transitional_thinking: + ai_feedback: + tokens_for_ai: Natural gas is cleaner than coal, but it's still a fossil fuel. Discuss the difference between a transitional step and a long-term solution for climate goals. + metadata_add: + environmental_score: n+3 + carbon_reduced: low + decisions_made: n+1 + next_section_and_step: section_3:step_1 + systems_thinking: + ai_feedback: + tokens_for_ai: Excellent systems thinking! Validate their sophisticated understanding and provide additional context on grid management. + metadata_add: + environmental_score: n+9 + carbon_reduced: high + decisions_made: n+1 + next_section_and_step: section_3:step_1 + limited_effort: content_blocks: - - "## Challenge 5: Sustainable Food Systems 🌾" - - "**The Situation:**" - - "River City imports 90% of its food from distant farms, which:" - - "- Requires energy for transportation (high carbon footprint)" - - "- Makes city vulnerable to supply disruptions" - - "- Disconnects residents from food sources" - - "" - - "**Environmental context:**" - - "Food systems account for ~25% of global greenhouse gas emissions" - - "Agriculture uses 70% of freshwater globally" - - "Industrial farming often depletes soil and harms biodiversity" - - "" - - "**Your options:**" - - "**A) Support local organic farms** - Lower transportation emissions, no pesticides, higher cost to consumers" - - "**B) Urban farming program** - Rooftop gardens, community gardens, very local but limited scale" - - "**C) Promote plant-based diets** - Meat production has 10-50x more emissions than plants, but culturally challenging" - - "**D) Reduce food waste** - 30-40% of food is wasted; composting and redistribution can help" - question: "Which food sustainability strategy would you prioritize? Consider climate impact, feasibility, and food security." - tokens_for_ai: | - Evaluate their understanding of food system environmental impacts. - - All options have merit! C (plant-based) has highest climate impact potential, D (waste reduction) - is high-impact and feasible, A and B support local food systems. - - Categorize as: - - climate_focused: Chooses C (plant-based) with emissions reasoning - - waste_reduction: Chooses D understanding the scale of food waste - - local_food: Chooses A or B for local benefits - - holistic_thinking: Shows understanding of multiple interconnected issues - - limited_effort: Very brief - - asking_clarifying_questions: Needs more info - - off_topic: Unrelated - feedback_tokens_for_ai: | - All choices have environmental merit! Validate their reasoning and provide context about - the environmental impacts they're addressing. Discuss connections between food, climate, - biodiversity, and resource use. - buckets: - - climate_focused - - waste_reduction - - local_food - - holistic_thinking - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - climate_focused: - ai_feedback: - tokens_for_ai: "You've identified one of the highest-impact climate solutions! Explain why animal agriculture has such large emissions, while acknowledging cultural and practical challenges." - metadata_add: - environmental_score: "n+10" - carbon_reduced: "very-high" - decisions_made: "n+1" - next_section_and_step: "conclusion:step_1" - waste_reduction: - ai_feedback: - tokens_for_ai: "Excellent choice! Food waste is a massive but often overlooked problem. Explain the triple benefit: less production needed, less methane from landfills, food reaches hungry people." - metadata_add: - environmental_score: "n+9" - waste_reduction: "high" - decisions_made: "n+1" - next_section_and_step: "conclusion:step_1" - local_food: - ai_feedback: - tokens_for_ai: "Good thinking about local food systems! Explain benefits for local economy, food security, and reducing transportation emissions. Note that production methods matter more than distance for some foods." - metadata_add: - environmental_score: "n+7" - local_food: "true" - decisions_made: "n+1" - next_section_and_step: "conclusion:step_1" - holistic_thinking: - ai_feedback: - tokens_for_ai: "Excellent holistic understanding of food system sustainability! Validate their sophisticated systems thinking about multiple interconnected issues." - metadata_add: - environmental_score: "n+10" - decisions_made: "n+1" - next_section_and_step: "conclusion:step_1" - limited_effort: - content_blocks: - - "Think about the full lifecycle of food: production, transportation, consumption, and waste. Where are the biggest environmental impacts?" - next_section_and_step: "section_5:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about food system environmental impacts, emissions, or sustainability strategies." - counts_as_attempt: false - next_section_and_step: "section_5:step_1" - off_topic: - content_blocks: - - "Let's focus on food sustainability. Which strategy would you recommend?" - next_section_and_step: "section_5:step_1" - - - section_id: "conclusion" - title: "Sustainability Report" - steps: - - step_id: "step_1" - title: "Congratulations!" + - Please provide more reasoning about environmental impact and long-term sustainability. What are the climate implications? + next_section_and_step: section_2:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about renewable energy, costs, or technical details. + counts_as_attempt: false + next_section_and_step: section_2:step_1 + off_topic: content_blocks: - - "## Congratulations, Environmental Consultant! 🌍" - - "You've completed your sustainability consulting project for River City!" - - "" - - "**Key environmental concepts you explored:**" - - "✓ Carbon footprint and climate impact" - - "✓ Renewable vs fossil fuel energy" - - "✓ Ecosystem services and biodiversity" - - "✓ Circular economy and waste hierarchy" - - "✓ Sustainable food systems" - - "✓ Systems thinking and tradeoffs" - - "" - - "**Why sustainability matters:**" - - "Human wellbeing depends on healthy ecosystems - they provide:" - - "- Clean air and water" - - "- Climate regulation" - - "- Food and materials" - - "- Recreation and beauty" - - "" - - "**The challenge:**" - - "We must meet human needs while protecting the Earth's systems that support all life." - - "" - - "**What you learned:**" - - "- Environmental problems are interconnected (systems thinking)" - - "- Choices have both immediate and long-term consequences" - - "- Prevention is better than treating symptoms" - - "- We can balance environmental protection with human needs through thoughtful design" - question: "Reflecting on your decisions, what's one action you could take in your own life to reduce your environmental impact? What sustainability principle resonated most with you?" - tokens_for_ai: | - This is a reflection question. Accept any thoughtful response about personal application - of sustainability principles. + - Let's focus on the energy challenge. Which energy strategy would you recommend? + next_section_and_step: section_2:step_1 +- section_id: section_3 + title: Land Use Challenge + steps: + - step_id: step_1 + title: Green Space vs Development + content_blocks: + - '## Challenge 3: Green Space vs Development 🌳🏢' + - '**The Situation:**' + - River City has a 50-acre plot of undeveloped land with mature forest and a wetland. + - '' + - '**Why the forest and wetland matter:**' + - '- Trees absorb CO2 (carbon sink)' + - '- Wetlands filter water and prevent flooding' + - '- Habitat for dozens of bird species, amphibians, and small mammals' + - '- Cool air and reduce urban heat island effect' + - '' + - The city faces pressure to develop this land. + - '' + - '**Your options:**' + - '**A) Preserve as nature reserve** - Maximum environmental benefit, provides green space for residents, but no economic development' + - '**B) Build affordable housing** - Addresses housing shortage, but removes habitat and green benefits' + - '**C) Mixed-use development** - Preserve 30 acres as park, develop 20 acres with green building standards' + - '**D) Commercial development** - Shopping center, brings jobs and tax revenue, full removal of natural area' + question: What do you recommend for this land? Consider biodiversity, climate impact, and community needs. + tokens_for_ai: 'Evaluate their reasoning about balancing conservation and development. - Categorize as: - - specific_commitment: Identifies concrete action they plan to take - - thoughtful_reflection: Meaningful reflection on what they learned - - basic_reflection: Brief but genuine - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - Provide personalized, encouraging feedback. Acknowledge the environmental decisions they - made throughout the activity. Emphasize that individual actions matter AND we need systemic - change. Encourage them to think about sustainability in their daily choices and to advocate - for environmental protection in their communities. - buckets: - - specific_commitment - - thoughtful_reflection - - basic_reflection - - limited_effort - - off_topic - transitions: - specific_commitment: - ai_feedback: - tokens_for_ai: "Wonderful! Your specific commitment shows you're ready to apply what you learned. Encourage and support their action plan. Remind them that individual actions AND systemic advocacy both matter." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - thoughtful_reflection: - ai_feedback: - tokens_for_ai: "Excellent reflection on sustainability principles! Provide encouragement and suggest ways to apply these concepts in daily life." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - basic_reflection: - ai_feedback: - tokens_for_ai: "Thank them for engaging with environmental challenges. Summarize key takeaways and encourage sustainable thinking." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - limited_effort: - ai_feedback: - tokens_for_ai: "Acknowledge their completion and encourage them to consider environmental impacts in their daily decisions." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - off_topic: - content_blocks: - - "Let's reflect on sustainability. What action could you take personally to reduce environmental impact?" - next_section_and_step: "conclusion:step_1" + + Sustainability ranking: A (best for environment), C (good compromise), B (mixed), D (worst) + + + Categorize as: + + - conservation_priority: Chooses A with ecological reasoning + + - balanced_approach: Chooses C recognizing need to balance multiple goals + + - housing_priority: Chooses B emphasizing social needs + + - development_focus: Chooses D + + - sophisticated_tradeoff: Any choice with nuanced understanding of competing values + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs more info + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Discuss ecosystem services the forest provides. If they chose preservation, explain the + + value of biodiversity and carbon sequestration. If mixed-use, validate the tradeoff thinking. + + If development, discuss the irreversibility of habitat loss and the concept of ecosystem services. + + ' + buckets: + - conservation_priority + - balanced_approach + - housing_priority + - development_focus + - sophisticated_tradeoff + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + conservation_priority: + ai_feedback: + tokens_for_ai: Strong environmental reasoning! Explain the long-term value of ecosystem services and urban green space. + metadata_add: + environmental_score: n+10 + biodiversity_protected: high + decisions_made: n+1 + next_section_and_step: section_4:step_1 + balanced_approach: + ai_feedback: + tokens_for_ai: Good systems thinking! You're balancing environmental protection with community needs. Discuss how to maximize environmental benefit in the developed portion. + metadata_add: + environmental_score: n+7 + biodiversity_protected: medium + decisions_made: n+1 + next_section_and_step: section_4:step_1 + housing_priority: + ai_feedback: + tokens_for_ai: Housing is indeed important! Explore whether there are alternative sites for housing that wouldn't destroy irreplaceable habitat. Discuss the value of ecosystem services. + metadata_add: + environmental_score: n+2 + biodiversity_protected: low + decisions_made: n+1 + next_section_and_step: section_4:step_1 + development_focus: + ai_feedback: + tokens_for_ai: 'Commercial development provides economic benefits, but at the cost of irreplaceable ecosystem services. Discuss what''s lost: carbon storage, water filtration, biodiversity, flood control.' + metadata_add: + environmental_score: n-3 + biodiversity_protected: none + decisions_made: n+1 + next_section_and_step: section_4:step_1 + sophisticated_tradeoff: + ai_feedback: + tokens_for_ai: Excellent analysis of competing values! Validate their nuanced thinking about ecology, economics, and social needs. + metadata_add: + environmental_score: n+8 + biodiversity_protected: medium-high + decisions_made: n+1 + next_section_and_step: section_4:step_1 + limited_effort: + content_blocks: + - Think about what would be permanently lost if the natural area is developed. What ecosystem services does it provide? + next_section_and_step: section_3:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about ecosystem services, biodiversity, or development alternatives. + counts_as_attempt: false + next_section_and_step: section_3:step_1 + off_topic: + content_blocks: + - Let's focus on the land use decision. What would you recommend for the 50-acre natural area? + next_section_and_step: section_3:step_1 +- section_id: section_4 + title: Waste & Circular Economy + steps: + - step_id: step_1 + title: Waste Management + content_blocks: + - '## Challenge 4: Waste Management ♻️' + - '**The Situation:**' + - 'River City sends 80% of waste to landfills, where it:' + - '- Takes up space (landfills filling up)' + - '- Produces methane (a potent greenhouse gas)' + - '- Wastes valuable materials' + - '' + - Only 20% is currently recycled. + - '' + - '**Understanding the circular economy:**' + - Instead of 'take, make, dispose,' we can 'reduce, reuse, recycle' - keeping materials in use. + - '' + - '**Your options:**' + - '**A) Mandatory recycling & composting** - Requires sorting, provides trucks, reduces landfill waste by ~50%' + - '**B) Ban single-use plastics** - Eliminates major source of waste and ocean pollution' + - '**C) Waste-to-energy incinerator** - Reduces landfill volume and generates electricity, but produces air emissions' + - '**D) Producer responsibility laws** - Require manufacturers to take back and recycle their products' + question: Which waste strategy would you implement? Consider environmental impact and systemic change. + tokens_for_ai: 'Evaluate their understanding of circular economy and waste hierarchy. + + + Sustainability ranking: A (good), B (good), D (excellent - addresses root cause), C (mixed - better than landfill but not ideal) + + + Categorize as: + + - circular_economy: Chooses A or D with understanding of reuse/recycling + + - pollution_prevention: Chooses B to eliminate plastic waste + + - technical_solution: Chooses C (incineration) + + - systems_thinking: Shows understanding of upstream vs downstream solutions + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs more info + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Discuss the waste hierarchy: reduce > reuse > recycle > recover energy > landfill. + + If they chose producer responsibility, praise thinking about root causes. If recycling, + + good but also mention reducing consumption. If incineration, discuss why it''s better + + than landfill but not as good as preventing waste. + + ' + buckets: + - circular_economy + - pollution_prevention + - technical_solution + - systems_thinking + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + circular_economy: + ai_feedback: + tokens_for_ai: Excellent! You understand circular economy principles. Explain how keeping materials in use reduces resource extraction and emissions. + metadata_add: + environmental_score: n+8 + waste_reduction: high + decisions_made: n+1 + next_section_and_step: section_5:step_1 + pollution_prevention: + ai_feedback: + tokens_for_ai: Great prevention thinking! Eliminating single-use plastics prevents pollution at the source. Discuss how this addresses ocean plastic crisis. + metadata_add: + environmental_score: n+9 + waste_reduction: high + plastic_reduction: 'true' + decisions_made: n+1 + next_section_and_step: section_5:step_1 + technical_solution: + ai_feedback: + tokens_for_ai: Incineration is better than landfilling, but it's still treating symptoms rather than causes. Discuss the waste hierarchy and how prevention is better than end-of-pipe solutions. + metadata_add: + environmental_score: n+4 + waste_reduction: medium + decisions_made: n+1 + next_section_and_step: section_5:step_1 + systems_thinking: + ai_feedback: + tokens_for_ai: Excellent systems thinking! You're looking at root causes rather than just managing waste. Validate their sophisticated approach. + metadata_add: + environmental_score: n+10 + waste_reduction: high + decisions_made: n+1 + next_section_and_step: section_5:step_1 + limited_effort: + content_blocks: + - 'Think about the waste hierarchy: Is it better to prevent waste or manage it after it''s created?' + next_section_and_step: section_4:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about waste management, recycling, or circular economy concepts. + counts_as_attempt: false + next_section_and_step: section_4:step_1 + off_topic: + content_blocks: + - Let's focus on waste management. Which strategy would you recommend? + next_section_and_step: section_4:step_1 +- section_id: section_5 + title: Food & Agriculture + steps: + - step_id: step_1 + title: Sustainable Food Systems + content_blocks: + - '## Challenge 5: Sustainable Food Systems 🌾' + - '**The Situation:**' + - 'River City imports 90% of its food from distant farms, which:' + - '- Requires energy for transportation (high carbon footprint)' + - '- Makes city vulnerable to supply disruptions' + - '- Disconnects residents from food sources' + - '' + - '**Environmental context:**' + - Food systems account for ~25% of global greenhouse gas emissions + - Agriculture uses 70% of freshwater globally + - Industrial farming often depletes soil and harms biodiversity + - '' + - '**Your options:**' + - '**A) Support local organic farms** - Lower transportation emissions, no pesticides, higher cost to consumers' + - '**B) Urban farming program** - Rooftop gardens, community gardens, very local but limited scale' + - '**C) Promote plant-based diets** - Meat production has 10-50x more emissions than plants, but culturally challenging' + - '**D) Reduce food waste** - 30-40% of food is wasted; composting and redistribution can help' + question: Which food sustainability strategy would you prioritize? Consider climate impact, feasibility, and food security. + tokens_for_ai: 'Evaluate their understanding of food system environmental impacts. + + + All options have merit! C (plant-based) has highest climate impact potential, D (waste reduction) + + is high-impact and feasible, A and B support local food systems. + + + Categorize as: + + - climate_focused: Chooses C (plant-based) with emissions reasoning + + - waste_reduction: Chooses D understanding the scale of food waste + + - local_food: Chooses A or B for local benefits + + - holistic_thinking: Shows understanding of multiple interconnected issues + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs more info + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'All choices have environmental merit! Validate their reasoning and provide context about + + the environmental impacts they''re addressing. Discuss connections between food, climate, + + biodiversity, and resource use. + + ' + buckets: + - climate_focused + - waste_reduction + - local_food + - holistic_thinking + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + climate_focused: + ai_feedback: + tokens_for_ai: You've identified one of the highest-impact climate solutions! Explain why animal agriculture has such large emissions, while acknowledging cultural and practical challenges. + metadata_add: + environmental_score: n+10 + carbon_reduced: very-high + decisions_made: n+1 + next_section_and_step: conclusion:step_1 + waste_reduction: + ai_feedback: + tokens_for_ai: 'Excellent choice! Food waste is a massive but often overlooked problem. Explain the triple benefit: less production needed, less methane from landfills, food reaches hungry people.' + metadata_add: + environmental_score: n+9 + waste_reduction: high + decisions_made: n+1 + next_section_and_step: conclusion:step_1 + local_food: + ai_feedback: + tokens_for_ai: Good thinking about local food systems! Explain benefits for local economy, food security, and reducing transportation emissions. Note that production methods matter more than distance for some foods. + metadata_add: + environmental_score: n+7 + local_food: 'true' + decisions_made: n+1 + next_section_and_step: conclusion:step_1 + holistic_thinking: + ai_feedback: + tokens_for_ai: Excellent holistic understanding of food system sustainability! Validate their sophisticated systems thinking about multiple interconnected issues. + metadata_add: + environmental_score: n+10 + decisions_made: n+1 + next_section_and_step: conclusion:step_1 + limited_effort: + content_blocks: + - 'Think about the full lifecycle of food: production, transportation, consumption, and waste. Where are the biggest environmental impacts?' + next_section_and_step: section_5:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about food system environmental impacts, emissions, or sustainability strategies. + counts_as_attempt: false + next_section_and_step: section_5:step_1 + off_topic: + content_blocks: + - Let's focus on food sustainability. Which strategy would you recommend? + next_section_and_step: section_5:step_1 +- section_id: conclusion + title: Sustainability Report + steps: + - step_id: step_1 + title: Congratulations! + content_blocks: + - '## Congratulations, Environmental Consultant! 🌍' + - You've completed your sustainability consulting project for River City! + - '' + - '**Key environmental concepts you explored:**' + - ✓ Carbon footprint and climate impact + - ✓ Renewable vs fossil fuel energy + - ✓ Ecosystem services and biodiversity + - ✓ Circular economy and waste hierarchy + - ✓ Sustainable food systems + - ✓ Systems thinking and tradeoffs + - '' + - '**Why sustainability matters:**' + - 'Human wellbeing depends on healthy ecosystems - they provide:' + - '- Clean air and water' + - '- Climate regulation' + - '- Food and materials' + - '- Recreation and beauty' + - '' + - '**The challenge:**' + - We must meet human needs while protecting the Earth's systems that support all life. + - '' + - '**What you learned:**' + - '- Environmental problems are interconnected (systems thinking)' + - '- Choices have both immediate and long-term consequences' + - '- Prevention is better than treating symptoms' + - '- We can balance environmental protection with human needs through thoughtful design' + question: Reflecting on your decisions, what's one action you could take in your own life to reduce your environmental impact? What sustainability principle resonated most with you? + tokens_for_ai: 'This is a reflection question. Accept any thoughtful response about personal application + + of sustainability principles. + + + Categorize as: + + - specific_commitment: Identifies concrete action they plan to take + + - thoughtful_reflection: Meaningful reflection on what they learned + + - basic_reflection: Brief but genuine + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Provide personalized, encouraging feedback. Acknowledge the environmental decisions they + + made throughout the activity. Emphasize that individual actions matter AND we need systemic + + change. Encourage them to think about sustainability in their daily choices and to advocate + + for environmental protection in their communities. + + ' + buckets: + - specific_commitment + - thoughtful_reflection + - basic_reflection + - limited_effort + - off_topic + transitions: + specific_commitment: + ai_feedback: + tokens_for_ai: Wonderful! Your specific commitment shows you're ready to apply what you learned. Encourage and support their action plan. Remind them that individual actions AND systemic advocacy both matter. + metadata_add: + activity_completed: 'true' + thoughtful_reflection: + ai_feedback: + tokens_for_ai: Excellent reflection on sustainability principles! Provide encouragement and suggest ways to apply these concepts in daily life. + metadata_add: + activity_completed: 'true' + basic_reflection: + ai_feedback: + tokens_for_ai: Thank them for engaging with environmental challenges. Summarize key takeaways and encourage sustainable thinking. + metadata_add: + activity_completed: 'true' + limited_effort: + ai_feedback: + tokens_for_ai: Acknowledge their completion and encourage them to consider environmental impacts in their daily decisions. + metadata_add: + activity_completed: 'true' + off_topic: + content_blocks: + - Let's reflect on sustainability. What action could you take personally to reduce environmental impact? + next_section_and_step: conclusion:step_1 diff --git a/research/activity34-media-literacy.yaml b/research/activity34-media-literacy.yaml index 8cb8e74..bf6e835 100644 --- a/research/activity34-media-literacy.yaml +++ b/research/activity34-media-literacy.yaml @@ -1,702 +1,827 @@ default_max_attempts_per_step: 3 +tokens_for_ai_rubric: 'Evaluate the student''s development of media literacy skills. -tokens_for_ai_rubric: | - Evaluate the student's development of media literacy skills. Consider: + - Their ability to identify credible vs unreliable sources + - Recognition of bias and propaganda techniques + - Understanding of fact-checking methods + - Critical thinking about information sources + - Application of media literacy principles + Provide encouraging feedback and emphasize the importance of these skills in the digital age. + ' sections: - - section_id: "introduction" - title: "Welcome to Media Literacy" - steps: - - step_id: "welcome" - title: "Welcome to Media Literacy" +- section_id: introduction + title: Welcome to Media Literacy + steps: + - step_id: welcome + title: Welcome to Media Literacy + content_blocks: + - '# Media Literacy & Information Evaluation 📰' + - Welcome to the world of critical media consumption! + - '' + - In today's information-rich world, the ability to evaluate sources is essential. + - '' + - '**You''ll learn to:**' + - '- Identify credible vs unreliable sources' + - '- Recognize bias and propaganda techniques' + - '- Fact-check claims effectively' + - '- Detect emotional manipulation' + - '- Understand how misinformation spreads' + - '- Become a savvy information consumer' + - '' + - '**Why this matters:**' + - Every day we're exposed to thousands of messages - news, ads, social media posts. + - Some are accurate, some are biased, some are deliberately false. + - Media literacy helps you navigate this landscape and make informed decisions. + question: Ready to sharpen your information evaluation skills? + tokens_for_ai: 'Student is expressing readiness. + + + Categorize as: + + - ready: Positive, ready to begin + + - set_language: Setting language preference + + - off_topic: Unrelated + + ' + buckets: + - ready + - set_language + - off_topic + transitions: + ready: content_blocks: - - "# Media Literacy & Information Evaluation 📰" - - "Welcome to the world of critical media consumption!" - - "" - - "In today's information-rich world, the ability to evaluate sources is essential." - - "" - - "**You'll learn to:**" - - "- Identify credible vs unreliable sources" - - "- Recognize bias and propaganda techniques" - - "- Fact-check claims effectively" - - "- Detect emotional manipulation" - - "- Understand how misinformation spreads" - - "- Become a savvy information consumer" - - "" - - "**Why this matters:**" - - "Every day we're exposed to thousands of messages - news, ads, social media posts." - - "Some are accurate, some are biased, some are deliberately false." - - "Media literacy helps you navigate this landscape and make informed decisions." - question: "Ready to sharpen your information evaluation skills?" - tokens_for_ai: | - Student is expressing readiness. - - Categorize as: - - ready: Positive, ready to begin - - set_language: Setting language preference - - off_topic: Unrelated - buckets: - - ready - - set_language - - off_topic - transitions: - ready: - content_blocks: - - "Excellent! Let's start with the basics of source evaluation." - metadata_add: - misinformation_detected: "0" - sources_verified: "0" - next_section_and_step: "section_1:step_1" - set_language: - content_blocks: - - "I'll communicate in your preferred language." - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - off_topic: - content_blocks: - - "Let's begin developing your media literacy skills! Are you ready?" - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - - - section_id: "section_1" - title: "Evaluating Sources" - steps: - - step_id: "step_1" - title: "Understanding Source Credibility" + - Excellent! Let's start with the basics of source evaluation. + metadata_add: + misinformation_detected: '0' + sources_verified: '0' + next_section_and_step: section_1:step_1 + set_language: content_blocks: - - "## Understanding Source Credibility 🔍" - - "Not all information sources are equally reliable." - - "" - - "**Key questions to ask:**" - - "- **Who created this?** (Author, organization)" - - "- **What's their expertise?** (Credentials, experience)" - - "- **What's their motive?** (Inform, persuade, sell, entertain?)" - - "- **Is it verifiable?** (Can you check the facts?)" - - "- **Who else reports this?** (Corroboration from other sources)" - - "" - - "**Example article to evaluate:**" - - "" - - "**Title:** 'Scientists Confirm Chocolate Cures All Diseases'" - - "**Source:** ChocoLovers Blog" - - "**Author:** No author listed" - - "**Content:** Claims a new study proves chocolate cures cancer, diabetes, and heart disease. No study is named or linked. Article includes ads for chocolate products." - - "**No other news sources are reporting this story.**" - question: "Is this a credible source? Why or why not? What red flags do you notice?" - tokens_for_ai: | - This is clearly NOT credible. Red flags: - - Extraordinary claim ("cures ALL diseases") - - No author credentials - - No named study or link to research - - Biased source (ChocoLovers Blog) - - Financial motive (chocolate ads) - - No corroboration from other sources - - Lacks scientific plausibility - - Categorize as: - - correctly_identified: Recognizes this is not credible and identifies multiple red flags - - partially_correct: Sees it's suspicious but misses some red flags - - missed_red_flags: Thinks it might be credible or only sees one red flag - - limited_effort: Very brief answer - - off_topic: Unrelated - feedback_tokens_for_ai: | - Praise identification of red flags! Walk through all the warning signs if they missed any. - Emphasize: extraordinary claims require extraordinary evidence, check for conflicts of - interest, and verify with multiple independent sources. - buckets: - - correctly_identified - - partially_correct - - missed_red_flags - - limited_effort - - off_topic - transitions: - correctly_identified: - ai_feedback: - tokens_for_ai: "Excellent source evaluation! You identified the key red flags. Explain the principle: extraordinary claims require extraordinary evidence." - metadata_add: - score: "n+2" - misinformation_detected: "n+1" - next_section_and_step: "section_1:step_2" - partially_correct: - ai_feedback: - tokens_for_ai: "Good critical thinking! You spotted some red flags. Point out any additional warning signs they missed." - metadata_add: - score: "n+1" - misinformation_detected: "n+1" - next_section_and_step: "section_1:step_2" - missed_red_flags: - ai_feedback: - tokens_for_ai: "Let's examine this more carefully. Walk through the red flags: no named study, biased source, extraordinary claims, financial motive, no corroboration." - next_section_and_step: "section_1:step_1" - limited_effort: - content_blocks: - - "Take time to analyze this carefully. Look at the source, the claims, the evidence provided, and whether other sources report this." - next_section_and_step: "section_1:step_1" - off_topic: - content_blocks: - - "Let's focus on evaluating this article. Is it credible? What red flags do you see?" - next_section_and_step: "section_1:step_1" - - - step_id: "step_2" - title: "Comparing Sources" + - I'll communicate in your preferred language. + counts_as_attempt: false + next_section_and_step: introduction:welcome + off_topic: content_blocks: - - "## Comparing Sources 📊" - - "Great work! Now let's compare different sources on the same topic." - - "" - - "**Topic: A new medical treatment**" - - "" - - "**Source A:**" - - "- Journal of Medicine (peer-reviewed)" - - "- Authors: Dr. Smith et al., university researchers" - - "- Reports: 'Preliminary study of 200 patients shows 15% improvement in symptoms'" - - "- Lists limitations and notes more research needed" - - "" - - "**Source B:**" - - "- HealthMiracles.com" - - "- No author listed" - - "- Claims: 'Revolutionary cure helps 99% of patients!'" - - "- Sells the treatment for $299" - - "- No peer review or scientific citation" - question: "Which source is more credible, and why? What makes Source A different from Source B?" - tokens_for_ai: | - Source A is clearly more credible: - - Peer-reviewed journal - - Named researchers with credentials - - Modest, specific claims (15%, not 99%) - - Acknowledges limitations - - No financial conflict + - Let's begin developing your media literacy skills! Are you ready? + counts_as_attempt: false + next_section_and_step: introduction:welcome +- section_id: section_1 + title: Evaluating Sources + steps: + - step_id: step_1 + title: Understanding Source Credibility + content_blocks: + - '## Understanding Source Credibility 🔍' + - Not all information sources are equally reliable. + - '' + - '**Key questions to ask:**' + - '- **Who created this?** (Author, organization)' + - '- **What''s their expertise?** (Credentials, experience)' + - '- **What''s their motive?** (Inform, persuade, sell, entertain?)' + - '- **Is it verifiable?** (Can you check the facts?)' + - '- **Who else reports this?** (Corroboration from other sources)' + - '' + - '**Example article to evaluate:**' + - '' + - '**Title:** ''Scientists Confirm Chocolate Cures All Diseases''' + - '**Source:** ChocoLovers Blog' + - '**Author:** No author listed' + - '**Content:** Claims a new study proves chocolate cures cancer, diabetes, and heart disease. No study is named or linked. Article includes ads for chocolate products.' + - '**No other news sources are reporting this story.**' + question: Is this a credible source? Why or why not? What red flags do you notice? + tokens_for_ai: 'This is clearly NOT credible. Red flags: - Source B has red flags: - - No author/credentials - - Extraordinary claims (99%) - - Selling the product (financial motive) - - No peer review + - Extraordinary claim ("cures ALL diseases") - Categorize as: - - correct_analysis: Identifies Source A as more credible with good reasoning - - partial_understanding: Gets the right answer but incomplete reasoning - - confused: Doesn't clearly distinguish credibility - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they correctly identify A, praise their analysis! Explain peer review process and - why modest claims with limitations are actually MORE trustworthy than extraordinary - promises. Discuss financial conflicts of interest. - buckets: - - correct_analysis - - partial_understanding - - confused - - limited_effort - - off_topic - transitions: - correct_analysis: - ai_feedback: - tokens_for_ai: "Excellent! You understand the hallmarks of credible scientific reporting: peer review, transparency about limitations, and absence of financial conflicts. Explain why modest claims are more trustworthy." - metadata_add: - score: "n+2" - sources_verified: "n+1" - next_section_and_step: "section_2:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're on the right track! Expand on the specific factors that make Source A more trustworthy: peer review, credentialed authors, modest claims, acknowledged limitations." - metadata_add: - score: "n+1" - sources_verified: "n+1" - next_section_and_step: "section_2:step_1" - confused: - content_blocks: - - "**Key principle:** When evaluating sources, look for transparency, credentials, peer review, and absence of financial conflicts." - - "Which source has these qualities?" - next_section_and_step: "section_1:step_2" - limited_effort: - content_blocks: - - "Compare them systematically: Who wrote it? Is it peer-reviewed? Are the claims modest or extraordinary? Is someone selling something?" - next_section_and_step: "section_1:step_2" - off_topic: - content_blocks: - - "Let's compare these two sources. Which is more credible and why?" - next_section_and_step: "section_1:step_2" + - No author credentials - - section_id: "section_2" - title: "Recognizing Bias" - steps: - - step_id: "step_1" - title: "Understanding Bias and Framing" + - No named study or link to research + + - Biased source (ChocoLovers Blog) + + - Financial motive (chocolate ads) + + - No corroboration from other sources + + - Lacks scientific plausibility + + + Categorize as: + + - correctly_identified: Recognizes this is not credible and identifies multiple red flags + + - partially_correct: Sees it''s suspicious but misses some red flags + + - missed_red_flags: Thinks it might be credible or only sees one red flag + + - limited_effort: Very brief answer + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Praise identification of red flags! Walk through all the warning signs if they missed any. + + Emphasize: extraordinary claims require extraordinary evidence, check for conflicts of + + interest, and verify with multiple independent sources. + + ' + buckets: + - correctly_identified + - partially_correct + - missed_red_flags + - limited_effort + - off_topic + transitions: + correctly_identified: + ai_feedback: + tokens_for_ai: 'Excellent source evaluation! You identified the key red flags. Explain the principle: extraordinary claims require extraordinary evidence.' + metadata_add: + score: n+2 + misinformation_detected: n+1 + next_section_and_step: section_1:step_2 + partially_correct: + ai_feedback: + tokens_for_ai: Good critical thinking! You spotted some red flags. Point out any additional warning signs they missed. + metadata_add: + score: n+1 + misinformation_detected: n+1 + next_section_and_step: section_1:step_2 + missed_red_flags: + ai_feedback: + tokens_for_ai: 'Let''s examine this more carefully. Walk through the red flags: no named study, biased source, extraordinary claims, financial motive, no corroboration.' + next_section_and_step: section_1:step_1 + limited_effort: content_blocks: - - "## Understanding Bias and Framing 📰" - - "All sources have some perspective, but recognizing bias helps you get fuller picture." - - "" - - "**Types of bias:**" - - "- **Selection bias:** What facts are included or omitted?" - - "- **Framing bias:** How is the story presented?" - - "- **Word choice:** Loaded language vs neutral language" - - "" - - "**Example: Same event, two headlines:**" - - "" - - "**Headline A:** 'Protesters disrupt traffic, cause chaos downtown'" - - "**Headline B:** 'Citizens march peacefully for voting rights'" - - "" - - "**Facts:** 5,000 people marched. Two streets closed for 3 hours. No violence or arrests. March was about voting rights legislation." - question: "How does each headline frame the event differently? What does word choice reveal about each source's perspective?" - tokens_for_ai: | - Headline A uses negative framing: "disrupt," "chaos," focuses on inconvenience - Headline B uses positive framing: "peacefully," "citizens," emphasizes purpose - Both are describing the same factual event but with different emphasis and word choice. - - Categorize as: - - recognizes_bias: Identifies how each headline frames the story differently and discusses word choice - - partial_recognition: Sees some difference but doesn't fully analyze framing - - missed_bias: Doesn't recognize the bias or framing differences - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they recognize bias, excellent! Explain how both can be factually accurate yet - emphasize different aspects. Discuss how word choice ("disrupt" vs "march," "chaos" vs - "peaceful") shapes perception. Emphasize importance of reading multiple sources. - buckets: - - recognizes_bias - - partial_recognition - - missed_bias - - limited_effort - - off_topic - transitions: - recognizes_bias: - ai_feedback: - tokens_for_ai: "Excellent analysis of bias and framing! Explain how consuming news from multiple perspectives helps us understand the full picture." - metadata_add: - score: "n+2" - bias_identified: "n+1" - next_section_and_step: "section_2:step_2" - partial_recognition: - ai_feedback: - tokens_for_ai: "You're seeing the difference! Dig deeper into the specific words used: 'disrupt' vs 'march,' 'chaos' vs 'peaceful.' How does this language shape our perception?" - metadata_add: - score: "n+1" - bias_identified: "n+1" - next_section_and_step: "section_2:step_2" - missed_bias: - content_blocks: - - "Look closely at the word choices: 'disrupt' vs 'march,' 'chaos' vs 'peaceful.'" - - "One headline emphasizes inconvenience, the other emphasizes the purpose and peaceful nature." - - "Same facts, different framing!" - next_section_and_step: "section_2:step_1" - limited_effort: - content_blocks: - - "Compare the specific words used in each headline. What feeling does each create about the protest?" - next_section_and_step: "section_2:step_1" - off_topic: - content_blocks: - - "Let's analyze these headlines. How does each one frame the protest differently?" - next_section_and_step: "section_2:step_1" - - - step_id: "step_2" - title: "Emotional Manipulation vs Facts" + - Take time to analyze this carefully. Look at the source, the claims, the evidence provided, and whether other sources report this. + next_section_and_step: section_1:step_1 + off_topic: content_blocks: - - "## Emotional Manipulation vs Facts 💭" - - "Some content uses emotional triggers to bypass critical thinking." - - "" - - "**Propaganda techniques to watch for:**" - - "- **Fear appeals:** 'If you don't act now, disaster will happen!'" - - "- **Bandwagon:** 'Everyone believes this, don't be left out!'" - - "- **Name-calling:** Attacking people rather than addressing arguments" - - "- **Glittering generalities:** Vague positive language without substance" - - "- **Appeals to emotion** over evidence" - - "" - - "**Example social media post:**" - - "" - - "_'They're trying to hide the TRUTH from you! Don't be a sheep! Share this before it's deleted! Everyone who's smart knows this is happening! Wake up!'_" - - "" - - "The post contains no specific claims, sources, or verifiable facts." - question: "What propaganda techniques do you see in this post? What red flags indicate this is trying to manipulate rather than inform?" - tokens_for_ai: | - Propaganda techniques present: - - Fear/urgency ("before it's deleted!") - - Bandwagon ("everyone who's smart knows") - - Name-calling ("sheep") - - Emotional language ("TRUTH," "Wake up!") - - Vague claims with no specifics - - No sources or verifiable facts + - Let's focus on evaluating this article. Is it credible? What red flags do you see? + next_section_and_step: section_1:step_1 + - step_id: step_2 + title: Comparing Sources + content_blocks: + - '## Comparing Sources 📊' + - Great work! Now let's compare different sources on the same topic. + - '' + - '**Topic: A new medical treatment**' + - '' + - '**Source A:**' + - '- Journal of Medicine (peer-reviewed)' + - '- Authors: Dr. Smith et al., university researchers' + - '- Reports: ''Preliminary study of 200 patients shows 15% improvement in symptoms''' + - '- Lists limitations and notes more research needed' + - '' + - '**Source B:**' + - '- HealthMiracles.com' + - '- No author listed' + - '- Claims: ''Revolutionary cure helps 99% of patients!''' + - '- Sells the treatment for $299' + - '- No peer review or scientific citation' + question: Which source is more credible, and why? What makes Source A different from Source B? + tokens_for_ai: 'Source A is clearly more credible: - Categorize as: - - identified_manipulation: Recognizes multiple propaganda techniques - - partial_recognition: Sees some manipulation tactics - - missed_manipulation: Doesn't recognize the manipulative techniques - - limited_effort: Very brief - - asking_clarifying_questions: Requests explanation - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they identify manipulation, excellent! Explain how these techniques are designed to - bypass critical thinking by triggering emotional responses. Contrast with informative - content that provides specific, verifiable claims. - buckets: - - identified_manipulation - - partial_recognition - - missed_manipulation - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - identified_manipulation: - ai_feedback: - tokens_for_ai: "Excellent! You spotted the emotional manipulation tactics. Explain how credible information provides specific, verifiable facts rather than emotional appeals." - metadata_add: - score: "n+3" - misinformation_detected: "n+1" - bias_identified: "n+1" - next_section_and_step: "section_3:step_1" - partial_recognition: - ai_feedback: - tokens_for_ai: "Good start! Point out additional manipulation techniques they missed: fear/urgency, bandwagon, name-calling, vague claims without specifics." - metadata_add: - score: "n+1" - misinformation_detected: "n+1" - next_section_and_step: "section_3:step_1" - missed_manipulation: - content_blocks: - - "Look for emotional triggers: fear ('before it's deleted'), peer pressure ('everyone who's smart'), and name-calling ('sheep')." - - "Notice: no specific facts, no sources, just emotional language designed to make you share without thinking." - next_section_and_step: "section_2:step_2" - limited_effort: - content_blocks: - - "Analyze this post carefully. Is it providing facts and sources, or is it using emotions and pressure tactics?" - next_section_and_step: "section_2:step_2" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about propaganda techniques and emotional manipulation." - counts_as_attempt: false - next_section_and_step: "section_2:step_2" - off_topic: - content_blocks: - - "Let's analyze this social media post. What manipulation techniques do you notice?" - next_section_and_step: "section_2:step_2" + - Peer-reviewed journal - - section_id: "section_3" - title: "Fact-Checking Methods" - steps: - - step_id: "step_1" - title: "How to Fact-Check Claims" + - Named researchers with credentials + + - Modest, specific claims (15%, not 99%) + + - Acknowledges limitations + + - No financial conflict + + + Source B has red flags: + + - No author/credentials + + - Extraordinary claims (99%) + + - Selling the product (financial motive) + + - No peer review + + + Categorize as: + + - correct_analysis: Identifies Source A as more credible with good reasoning + + - partial_understanding: Gets the right answer but incomplete reasoning + + - confused: Doesn''t clearly distinguish credibility + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they correctly identify A, praise their analysis! Explain peer review process and + + why modest claims with limitations are actually MORE trustworthy than extraordinary + + promises. Discuss financial conflicts of interest. + + ' + buckets: + - correct_analysis + - partial_understanding + - confused + - limited_effort + - off_topic + transitions: + correct_analysis: + ai_feedback: + tokens_for_ai: 'Excellent! You understand the hallmarks of credible scientific reporting: peer review, transparency about limitations, and absence of financial conflicts. Explain why modest claims are more trustworthy.' + metadata_add: + score: n+2 + sources_verified: n+1 + next_section_and_step: section_2:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: 'You''re on the right track! Expand on the specific factors that make Source A more trustworthy: peer review, credentialed authors, modest claims, acknowledged limitations.' + metadata_add: + score: n+1 + sources_verified: n+1 + next_section_and_step: section_2:step_1 + confused: content_blocks: - - "## How to Fact-Check Claims ✓" - - "When you encounter a surprising claim, you can verify it!" - - "" - - "**Fact-checking steps:**" - - "1. **Check the original source** - Is the claim based on a real study/document?" - - "2. **Verify with fact-checking sites** - Snopes, FactCheck.org, PolitiFact, etc." - - "3. **Look for corroboration** - Do credible news sources report this?" - - "4. **Check the date** - Is this old news being presented as new?" - - "5. **Reverse image search** - Are images real or manipulated?" - - "6. **Consider expertise** - Are experts in the field confirming this?" - - "" - - "**Claim to evaluate:**" - - "" - - "_'Breaking: Government announces pizza is now a vegetable!'_" - - "" - - "**Quick research reveals:**" - - "- This claim went viral in 2011" - - "- What actually happened: Congress ruled that tomato paste on pizza counts toward vegetable requirements in school lunches" - - "- Pizza itself was NOT declared a vegetable" - - "- The claim misrepresents the actual policy" - question: "Is the viral claim accurate? What fact-checking steps revealed the truth?" - tokens_for_ai: | - The claim is INACCURATE/MISLEADING: - - Pizza was NOT declared a vegetable - - The actual policy was about tomato paste servings in school lunches - - The headline distorts what actually happened - - Checking the date reveals this is old news - - Fact-checking revealed: date checking, finding original source, understanding context - - Categorize as: - - correctly_debunked: Identifies the claim as false/misleading and explains why - - partial_understanding: Sees something wrong but doesn't fully explain - - fooled: Thinks the claim is accurate - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they debunk it, excellent! Explain how viral claims often distort real events to - create outrage. Discuss importance of checking dates and finding original sources. - This teaches the difference between "false" and "misleading." - buckets: - - correctly_debunked - - partial_understanding - - fooled - - limited_effort - - off_topic - transitions: - correctly_debunked: - ai_feedback: - tokens_for_ai: "Excellent fact-checking! You identified that the viral claim distorts the real policy. Explain how misleading headlines often contain a grain of truth but misrepresent the reality." - metadata_add: - score: "n+2" - misinformation_detected: "n+1" - sources_verified: "n+1" - next_section_and_step: "section_3:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're thinking critically! Clarify the distinction: the policy was about tomato paste portions, not declaring pizza a vegetable. The headline distorts reality." - metadata_add: - score: "n+1" - sources_verified: "n+1" - next_section_and_step: "section_3:step_2" - fooled: - content_blocks: - - "Look at what ACTUALLY happened versus the headline: The policy was about counting tomato paste as a vegetable serving, not declaring pizza itself a vegetable." - - "The viral claim distorts the truth to create outrage!" - next_section_and_step: "section_3:step_1" - limited_effort: - content_blocks: - - "Read the fact-check information carefully. What's the difference between the viral claim and what actually happened?" - next_section_and_step: "section_3:step_1" - off_topic: - content_blocks: - - "Let's fact-check this claim. Is it accurate based on the research provided?" - next_section_and_step: "section_3:step_1" - - - step_id: "step_2" - title: "Spotting Manipulated Media" + - '**Key principle:** When evaluating sources, look for transparency, credentials, peer review, and absence of financial conflicts.' + - Which source has these qualities? + next_section_and_step: section_1:step_2 + limited_effort: content_blocks: - - "## Advanced: Spotting Deepfakes and Manipulated Media 🎭" - - "Technology now allows realistic fake images, videos, and audio." - - "" - - "**Warning signs of manipulated media:**" - - "- Unusual lighting or shadows" - - "- Mismatched details (watch, background elements)" - - "- Unnatural movement or expressions (in video)" - - "- Context seems wrong (location, date, people present)" - - "- No other sources have this image/video" - - "" - - "**Best practice:** Use reverse image search (Google Images, TinEye) to find original source" - - "" - - "**Scenario:**" - - "You see a photo claiming to show a celebrity at a political rally yesterday." - - "" - - "**Reverse image search reveals:**" - - "The same photo appears in an article from 3 years ago at a completely different event." - - "The background has been digitally altered." - question: "What does this tell you about the photo? Why is reverse image search such a valuable tool?" - tokens_for_ai: | - The photo is FAKE/MANIPULATED: - - Original image is from a different event years ago - - Background has been altered - - This is misinformation - - Reverse image search helps: - - Find original context - - Detect recycled/manipulated images - - Verify when and where photo was actually taken - - Categorize as: - - understood_manipulation: Recognizes the photo is fake and explains the value of reverse search - - partial_understanding: Gets general idea but incomplete - - confused: Doesn't fully grasp the manipulation - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they understand, excellent! Explain how old images are often recycled to create - false narratives. Emphasize that reverse image search is a powerful tool anyone can - use to verify visual claims. - buckets: - - understood_manipulation - - partial_understanding - - confused - - limited_effort - - off_topic - transitions: - understood_manipulation: - ai_feedback: - tokens_for_ai: "Perfect! You understand how images can be manipulated and recycled. Explain how reverse image search helps verify visual claims and find original context." - metadata_add: - score: "n+2" - misinformation_detected: "n+1" - next_section_and_step: "section_4:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "Good thinking! Emphasize that reverse image search reveals when images are recycled from different contexts or digitally altered." - metadata_add: - score: "n+1" - next_section_and_step: "section_4:step_1" - confused: - content_blocks: - - "The photo is fake - it's from a different event years ago with an altered background." - - "Reverse image search helps you find where images really came from!" - next_section_and_step: "section_3:step_2" - limited_effort: - content_blocks: - - "Think about what it means that the same photo appears from years ago in a different context." - next_section_and_step: "section_3:step_2" - off_topic: - content_blocks: - - "Let's analyze this scenario. What does the reverse image search reveal?" - next_section_and_step: "section_3:step_2" - - - section_id: "section_4" - title: "Building Your Media Diet" - steps: - - step_id: "step_1" - title: "Creating a Healthy Information Diet" + - 'Compare them systematically: Who wrote it? Is it peer-reviewed? Are the claims modest or extraordinary? Is someone selling something?' + next_section_and_step: section_1:step_2 + off_topic: content_blocks: - - "## Creating a Healthy Information Diet 🧠" - - "You've learned to spot misinformation, bias, and manipulation!" - - "" - - "**Now: Building good habits**" - - "" - - "**Principles for healthy media consumption:**" - - "" - - "✓ **Diverse sources** - Read multiple perspectives, not just sources you agree with" - - "✓ **Primary sources** - When possible, check original documents/studies, not just summaries" - - "✓ **Slow down** - Resist the urge to share immediately; verify first" - - "✓ **Check your emotions** - If content makes you very angry/scared, pause and fact-check" - - "✓ **Know the difference** - News, opinion, satire, and propaganda are different" - - "✓ **Digital hygiene** - Regularly audit your information sources" - - "" - - "**Question:**" - - "You see a shocking headline that confirms something you already believe." - - "" - - "**What should you do BEFORE sharing it?**" - question: "What steps should you take before sharing a shocking claim, even if it confirms your beliefs?" - tokens_for_ai: | - Good practices before sharing: - - Check the source (is it credible?) - - Verify with fact-checking sites - - Look for corroboration from other sources - - Check if it's satire - - Be extra skeptical of claims that confirm your biases (confirmation bias) - - Read beyond the headline + - Let's compare these two sources. Which is more credible and why? + next_section_and_step: section_1:step_2 +- section_id: section_2 + title: Recognizing Bias + steps: + - step_id: step_1 + title: Understanding Bias and Framing + content_blocks: + - '## Understanding Bias and Framing 📰' + - All sources have some perspective, but recognizing bias helps you get fuller picture. + - '' + - '**Types of bias:**' + - '- **Selection bias:** What facts are included or omitted?' + - '- **Framing bias:** How is the story presented?' + - '- **Word choice:** Loaded language vs neutral language' + - '' + - '**Example: Same event, two headlines:**' + - '' + - '**Headline A:** ''Protesters disrupt traffic, cause chaos downtown''' + - '**Headline B:** ''Citizens march peacefully for voting rights''' + - '' + - '**Facts:** 5,000 people marched. Two streets closed for 3 hours. No violence or arrests. March was about voting rights legislation.' + question: How does each headline frame the event differently? What does word choice reveal about each source's perspective? + tokens_for_ai: 'Headline A uses negative framing: "disrupt," "chaos," focuses on inconvenience - Categorize as: - - comprehensive_approach: Lists multiple verification steps - - basic_verification: Mentions checking source or fact-checking - - confirmation_bias_awareness: Recognizes need to be extra skeptical of agreeable claims - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they show verification thinking, excellent! Emphasize the importance of being - especially skeptical of claims we WANT to believe (confirmation bias). Discuss the - responsibility of sharing in the digital age - false information spreads faster than - corrections. - buckets: - - comprehensive_approach - - basic_verification - - confirmation_bias_awareness - - limited_effort - - off_topic - transitions: - comprehensive_approach: - ai_feedback: - tokens_for_ai: "Excellent! You've internalized the verification process. Emphasize that sharing misinformation, even unintentionally, contributes to the problem." - metadata_add: - score: "n+3" - next_section_and_step: "conclusion:step_1" - basic_verification: - ai_feedback: - tokens_for_ai: "Good instinct to verify! Expand on additional steps: check multiple sources, use fact-checking sites, be extra skeptical of claims you want to believe." - metadata_add: - score: "n+2" - next_section_and_step: "conclusion:step_1" - confirmation_bias_awareness: - ai_feedback: - tokens_for_ai: "Excellent self-awareness! Recognizing confirmation bias is crucial. We're all more likely to believe and share claims that confirm what we already think." - metadata_add: - score: "n+3" - next_section_and_step: "conclusion:step_1" - limited_effort: - content_blocks: - - "Think about the verification steps you've learned: checking sources, fact-checking sites, looking for corroboration, being skeptical of claims you want to believe." - next_section_and_step: "section_4:step_1" - off_topic: - content_blocks: - - "Let's think about responsible information sharing. What should you do before sharing a claim?" - next_section_and_step: "section_4:step_1" + Headline B uses positive framing: "peacefully," "citizens," emphasizes purpose - - section_id: "conclusion" - title: "Media Literacy Graduate" - steps: - - step_id: "step_1" - title: "Congratulations!" + Both are describing the same factual event but with different emphasis and word choice. + + + Categorize as: + + - recognizes_bias: Identifies how each headline frames the story differently and discusses word choice + + - partial_recognition: Sees some difference but doesn''t fully analyze framing + + - missed_bias: Doesn''t recognize the bias or framing differences + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they recognize bias, excellent! Explain how both can be factually accurate yet + + emphasize different aspects. Discuss how word choice ("disrupt" vs "march," "chaos" vs + + "peaceful") shapes perception. Emphasize importance of reading multiple sources. + + ' + buckets: + - recognizes_bias + - partial_recognition + - missed_bias + - limited_effort + - off_topic + transitions: + recognizes_bias: + ai_feedback: + tokens_for_ai: Excellent analysis of bias and framing! Explain how consuming news from multiple perspectives helps us understand the full picture. + metadata_add: + score: n+2 + bias_identified: n+1 + next_section_and_step: section_2:step_2 + partial_recognition: + ai_feedback: + tokens_for_ai: 'You''re seeing the difference! Dig deeper into the specific words used: ''disrupt'' vs ''march,'' ''chaos'' vs ''peaceful.'' How does this language shape our perception?' + metadata_add: + score: n+1 + bias_identified: n+1 + next_section_and_step: section_2:step_2 + missed_bias: content_blocks: - - "## Congratulations, Media Literacy Expert! 🎓" - - "You've developed critical skills for navigating the information landscape!" - - "" - - "**What you've learned:**" - - "✓ How to evaluate source credibility" - - "✓ Recognizing bias and framing" - - "✓ Identifying propaganda and emotional manipulation" - - "✓ Fact-checking techniques (including reverse image search)" - - "✓ Building a healthy media diet" - - "✓ Spotting misinformation before it spreads" - - "" - - "**Why this matters in the digital age:**" - - "- Information spreads faster than ever before" - - "- Misinformation can influence elections, health decisions, and social trust" - - "- Critical thinking is essential for democracy" - - "- You have power AND responsibility as an information consumer and sharer" - - "" - - "**Remember:**" - - "_'The inability to distinguish fact from fiction is the defining challenge of our age.'_" - - "" - - "You now have the tools to meet this challenge." - - "" - - "**Your media literacy checklist:**" - - "- Check the source" - - "- Verify with multiple sources" - - "- Watch for emotional manipulation" - - "- Fact-check before sharing" - - "- Consume diverse perspectives" - - "- Stay curious and humble" - question: "How will you apply media literacy in your daily life? What's one specific habit you want to develop to be a more critical information consumer?" - tokens_for_ai: | - This is a reflection question about applying media literacy skills. + - 'Look closely at the word choices: ''disrupt'' vs ''march,'' ''chaos'' vs ''peaceful.''' + - One headline emphasizes inconvenience, the other emphasizes the purpose and peaceful nature. + - Same facts, different framing! + next_section_and_step: section_2:step_1 + limited_effort: + content_blocks: + - Compare the specific words used in each headline. What feeling does each create about the protest? + next_section_and_step: section_2:step_1 + off_topic: + content_blocks: + - Let's analyze these headlines. How does each one frame the protest differently? + next_section_and_step: section_2:step_1 + - step_id: step_2 + title: Emotional Manipulation vs Facts + content_blocks: + - '## Emotional Manipulation vs Facts 💭' + - Some content uses emotional triggers to bypass critical thinking. + - '' + - '**Propaganda techniques to watch for:**' + - '- **Fear appeals:** ''If you don''t act now, disaster will happen!''' + - '- **Bandwagon:** ''Everyone believes this, don''t be left out!''' + - '- **Name-calling:** Attacking people rather than addressing arguments' + - '- **Glittering generalities:** Vague positive language without substance' + - '- **Appeals to emotion** over evidence' + - '' + - '**Example social media post:**' + - '' + - _'They're trying to hide the TRUTH from you! Don't be a sheep! Share this before it's deleted! Everyone who's smart knows this is happening! Wake up!'_ + - '' + - The post contains no specific claims, sources, or verifiable facts. + question: What propaganda techniques do you see in this post? What red flags indicate this is trying to manipulate rather than inform? + tokens_for_ai: 'Propaganda techniques present: - Categorize as: - - specific_commitment: Identifies a concrete practice they'll adopt - - thoughtful_reflection: Meaningful reflection on importance of media literacy - - basic_reflection: Brief but genuine - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - Provide encouraging, personalized feedback. Emphasize that media literacy is a lifelong - practice, not a destination. Acknowledge the challenges of the information age and praise - their commitment to critical thinking. Remind them that every time they verify before - sharing, they help combat misinformation. - buckets: - - specific_commitment - - thoughtful_reflection - - basic_reflection - - limited_effort - - off_topic - transitions: - specific_commitment: - ai_feedback: - tokens_for_ai: "Excellent commitment! Support their specific practice and emphasize how individual critical thinking contributes to a healthier information ecosystem." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - thoughtful_reflection: - ai_feedback: - tokens_for_ai: "Thoughtful reflection! Encourage them to make verification a habit and to help others develop media literacy too." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - basic_reflection: - ai_feedback: - tokens_for_ai: "Thank them for engaging with media literacy. Emphasize the importance of these skills in the digital age." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - limited_effort: - ai_feedback: - tokens_for_ai: "Acknowledge their completion and encourage them to practice verification before sharing information." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - off_topic: - content_blocks: - - "Let's reflect on your learning. How will you apply media literacy skills going forward?" - next_section_and_step: "conclusion:step_1" + - Fear/urgency ("before it''s deleted!") + + - Bandwagon ("everyone who''s smart knows") + + - Name-calling ("sheep") + + - Emotional language ("TRUTH," "Wake up!") + + - Vague claims with no specifics + + - No sources or verifiable facts + + + Categorize as: + + - identified_manipulation: Recognizes multiple propaganda techniques + + - partial_recognition: Sees some manipulation tactics + + - missed_manipulation: Doesn''t recognize the manipulative techniques + + - limited_effort: Very brief + + - asking_clarifying_questions: Requests explanation + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they identify manipulation, excellent! Explain how these techniques are designed to + + bypass critical thinking by triggering emotional responses. Contrast with informative + + content that provides specific, verifiable claims. + + ' + buckets: + - identified_manipulation + - partial_recognition + - missed_manipulation + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + identified_manipulation: + ai_feedback: + tokens_for_ai: Excellent! You spotted the emotional manipulation tactics. Explain how credible information provides specific, verifiable facts rather than emotional appeals. + metadata_add: + score: n+3 + misinformation_detected: n+1 + bias_identified: n+1 + next_section_and_step: section_3:step_1 + partial_recognition: + ai_feedback: + tokens_for_ai: 'Good start! Point out additional manipulation techniques they missed: fear/urgency, bandwagon, name-calling, vague claims without specifics.' + metadata_add: + score: n+1 + misinformation_detected: n+1 + next_section_and_step: section_3:step_1 + missed_manipulation: + content_blocks: + - 'Look for emotional triggers: fear (''before it''s deleted''), peer pressure (''everyone who''s smart''), and name-calling (''sheep'').' + - 'Notice: no specific facts, no sources, just emotional language designed to make you share without thinking.' + next_section_and_step: section_2:step_2 + limited_effort: + content_blocks: + - Analyze this post carefully. Is it providing facts and sources, or is it using emotions and pressure tactics? + next_section_and_step: section_2:step_2 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about propaganda techniques and emotional manipulation. + counts_as_attempt: false + next_section_and_step: section_2:step_2 + off_topic: + content_blocks: + - Let's analyze this social media post. What manipulation techniques do you notice? + next_section_and_step: section_2:step_2 +- section_id: section_3 + title: Fact-Checking Methods + steps: + - step_id: step_1 + title: How to Fact-Check Claims + content_blocks: + - '## How to Fact-Check Claims ✓' + - When you encounter a surprising claim, you can verify it! + - '' + - '**Fact-checking steps:**' + - 1. **Check the original source** - Is the claim based on a real study/document? + - 2. **Verify with fact-checking sites** - Snopes, FactCheck.org, PolitiFact, etc. + - 3. **Look for corroboration** - Do credible news sources report this? + - 4. **Check the date** - Is this old news being presented as new? + - 5. **Reverse image search** - Are images real or manipulated? + - 6. **Consider expertise** - Are experts in the field confirming this? + - '' + - '**Claim to evaluate:**' + - '' + - '_''Breaking: Government announces pizza is now a vegetable!''_' + - '' + - '**Quick research reveals:**' + - '- This claim went viral in 2011' + - '- What actually happened: Congress ruled that tomato paste on pizza counts toward vegetable requirements in school lunches' + - '- Pizza itself was NOT declared a vegetable' + - '- The claim misrepresents the actual policy' + question: Is the viral claim accurate? What fact-checking steps revealed the truth? + tokens_for_ai: 'The claim is INACCURATE/MISLEADING: + + - Pizza was NOT declared a vegetable + + - The actual policy was about tomato paste servings in school lunches + + - The headline distorts what actually happened + + - Checking the date reveals this is old news + + + Fact-checking revealed: date checking, finding original source, understanding context + + + Categorize as: + + - correctly_debunked: Identifies the claim as false/misleading and explains why + + - partial_understanding: Sees something wrong but doesn''t fully explain + + - fooled: Thinks the claim is accurate + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they debunk it, excellent! Explain how viral claims often distort real events to + + create outrage. Discuss importance of checking dates and finding original sources. + + This teaches the difference between "false" and "misleading." + + ' + buckets: + - correctly_debunked + - partial_understanding + - fooled + - limited_effort + - off_topic + transitions: + correctly_debunked: + ai_feedback: + tokens_for_ai: Excellent fact-checking! You identified that the viral claim distorts the real policy. Explain how misleading headlines often contain a grain of truth but misrepresent the reality. + metadata_add: + score: n+2 + misinformation_detected: n+1 + sources_verified: n+1 + next_section_and_step: section_3:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: 'You''re thinking critically! Clarify the distinction: the policy was about tomato paste portions, not declaring pizza a vegetable. The headline distorts reality.' + metadata_add: + score: n+1 + sources_verified: n+1 + next_section_and_step: section_3:step_2 + fooled: + content_blocks: + - 'Look at what ACTUALLY happened versus the headline: The policy was about counting tomato paste as a vegetable serving, not declaring pizza itself a vegetable.' + - The viral claim distorts the truth to create outrage! + next_section_and_step: section_3:step_1 + limited_effort: + content_blocks: + - Read the fact-check information carefully. What's the difference between the viral claim and what actually happened? + next_section_and_step: section_3:step_1 + off_topic: + content_blocks: + - Let's fact-check this claim. Is it accurate based on the research provided? + next_section_and_step: section_3:step_1 + - step_id: step_2 + title: Spotting Manipulated Media + content_blocks: + - '## Advanced: Spotting Deepfakes and Manipulated Media 🎭' + - Technology now allows realistic fake images, videos, and audio. + - '' + - '**Warning signs of manipulated media:**' + - '- Unusual lighting or shadows' + - '- Mismatched details (watch, background elements)' + - '- Unnatural movement or expressions (in video)' + - '- Context seems wrong (location, date, people present)' + - '- No other sources have this image/video' + - '' + - '**Best practice:** Use reverse image search (Google Images, TinEye) to find original source' + - '' + - '**Scenario:**' + - You see a photo claiming to show a celebrity at a political rally yesterday. + - '' + - '**Reverse image search reveals:**' + - The same photo appears in an article from 3 years ago at a completely different event. + - The background has been digitally altered. + question: What does this tell you about the photo? Why is reverse image search such a valuable tool? + tokens_for_ai: 'The photo is FAKE/MANIPULATED: + + - Original image is from a different event years ago + + - Background has been altered + + - This is misinformation + + + Reverse image search helps: + + - Find original context + + - Detect recycled/manipulated images + + - Verify when and where photo was actually taken + + + Categorize as: + + - understood_manipulation: Recognizes the photo is fake and explains the value of reverse search + + - partial_understanding: Gets general idea but incomplete + + - confused: Doesn''t fully grasp the manipulation + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they understand, excellent! Explain how old images are often recycled to create + + false narratives. Emphasize that reverse image search is a powerful tool anyone can + + use to verify visual claims. + + ' + buckets: + - understood_manipulation + - partial_understanding + - confused + - limited_effort + - off_topic + transitions: + understood_manipulation: + ai_feedback: + tokens_for_ai: Perfect! You understand how images can be manipulated and recycled. Explain how reverse image search helps verify visual claims and find original context. + metadata_add: + score: n+2 + misinformation_detected: n+1 + next_section_and_step: section_4:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: Good thinking! Emphasize that reverse image search reveals when images are recycled from different contexts or digitally altered. + metadata_add: + score: n+1 + next_section_and_step: section_4:step_1 + confused: + content_blocks: + - The photo is fake - it's from a different event years ago with an altered background. + - Reverse image search helps you find where images really came from! + next_section_and_step: section_3:step_2 + limited_effort: + content_blocks: + - Think about what it means that the same photo appears from years ago in a different context. + next_section_and_step: section_3:step_2 + off_topic: + content_blocks: + - Let's analyze this scenario. What does the reverse image search reveal? + next_section_and_step: section_3:step_2 +- section_id: section_4 + title: Building Your Media Diet + steps: + - step_id: step_1 + title: Creating a Healthy Information Diet + content_blocks: + - '## Creating a Healthy Information Diet 🧠' + - You've learned to spot misinformation, bias, and manipulation! + - '' + - '**Now: Building good habits**' + - '' + - '**Principles for healthy media consumption:**' + - '' + - ✓ **Diverse sources** - Read multiple perspectives, not just sources you agree with + - ✓ **Primary sources** - When possible, check original documents/studies, not just summaries + - ✓ **Slow down** - Resist the urge to share immediately; verify first + - ✓ **Check your emotions** - If content makes you very angry/scared, pause and fact-check + - ✓ **Know the difference** - News, opinion, satire, and propaganda are different + - ✓ **Digital hygiene** - Regularly audit your information sources + - '' + - '**Question:**' + - You see a shocking headline that confirms something you already believe. + - '' + - '**What should you do BEFORE sharing it?**' + question: What steps should you take before sharing a shocking claim, even if it confirms your beliefs? + tokens_for_ai: 'Good practices before sharing: + + - Check the source (is it credible?) + + - Verify with fact-checking sites + + - Look for corroboration from other sources + + - Check if it''s satire + + - Be extra skeptical of claims that confirm your biases (confirmation bias) + + - Read beyond the headline + + + Categorize as: + + - comprehensive_approach: Lists multiple verification steps + + - basic_verification: Mentions checking source or fact-checking + + - confirmation_bias_awareness: Recognizes need to be extra skeptical of agreeable claims + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they show verification thinking, excellent! Emphasize the importance of being + + especially skeptical of claims we WANT to believe (confirmation bias). Discuss the + + responsibility of sharing in the digital age - false information spreads faster than + + corrections. + + ' + buckets: + - comprehensive_approach + - basic_verification + - confirmation_bias_awareness + - limited_effort + - off_topic + transitions: + comprehensive_approach: + ai_feedback: + tokens_for_ai: Excellent! You've internalized the verification process. Emphasize that sharing misinformation, even unintentionally, contributes to the problem. + metadata_add: + score: n+3 + next_section_and_step: conclusion:step_1 + basic_verification: + ai_feedback: + tokens_for_ai: 'Good instinct to verify! Expand on additional steps: check multiple sources, use fact-checking sites, be extra skeptical of claims you want to believe.' + metadata_add: + score: n+2 + next_section_and_step: conclusion:step_1 + confirmation_bias_awareness: + ai_feedback: + tokens_for_ai: Excellent self-awareness! Recognizing confirmation bias is crucial. We're all more likely to believe and share claims that confirm what we already think. + metadata_add: + score: n+3 + next_section_and_step: conclusion:step_1 + limited_effort: + content_blocks: + - 'Think about the verification steps you''ve learned: checking sources, fact-checking sites, looking for corroboration, being skeptical of claims you want to believe.' + next_section_and_step: section_4:step_1 + off_topic: + content_blocks: + - Let's think about responsible information sharing. What should you do before sharing a claim? + next_section_and_step: section_4:step_1 +- section_id: conclusion + title: Media Literacy Graduate + steps: + - step_id: step_1 + title: Congratulations! + content_blocks: + - '## Congratulations, Media Literacy Expert! 🎓' + - You've developed critical skills for navigating the information landscape! + - '' + - '**What you''ve learned:**' + - ✓ How to evaluate source credibility + - ✓ Recognizing bias and framing + - ✓ Identifying propaganda and emotional manipulation + - ✓ Fact-checking techniques (including reverse image search) + - ✓ Building a healthy media diet + - ✓ Spotting misinformation before it spreads + - '' + - '**Why this matters in the digital age:**' + - '- Information spreads faster than ever before' + - '- Misinformation can influence elections, health decisions, and social trust' + - '- Critical thinking is essential for democracy' + - '- You have power AND responsibility as an information consumer and sharer' + - '' + - '**Remember:**' + - _'The inability to distinguish fact from fiction is the defining challenge of our age.'_ + - '' + - You now have the tools to meet this challenge. + - '' + - '**Your media literacy checklist:**' + - '- Check the source' + - '- Verify with multiple sources' + - '- Watch for emotional manipulation' + - '- Fact-check before sharing' + - '- Consume diverse perspectives' + - '- Stay curious and humble' + question: How will you apply media literacy in your daily life? What's one specific habit you want to develop to be a more critical information consumer? + tokens_for_ai: 'This is a reflection question about applying media literacy skills. + + + Categorize as: + + - specific_commitment: Identifies a concrete practice they''ll adopt + + - thoughtful_reflection: Meaningful reflection on importance of media literacy + + - basic_reflection: Brief but genuine + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Provide encouraging, personalized feedback. Emphasize that media literacy is a lifelong + + practice, not a destination. Acknowledge the challenges of the information age and praise + + their commitment to critical thinking. Remind them that every time they verify before + + sharing, they help combat misinformation. + + ' + buckets: + - specific_commitment + - thoughtful_reflection + - basic_reflection + - limited_effort + - off_topic + transitions: + specific_commitment: + ai_feedback: + tokens_for_ai: Excellent commitment! Support their specific practice and emphasize how individual critical thinking contributes to a healthier information ecosystem. + metadata_add: + activity_completed: 'true' + thoughtful_reflection: + ai_feedback: + tokens_for_ai: Thoughtful reflection! Encourage them to make verification a habit and to help others develop media literacy too. + metadata_add: + activity_completed: 'true' + basic_reflection: + ai_feedback: + tokens_for_ai: Thank them for engaging with media literacy. Emphasize the importance of these skills in the digital age. + metadata_add: + activity_completed: 'true' + limited_effort: + ai_feedback: + tokens_for_ai: Acknowledge their completion and encourage them to practice verification before sharing information. + metadata_add: + activity_completed: 'true' + off_topic: + content_blocks: + - Let's reflect on your learning. How will you apply media literacy skills going forward? + next_section_and_step: conclusion:step_1 diff --git a/research/activity35-american-history.yaml b/research/activity35-american-history.yaml index 610254a..9e2344b 100644 --- a/research/activity35-american-history.yaml +++ b/research/activity35-american-history.yaml @@ -1,713 +1,820 @@ default_max_attempts_per_step: 3 +tokens_for_ai_rubric: 'Evaluate the student''s understanding of American history and historical thinking. -tokens_for_ai_rubric: | - Evaluate the student's understanding of American history and historical thinking. Consider: + - Their grasp of historical cause and effect + - Ability to analyze primary sources + - Understanding of multiple perspectives + - Critical thinking about historical events + - Connection of past events to present issues + Provide encouraging feedback and suggest areas for deeper historical exploration. + ' sections: - - section_id: "introduction" - title: "Welcome to American History" - steps: - - step_id: "welcome" - title: "Welcome, Historian" +- section_id: introduction + title: Welcome to American History + steps: + - step_id: welcome + title: Welcome, Historian + content_blocks: + - '# American History: A Critical Journey 🇺🇸' + - Welcome to an exploration of American history that goes beyond dates and names. + - '' + - '**In this journey, you''ll:**' + - '- Analyze primary sources from different historical periods' + - '- Examine cause and effect in historical events' + - '- Consider multiple perspectives and viewpoints' + - '- Think critically about America''s founding principles and their evolution' + - '- Connect historical events to contemporary issues' + - '' + - '**This is advanced history:**' + - You'll be challenged to think like a historian - questioning sources, understanding context, and forming evidence-based conclusions. + - '' + - Ready to dive deep into American history? + question: Are you ready to explore American history through critical thinking and primary sources? + tokens_for_ai: 'Student expressing readiness. + + + Categorize as: + + - ready: Positive, ready to begin + + - set_language: Setting language preference + + - off_topic: Unrelated + + ' + buckets: + - ready + - set_language + - off_topic + transitions: + ready: content_blocks: - - "# American History: A Critical Journey 🇺🇸" - - "Welcome to an exploration of American history that goes beyond dates and names." - - "" - - "**In this journey, you'll:**" - - "- Analyze primary sources from different historical periods" - - "- Examine cause and effect in historical events" - - "- Consider multiple perspectives and viewpoints" - - "- Think critically about America's founding principles and their evolution" - - "- Connect historical events to contemporary issues" - - "" - - "**This is advanced history:**" - - "You'll be challenged to think like a historian - questioning sources, understanding context, and forming evidence-based conclusions." - - "" - - "Ready to dive deep into American history?" - question: "Are you ready to explore American history through critical thinking and primary sources?" - tokens_for_ai: | - Student expressing readiness. - - Categorize as: - - ready: Positive, ready to begin - - set_language: Setting language preference - - off_topic: Unrelated - buckets: - - ready - - set_language - - off_topic - transitions: - ready: - content_blocks: - - "Excellent! Let's begin with the foundations of American democracy." - metadata_add: - period: "colonial" - next_section_and_step: "founding_principles:step_1" - set_language: - content_blocks: - - "I'll communicate in your preferred language." - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - off_topic: - content_blocks: - - "Let's begin our historical journey. Are you ready to explore American history?" - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - - - section_id: "founding_principles" - title: "Founding Principles and the Constitution" - steps: - - step_id: "step_1" - title: "The Social Contract" + - Excellent! Let's begin with the foundations of American democracy. + metadata_add: + period: colonial + next_section_and_step: founding_principles:step_1 + set_language: content_blocks: - - "## Philosophical Foundations 📜" - - "The American founders were heavily influenced by Enlightenment philosophy, particularly John Locke's ideas about natural rights and the social contract." - - "" - - "**Key Enlightenment Ideas:**" - - "- **Natural Rights:** Locke argued that people have inherent rights to life, liberty, and property" - - "- **Social Contract:** Government's authority comes from the consent of the governed" - - "- **Right to Revolution:** If government violates natural rights, people can overthrow it" - - "" - - "**From the Declaration of Independence (1776):**" - - "_'We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.'_" - - "" - - "**Critical Question:**" - - "The Declaration states 'all men are created equal' - yet slavery existed, women couldn't vote, and Native Americans were displaced." - question: "How do you reconcile the contradiction between the Declaration's ideals of equality and the reality of 1776 America? What does this tell us about the founding period?" - tokens_for_ai: | - This is a sophisticated question about contradiction between ideals and reality. Look for: - - Recognition of the contradiction/hypocrisy - - Understanding of historical context (norms of the time) - - Nuanced thinking (ideals as aspirational vs. complete hypocrisy) - - Consideration of whose perspectives were included/excluded - - Categorize as: - - sophisticated_analysis: Nuanced understanding of contradiction, historical context, and evolution of ideals - - recognizes_hypocrisy: Sees the contradiction clearly but may not fully analyze it - - contextualizes: Focuses on historical context ("people thought differently then") - - partial_understanding: General thoughts but incomplete analysis - - limited_effort: Very brief - - asking_clarifying_questions: Needs more information - - off_topic: Unrelated - feedback_tokens_for_ai: | - Engage with their analysis thoughtfully. If they note the hypocrisy, affirm that recognition - and discuss how the ideals in the Declaration became tools for excluded groups (abolitionists, - suffragists, civil rights activists) to demand rights. If they only contextualize, acknowledge - historical context while noting that the contradiction was recognized even then by some. - buckets: - - sophisticated_analysis - - recognizes_hypocrisy - - contextualizes - - partial_understanding - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - sophisticated_analysis: - ai_feedback: - tokens_for_ai: "Excellent historical thinking! Discuss how the Declaration's ideals became 'promissory notes' that future movements would claim. Mention Frederick Douglass's 1852 speech." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "founding_principles:step_2" - recognizes_hypocrisy: - ai_feedback: - tokens_for_ai: "Good recognition of the contradiction! Expand on how these ideals, though not practiced, created a framework that excluded groups later used to demand inclusion." - metadata_add: - score: "n+2" - critical_thinking: "n+1" - next_section_and_step: "founding_principles:step_2" - contextualizes: - ai_feedback: - tokens_for_ai: "Historical context is important! Also note that even in the 1770s, some people (like Abigail Adams, some Quakers) pointed out these contradictions. The ideals were radical even if not fully practiced." - metadata_add: - score: "n+1" - next_section_and_step: "founding_principles:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're thinking about this! Consider: the founders wrote about equality while owning slaves. How might excluded groups have used these written ideals to fight for their own rights later?" - next_section_and_step: "founding_principles:step_1" - limited_effort: - content_blocks: - - "This is a complex question requiring deep thought. Consider: What did 'all men are created equal' mean in practice in 1776? Who was excluded?" - next_section_and_step: "founding_principles:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about the Declaration, slavery, or founding era contradictions." - counts_as_attempt: false - next_section_and_step: "founding_principles:step_1" - off_topic: - content_blocks: - - "Let's focus on the founding principles. How do you understand the contradiction between stated ideals and reality?" - next_section_and_step: "founding_principles:step_1" - - - step_id: "step_2" - title: "Federalism and Separation of Powers" + - I'll communicate in your preferred language. + counts_as_attempt: false + next_section_and_step: introduction:welcome + off_topic: content_blocks: - - "## The Constitutional Convention (1787)" - - "The founders faced a challenge: create a government strong enough to function, but not so strong it becomes tyrannical." - - "" - - "**Their solutions:**" - - "" - - "**1. Federalism** - Power divided between national and state governments" - - "**2. Separation of Powers** - Legislative, Executive, Judicial branches" - - "**3. Checks and Balances** - Each branch can limit the others" - - "" - - "**Madison's Federalist #51 (1788):**" - - "_'If men were angels, no government would be necessary. If angels were to govern men, neither external nor internal controls on government would be necessary.'_" - - "" - - "**The founders' key insight:**" - - "Don't rely on having virtuous leaders - design a system where ambition counteracts ambition." - - "" - - "**Examples of Checks and Balances:**" - - "- President can veto laws (Executive checks Legislative)" - - "- Congress can override veto with 2/3 vote (Legislative checks Executive)" - - "- Supreme Court can declare laws unconstitutional (Judicial checks both)" - - "- Senate confirms judges (Legislative checks Judicial)" - question: "Why did the founders distrust concentrated power so much? What historical experiences shaped this distrust, and do you think these checks and balances are still necessary today?" - tokens_for_ai: | - Looking for understanding of: - - Historical context (British monarchy, tyranny) - - Human nature assumptions (power corrupts) - - Contemporary relevance + - Let's begin our historical journey. Are you ready to explore American history? + counts_as_attempt: false + next_section_and_step: introduction:welcome +- section_id: founding_principles + title: Founding Principles and the Constitution + steps: + - step_id: step_1 + title: The Social Contract + content_blocks: + - '## Philosophical Foundations 📜' + - The American founders were heavily influenced by Enlightenment philosophy, particularly John Locke's ideas about natural rights and the social contract. + - '' + - '**Key Enlightenment Ideas:**' + - '- **Natural Rights:** Locke argued that people have inherent rights to life, liberty, and property' + - '- **Social Contract:** Government''s authority comes from the consent of the governed' + - '- **Right to Revolution:** If government violates natural rights, people can overthrow it' + - '' + - '**From the Declaration of Independence (1776):**' + - _'We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.'_ + - '' + - '**Critical Question:**' + - The Declaration states 'all men are created equal' - yet slavery existed, women couldn't vote, and Native Americans were displaced. + question: How do you reconcile the contradiction between the Declaration's ideals of equality and the reality of 1776 America? What does this tell us about the founding period? + tokens_for_ai: 'This is a sophisticated question about contradiction between ideals and reality. Look for: - Categorize as: - - excellent_analysis: Connects historical experience, theory, and contemporary relevance - - historical_understanding: Good grasp of why founders feared concentrated power - - contemporary_focus: Emphasizes modern relevance - - partial_understanding: General thoughts but incomplete - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - Engage their thinking. The founders' experience with King George III and colonial governors - shaped their views. If they discuss contemporary relevance, acknowledge different perspectives - on whether checks and balances are working as intended today. - buckets: - - excellent_analysis - - historical_understanding - - contemporary_focus - - partial_understanding - - limited_effort - - off_topic - transitions: - excellent_analysis: - ai_feedback: - tokens_for_ai: "Sophisticated thinking! You've connected historical experience to institutional design and contemporary relevance. Discuss ongoing debates about executive power, judicial review, etc." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "civil_war:step_1" - historical_understanding: - ai_feedback: - tokens_for_ai: "Good historical understanding! The founders' experience with King George III profoundly shaped their distrust of concentrated power. Discuss how this plays out in contemporary politics." - metadata_add: - score: "n+2" - next_section_and_step: "civil_war:step_1" - contemporary_focus: - ai_feedback: - tokens_for_ai: "Interesting contemporary perspective! Connect this to the historical context: the founders had just fought a war against what they saw as tyrannical power." - metadata_add: - score: "n+2" - next_section_and_step: "civil_war:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're thinking about this! Consider: the founders had just fought a war against King George III. How might that experience have shaped their views on power?" - metadata_add: - score: "n+1" - next_section_and_step: "civil_war:step_1" - limited_effort: - content_blocks: - - "Think about what the founders had just experienced - war against British monarchy. How might that shape their views on concentrated power?" - next_section_and_step: "founding_principles:step_2" - off_topic: - content_blocks: - - "Let's focus on the founders' distrust of concentrated power. What historical experiences shaped this?" - next_section_and_step: "founding_principles:step_2" + - Recognition of the contradiction/hypocrisy - - section_id: "civil_war" - title: "The Civil War and Reconstruction" - steps: - - step_id: "step_1" - title: "Causes of the Civil War" + - Understanding of historical context (norms of the time) + + - Nuanced thinking (ideals as aspirational vs. complete hypocrisy) + + - Consideration of whose perspectives were included/excluded + + + Categorize as: + + - sophisticated_analysis: Nuanced understanding of contradiction, historical context, and evolution of ideals + + - recognizes_hypocrisy: Sees the contradiction clearly but may not fully analyze it + + - contextualizes: Focuses on historical context ("people thought differently then") + + - partial_understanding: General thoughts but incomplete analysis + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs more information + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Engage with their analysis thoughtfully. If they note the hypocrisy, affirm that recognition + + and discuss how the ideals in the Declaration became tools for excluded groups (abolitionists, + + suffragists, civil rights activists) to demand rights. If they only contextualize, acknowledge + + historical context while noting that the contradiction was recognized even then by some. + + ' + buckets: + - sophisticated_analysis + - recognizes_hypocrisy + - contextualizes + - partial_understanding + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + sophisticated_analysis: + ai_feedback: + tokens_for_ai: Excellent historical thinking! Discuss how the Declaration's ideals became 'promissory notes' that future movements would claim. Mention Frederick Douglass's 1852 speech. + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: founding_principles:step_2 + recognizes_hypocrisy: + ai_feedback: + tokens_for_ai: Good recognition of the contradiction! Expand on how these ideals, though not practiced, created a framework that excluded groups later used to demand inclusion. + metadata_add: + score: n+2 + critical_thinking: n+1 + next_section_and_step: founding_principles:step_2 + contextualizes: + ai_feedback: + tokens_for_ai: Historical context is important! Also note that even in the 1770s, some people (like Abigail Adams, some Quakers) pointed out these contradictions. The ideals were radical even if not fully practiced. + metadata_add: + score: n+1 + next_section_and_step: founding_principles:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: 'You''re thinking about this! Consider: the founders wrote about equality while owning slaves. How might excluded groups have used these written ideals to fight for their own rights later?' + next_section_and_step: founding_principles:step_1 + limited_effort: content_blocks: - - "## The Road to Civil War ⚔️" - - "The Civil War (1861-1865) was the deadliest conflict in American history - over 600,000 deaths." - - "" - - "**Was it about slavery or states' rights?**" - - "This debate continues, but let's look at primary sources." - - "" - - "**Mississippi's Declaration of Secession (1861):**" - - "_'Our position is thoroughly identified with the institution of slavery - the greatest material interest of the world.'_" - - "" - - "**Confederate VP Alexander Stephens (1861):**" - - "_'Our new government's foundations are laid, its cornerstone rests, upon the great truth that the negro is not equal to the white man; that slavery... is his natural and normal condition.'_" - - "" - - "**Economic Context:**" - - "- By 1860, enslaved people represented $3.5 billion in property value (more than all factories and railroads combined)" - - "- Cotton accounted for 60% of US exports" - - "- Southern economy was built on slave labor" - - "" - - "**Political Context:**" - - "- Lincoln's election (1860) without a single Southern electoral vote" - - "- Fear that federal government would restrict slavery's expansion" - question: "Based on these primary sources, what was the central cause of the Civil War? Why do you think some people today emphasize 'states' rights' rather than slavery as the cause?" - tokens_for_ai: | - Looking for: - - Recognition that slavery was the central cause (based on primary sources) - - Understanding of why revisionist narratives emerged - - Critical thinking about how history is remembered - - Categorize as: - - evidence_based_conclusion: Uses primary sources to conclude slavery was central cause - - analyzes_revisionism: Understands why alternative narratives emerged - - sophisticated_both: Addresses both the historical reality and its contested memory - - partial_understanding: General thoughts but incomplete - - states_rights_focus: Emphasizes states' rights over slavery - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - If they correctly identify slavery as the central cause, affirm this and discuss Lost Cause - mythology that emerged after Reconstruction. If they emphasize states' rights, gently redirect - to the primary sources: Confederate states explicitly cited slavery as the reason for secession. - buckets: - - evidence_based_conclusion - - analyzes_revisionism - - sophisticated_both - - partial_understanding - - states_rights_focus - - limited_effort - - off_topic - transitions: - evidence_based_conclusion: - ai_feedback: - tokens_for_ai: "Excellent use of primary sources! The Confederate states' own words make clear that slavery was the central issue. Discuss how the 'Lost Cause' mythology later rewrote this history." - metadata_add: - score: "n+3" - primary_source_analysis: "n+1" - next_section_and_step: "civil_war:step_2" - analyzes_revisionism: - ai_feedback: - tokens_for_ai: "Good analysis of historical memory! After Reconstruction, the 'Lost Cause' narrative emerged to justify the Confederacy and maintain white supremacy. Explain this further." - metadata_add: - score: "n+2" - critical_thinking: "n+1" - next_section_and_step: "civil_war:step_2" - sophisticated_both: - ai_feedback: - tokens_for_ai: "Sophisticated historical thinking! You're understanding both what happened and how it's been remembered. This is advanced historical analysis." - metadata_add: - score: "n+3" - primary_source_analysis: "n+1" - critical_thinking: "n+1" - next_section_and_step: "civil_war:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're thinking about this. Look at the primary sources - what did Mississippi and Confederate VP Stephens say was the reason for secession?" - next_section_and_step: "civil_war:step_1" - states_rights_focus: - ai_feedback: - tokens_for_ai: "The 'states' rights' argument is common, but examine the primary sources: Mississippi's declaration and Stephens' speech explicitly state slavery was the central issue. States' rights to do what, specifically?" - next_section_and_step: "civil_war:step_1" - limited_effort: - content_blocks: - - "Read the primary sources carefully - Mississippi's declaration and Confederate VP Stephens' speech. What do they say was the reason for secession?" - next_section_and_step: "civil_war:step_1" - off_topic: - content_blocks: - - "Let's analyze the primary sources from Confederate leaders. What do they say caused the war?" - next_section_and_step: "civil_war:step_1" - - - step_id: "step_2" - title: "Reconstruction and Its Failure" + - 'This is a complex question requiring deep thought. Consider: What did ''all men are created equal'' mean in practice in 1776? Who was excluded?' + next_section_and_step: founding_principles:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about the Declaration, slavery, or founding era contradictions. + counts_as_attempt: false + next_section_and_step: founding_principles:step_1 + off_topic: content_blocks: - - "## Reconstruction (1865-1877)" - - "After the Civil War, the nation faced the question: How do you integrate 4 million formerly enslaved people into American society?" - - "" - - "**Constitutional Amendments:**" - - "- **13th (1865):** Abolished slavery" - - "- **14th (1868):** Citizenship and equal protection under law" - - "- **15th (1870):** Voting rights regardless of race" - - "" - - "**Achievements of Reconstruction:**" - - "- Black men gained voting rights and political power" - - "- First Black Congressmen and Senators elected" - - "- Public schools established in the South (for both Black and white children)" - - "- Economic opportunities began to emerge" - - "" - - "**The Backlash:**" - - "- White terrorist groups (KKK) used violence to suppress Black voting" - - "- Compromise of 1877: Federal troops withdrawn from South" - - "- Jim Crow laws established racial segregation" - - "- Black voting rights systematically stripped through poll taxes, literacy tests, grandfather clauses" - - "" - - "**Historian Eric Foner:**" - - "_'Reconstruction was America's unfinished revolution.'_" - question: "Why did Reconstruction fail? What would have been needed for it to succeed in achieving true equality for formerly enslaved people?" - tokens_for_ai: | - Looking for understanding of: - - Political will (North lost interest) - - White supremacist violence - - Economic factors (land redistribution never happened) - - Federal enforcement needed but withdrawn + - Let's focus on the founding principles. How do you understand the contradiction between stated ideals and reality? + next_section_and_step: founding_principles:step_1 + - step_id: step_2 + title: Federalism and Separation of Powers + content_blocks: + - '## The Constitutional Convention (1787)' + - 'The founders faced a challenge: create a government strong enough to function, but not so strong it becomes tyrannical.' + - '' + - '**Their solutions:**' + - '' + - '**1. Federalism** - Power divided between national and state governments' + - '**2. Separation of Powers** - Legislative, Executive, Judicial branches' + - '**3. Checks and Balances** - Each branch can limit the others' + - '' + - '**Madison''s Federalist #51 (1788):**' + - _'If men were angels, no government would be necessary. If angels were to govern men, neither external nor internal controls on government would be necessary.'_ + - '' + - '**The founders'' key insight:**' + - Don't rely on having virtuous leaders - design a system where ambition counteracts ambition. + - '' + - '**Examples of Checks and Balances:**' + - '- President can veto laws (Executive checks Legislative)' + - '- Congress can override veto with 2/3 vote (Legislative checks Executive)' + - '- Supreme Court can declare laws unconstitutional (Judicial checks both)' + - '- Senate confirms judges (Legislative checks Judicial)' + question: Why did the founders distrust concentrated power so much? What historical experiences shaped this distrust, and do you think these checks and balances are still necessary today? + tokens_for_ai: 'Looking for understanding of: - Categorize as: - - multi_factor_analysis: Identifies multiple reasons for failure - - political_will: Focuses on loss of Northern commitment - - violence_focus: Emphasizes white supremacist terrorism - - economic_analysis: Notes lack of land redistribution/"40 acres and a mule" - - thoughtful_counterfactual: Proposes what could have made it succeed - - partial_understanding: General thoughts - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - Engage their analysis. Multiple factors contributed: Northern fatigue, white supremacist - violence, economic exploitation, political compromise. If they propose counterfactuals, - discuss land redistribution, sustained federal protection, economic investment. - buckets: - - multi_factor_analysis - - political_will - - violence_focus - - economic_analysis - - thoughtful_counterfactual - - partial_understanding - - limited_effort - - off_topic - transitions: - multi_factor_analysis: - ai_feedback: - tokens_for_ai: "Excellent multi-factor analysis! Reconstruction failed due to loss of political will, white supremacist violence, economic exploitation, and the Compromise of 1877. Discuss long-term consequences." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "civil_rights:step_1" - political_will: - ai_feedback: - tokens_for_ai: "Important factor! The North did lose interest after the Compromise of 1877. Also consider white supremacist violence and economic factors." - metadata_add: - score: "n+2" - next_section_and_step: "civil_rights:step_1" - violence_focus: - ai_feedback: - tokens_for_ai: "Crucial point! White terrorism (KKK, etc.) was systematically used to suppress Black political power. The federal government eventually stopped protecting Black citizens." - metadata_add: - score: "n+2" - next_section_and_step: "civil_rights:step_1" - economic_analysis: - ai_feedback: - tokens_for_ai: "Key economic insight! Without land redistribution ('40 acres and a mule'), formerly enslaved people remained economically dependent on white landowners through sharecropping." - metadata_add: - score: "n+2" - next_section_and_step: "civil_rights:step_1" - thoughtful_counterfactual: - ai_feedback: - tokens_for_ai: "Interesting counterfactual thinking! Evaluate their proposals against historical context and constraints." - metadata_add: - score: "n+2" - critical_thinking: "n+1" - next_section_and_step: "civil_rights:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're thinking about this. Consider: political will, violence, economics, and federal enforcement. What combination of factors led to failure?" - metadata_add: - score: "n+1" - next_section_and_step: "civil_rights:step_1" - limited_effort: - content_blocks: - - "Think about what Reconstruction needed: political commitment, protection from violence, economic opportunity, federal enforcement. What went wrong?" - next_section_and_step: "civil_war:step_2" - off_topic: - content_blocks: - - "Let's analyze Reconstruction's failure. What factors led to the end of Black political power after 1877?" - next_section_and_step: "civil_war:step_2" + - Historical context (British monarchy, tyranny) - - section_id: "civil_rights" - title: "Civil Rights Movement" - steps: - - step_id: "step_1" - title: "Strategies for Change" + - Human nature assumptions (power corrupts) + + - Contemporary relevance + + + Categorize as: + + - excellent_analysis: Connects historical experience, theory, and contemporary relevance + + - historical_understanding: Good grasp of why founders feared concentrated power + + - contemporary_focus: Emphasizes modern relevance + + - partial_understanding: General thoughts but incomplete + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Engage their thinking. The founders'' experience with King George III and colonial governors + + shaped their views. If they discuss contemporary relevance, acknowledge different perspectives + + on whether checks and balances are working as intended today. + + ' + buckets: + - excellent_analysis + - historical_understanding + - contemporary_focus + - partial_understanding + - limited_effort + - off_topic + transitions: + excellent_analysis: + ai_feedback: + tokens_for_ai: Sophisticated thinking! You've connected historical experience to institutional design and contemporary relevance. Discuss ongoing debates about executive power, judicial review, etc. + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: civil_war:step_1 + historical_understanding: + ai_feedback: + tokens_for_ai: Good historical understanding! The founders' experience with King George III profoundly shaped their distrust of concentrated power. Discuss how this plays out in contemporary politics. + metadata_add: + score: n+2 + next_section_and_step: civil_war:step_1 + contemporary_focus: + ai_feedback: + tokens_for_ai: 'Interesting contemporary perspective! Connect this to the historical context: the founders had just fought a war against what they saw as tyrannical power.' + metadata_add: + score: n+2 + next_section_and_step: civil_war:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: 'You''re thinking about this! Consider: the founders had just fought a war against King George III. How might that experience have shaped their views on power?' + metadata_add: + score: n+1 + next_section_and_step: civil_war:step_1 + limited_effort: content_blocks: - - "## The Civil Rights Movement (1950s-1960s) ✊" - - "Nearly 100 years after the Civil War, Jim Crow segregation still dominated the South." - - "" - - "**Different Strategic Approaches:**" - - "" - - "**Legal Strategy (NAACP, Thurgood Marshall):**" - - "- Use courts to overturn segregation laws" - - "- *Brown v. Board of Education* (1954): Declared school segregation unconstitutional" - - "- Gradualist approach working within the system" - - "" - - "**Nonviolent Direct Action (MLK, SCLC):**" - - "- Boycotts, sit-ins, marches to create crisis that forces negotiation" - - "- Montgomery Bus Boycott (1955-56), March on Washington (1963)" - - "- Moral appeal to conscience of nation" - - "" - - "**Black Power/Self-Defense (Malcolm X, Black Panthers):**" - - "- Critique of integration as goal; emphasis on Black empowerment" - - "- Self-defense against violence (vs. absolute nonviolence)" - - "- Economic self-sufficiency and cultural pride" - - "" - - "**MLK's Letter from Birmingham Jail (1963):**" - - "_'Injustice anywhere is a threat to justice everywhere. We are caught in an inescapable network of mutuality, tied in a single garment of destiny.'_" - - "" - - "**Malcolm X (1964):**" - - "_'We declare our right on this earth to be a man, to be a human being, to be respected as a human being, to be given the rights of a human being in this society.'_" - question: "Why were there different strategic approaches in the Civil Rights Movement? Were all of these approaches necessary, or was one more effective than others? Explain your reasoning." - tokens_for_ai: | - Looking for: - - Understanding of different strategic visions - - Recognition that strategies complemented each other - - Sophisticated thinking about social movements - - Awareness that movements aren't monolithic - - Categorize as: - - sophisticated_analysis: Understands how different strategies played different roles - - complementary_view: Sees strategies as working together - - single_strategy_preference: Argues one was most effective - - comparative_analysis: Thoughtfully compares approaches - - partial_understanding: General thoughts - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - Engage their analysis thoughtfully. Historical consensus is that multiple strategies created - pressure from different angles: legal victories removed legal barriers, direct action created - urgency, Black Power empowered communities and pushed moderates to negotiate. If they prefer - one strategy, discuss how it interacted with others. - buckets: - - sophisticated_analysis - - complementary_view - - single_strategy_preference - - comparative_analysis - - partial_understanding - - limited_effort - - off_topic - transitions: - sophisticated_analysis: - ai_feedback: - tokens_for_ai: "Excellent historical thinking! You understand that social movements use multiple strategies simultaneously. The 'radical flank effect' made moderates seem more reasonable to white Americans." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "civil_rights:step_2" - complementary_view: - ai_feedback: - tokens_for_ai: "Good insight! The different strategies created pressure from multiple angles and appealed to different constituencies. Discuss the 'radical flank effect.'" - metadata_add: - score: "n+2" - next_section_and_step: "civil_rights:step_2" - single_strategy_preference: - ai_feedback: - tokens_for_ai: "You make a case for one strategy. Also consider how the strategies interacted: legal victories needed enforcement, which required political pressure from protests." - metadata_add: - score: "n+2" - next_section_and_step: "civil_rights:step_2" - comparative_analysis: - ai_feedback: - tokens_for_ai: "Good comparative thinking! Expand on how the strategies might have complemented each other or created tension." - metadata_add: - score: "n+2" - critical_thinking: "n+1" - next_section_and_step: "civil_rights:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "Think about how different strategies might work together. Could 'radical' demands make 'moderate' demands seem more acceptable?" - metadata_add: - score: "n+1" - next_section_and_step: "civil_rights:step_1" - limited_effort: - content_blocks: - - "Consider: Why might a movement need both people working within the system (courts) and outside it (protests)? How might they complement each other?" - next_section_and_step: "civil_rights:step_1" - off_topic: - content_blocks: - - "Let's analyze the different Civil Rights strategies. How did legal, nonviolent direct action, and Black Power approaches differ?" - next_section_and_step: "civil_rights:step_1" - - - step_id: "step_2" - title: "Unfinished Business" + - Think about what the founders had just experienced - war against British monarchy. How might that shape their views on concentrated power? + next_section_and_step: founding_principles:step_2 + off_topic: content_blocks: - - "## The Civil Rights Movement's Legacy" - - "The Civil Rights Movement achieved major legal victories:" - - "- Civil Rights Act (1964): Outlawed discrimination" - - "- Voting Rights Act (1965): Prohibited racial discrimination in voting" - - "- Fair Housing Act (1968): Prohibited discrimination in housing" - - "" - - "**But many goals remained unachieved:**" - - "" - - "**Economic Justice:**" - - "MLK's focus in final years was on poverty - the Poor People's Campaign" - - "Wealth gap: In 1963, median Black family had 5% of white family wealth. In 2016: 10%" - - "" - - "**Systemic Issues:**" - - "- School resegregation (integration peaked in 1988, has declined since)" - - "- Mass incarceration (5x incarceration rate for Black vs white Americans)" - - "- Voting rights: Shelby County v. Holder (2013) weakened Voting Rights Act" - - "" - - "**MLK's Final Speech (1968, night before assassination):**" - - "_'I've been to the mountaintop... I've seen the Promised Land. I may not get there with you. But I want you to know tonight, that we, as a people, will get to the Promised Land.'_" - question: "The Civil Rights Movement won major legal battles but many economic and systemic issues persist. Why do legal victories not automatically solve social problems? What more is needed beyond changing laws?" - tokens_for_ai: | - Looking for understanding that: - - Laws vs. implementation/enforcement - - Formal equality vs. substantive equality - - Systemic/structural issues - - Cultural change, economic redistribution, enforcement + - Let's focus on the founders' distrust of concentrated power. What historical experiences shaped this? + next_section_and_step: founding_principles:step_2 +- section_id: civil_war + title: The Civil War and Reconstruction + steps: + - step_id: step_1 + title: Causes of the Civil War + content_blocks: + - '## The Road to Civil War ⚔️' + - The Civil War (1861-1865) was the deadliest conflict in American history - over 600,000 deaths. + - '' + - '**Was it about slavery or states'' rights?**' + - This debate continues, but let's look at primary sources. + - '' + - '**Mississippi''s Declaration of Secession (1861):**' + - _'Our position is thoroughly identified with the institution of slavery - the greatest material interest of the world.'_ + - '' + - '**Confederate VP Alexander Stephens (1861):**' + - _'Our new government's foundations are laid, its cornerstone rests, upon the great truth that the negro is not equal to the white man; that slavery... is his natural and normal condition.'_ + - '' + - '**Economic Context:**' + - '- By 1860, enslaved people represented $3.5 billion in property value (more than all factories and railroads combined)' + - '- Cotton accounted for 60% of US exports' + - '- Southern economy was built on slave labor' + - '' + - '**Political Context:**' + - '- Lincoln''s election (1860) without a single Southern electoral vote' + - '- Fear that federal government would restrict slavery''s expansion' + question: Based on these primary sources, what was the central cause of the Civil War? Why do you think some people today emphasize 'states' rights' rather than slavery as the cause? + tokens_for_ai: 'Looking for: - Categorize as: - - systemic_understanding: Grasps difference between formal and substantive equality - - implementation_focus: Emphasizes gap between law and enforcement - - cultural_change: Notes need for changing hearts and minds - - economic_analysis: Focuses on material/economic dimensions - - sophisticated_multi_factor: Identifies multiple dimensions of change needed - - partial_understanding: General thoughts - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - Engage their thinking about social change. Legal change is necessary but not sufficient. - Systemic change requires enforcement, cultural shift, economic redistribution, and - addressing structural inequalities. If they give sophisticated analysis, affirm it. - buckets: - - systemic_understanding - - implementation_focus - - cultural_change - - economic_analysis - - sophisticated_multi_factor - - partial_understanding - - limited_effort - - off_topic - transitions: - systemic_understanding: - ai_feedback: - tokens_for_ai: "Excellent grasp of the difference between formal and substantive equality! Laws change what's legal, but systemic change requires transforming institutions, culture, and economic structures." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "conclusion:step_1" - implementation_focus: - ai_feedback: - tokens_for_ai: "Important point! There's often a gap between laws on the books and their enforcement. Discuss how enforcement requires political will and resources." - metadata_add: - score: "n+2" - next_section_and_step: "conclusion:step_1" - cultural_change: - ai_feedback: - tokens_for_ai: "Good insight about cultural change! Laws can change behavior, but cultural attitudes also need to shift. This is a slow, complex process." - metadata_add: - score: "n+2" - next_section_and_step: "conclusion:step_1" - economic_analysis: - ai_feedback: - tokens_for_ai: "Strong economic analysis! Legal equality doesn't address wealth gaps, employment discrimination, or economic structures. MLK increasingly focused on economic justice in his final years." - metadata_add: - score: "n+2" - next_section_and_step: "conclusion:step_1" - sophisticated_multi_factor: - ai_feedback: - tokens_for_ai: "Outstanding multi-dimensional analysis! You understand that social change requires legal, cultural, economic, and institutional transformation. This is advanced historical thinking." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "conclusion:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're thinking about this. Consider: if a law is passed but not enforced, or if economic structures remain unchanged, what's the impact?" - metadata_add: - score: "n+1" - next_section_and_step: "conclusion:step_1" - limited_effort: - content_blocks: - - "Think about the difference between laws changing and society changing. What else needs to happen beyond passing legislation?" - next_section_and_step: "civil_rights:step_2" - off_topic: - content_blocks: - - "Let's think about why legal victories aren't enough. What more is needed for real social change?" - next_section_and_step: "civil_rights:step_2" + - Recognition that slavery was the central cause (based on primary sources) - - section_id: "conclusion" - title: "Historical Thinking and Contemporary Connections" - steps: - - step_id: "step_1" - title: "Thinking Like a Historian" + - Understanding of why revisionist narratives emerged + + - Critical thinking about how history is remembered + + + Categorize as: + + - evidence_based_conclusion: Uses primary sources to conclude slavery was central cause + + - analyzes_revisionism: Understands why alternative narratives emerged + + - sophisticated_both: Addresses both the historical reality and its contested memory + + - partial_understanding: General thoughts but incomplete + + - states_rights_focus: Emphasizes states'' rights over slavery + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'If they correctly identify slavery as the central cause, affirm this and discuss Lost Cause + + mythology that emerged after Reconstruction. If they emphasize states'' rights, gently redirect + + to the primary sources: Confederate states explicitly cited slavery as the reason for secession. + + ' + buckets: + - evidence_based_conclusion + - analyzes_revisionism + - sophisticated_both + - partial_understanding + - states_rights_focus + - limited_effort + - off_topic + transitions: + evidence_based_conclusion: + ai_feedback: + tokens_for_ai: Excellent use of primary sources! The Confederate states' own words make clear that slavery was the central issue. Discuss how the 'Lost Cause' mythology later rewrote this history. + metadata_add: + score: n+3 + primary_source_analysis: n+1 + next_section_and_step: civil_war:step_2 + analyzes_revisionism: + ai_feedback: + tokens_for_ai: Good analysis of historical memory! After Reconstruction, the 'Lost Cause' narrative emerged to justify the Confederacy and maintain white supremacy. Explain this further. + metadata_add: + score: n+2 + critical_thinking: n+1 + next_section_and_step: civil_war:step_2 + sophisticated_both: + ai_feedback: + tokens_for_ai: Sophisticated historical thinking! You're understanding both what happened and how it's been remembered. This is advanced historical analysis. + metadata_add: + score: n+3 + primary_source_analysis: n+1 + critical_thinking: n+1 + next_section_and_step: civil_war:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: You're thinking about this. Look at the primary sources - what did Mississippi and Confederate VP Stephens say was the reason for secession? + next_section_and_step: civil_war:step_1 + states_rights_focus: + ai_feedback: + tokens_for_ai: 'The ''states'' rights'' argument is common, but examine the primary sources: Mississippi''s declaration and Stephens'' speech explicitly state slavery was the central issue. States'' rights to do what, specifically?' + next_section_and_step: civil_war:step_1 + limited_effort: content_blocks: - - "## Congratulations, Historian! 🎓" - - "You've engaged with American history at an advanced level." - - "" - - "**Key Historical Thinking Skills You've Practiced:**" - - "✓ **Primary Source Analysis** - Reading founding documents and speeches in context" - - "✓ **Cause and Effect** - Understanding how events lead to consequences" - - "✓ **Multiple Perspectives** - Considering different viewpoints on events" - - "✓ **Continuity and Change** - Seeing patterns and transformations over time" - - "✓ **Historical Significance** - Evaluating which events and ideas matter and why" - - "✓ **Connecting Past to Present** - Understanding how history shapes current issues" - - "" - - "**Themes Across American History:**" - - "- Tension between ideals and reality (equality vs. practice)" - - "- Struggles to expand democracy and rights" - - "- Economic factors shaping politics and society" - - "- Power of social movements to create change" - - "- Importance of institutions and their design" - - "" - - "**Why History Matters:**" - - "- Understand how we got here" - - "- Learn from past successes and failures" - - "- Recognize patterns and precedents" - - "- Think critically about present claims using historical evidence" - - "- Understand that change is possible because it has happened before" - - "" - - "**'Those who cannot remember the past are condemned to repeat it.'** - George Santayana" - question: "What's one historical insight from this activity that changes how you think about a contemporary issue? How does understanding history help you think more critically about the present?" - tokens_for_ai: | - This is a reflection on applying historical thinking to contemporary issues. + - Read the primary sources carefully - Mississippi's declaration and Confederate VP Stephens' speech. What do they say was the reason for secession? + next_section_and_step: civil_war:step_1 + off_topic: + content_blocks: + - Let's analyze the primary sources from Confederate leaders. What do they say caused the war? + next_section_and_step: civil_war:step_1 + - step_id: step_2 + title: Reconstruction and Its Failure + content_blocks: + - '## Reconstruction (1865-1877)' + - 'After the Civil War, the nation faced the question: How do you integrate 4 million formerly enslaved people into American society?' + - '' + - '**Constitutional Amendments:**' + - '- **13th (1865):** Abolished slavery' + - '- **14th (1868):** Citizenship and equal protection under law' + - '- **15th (1870):** Voting rights regardless of race' + - '' + - '**Achievements of Reconstruction:**' + - '- Black men gained voting rights and political power' + - '- First Black Congressmen and Senators elected' + - '- Public schools established in the South (for both Black and white children)' + - '- Economic opportunities began to emerge' + - '' + - '**The Backlash:**' + - '- White terrorist groups (KKK) used violence to suppress Black voting' + - '- Compromise of 1877: Federal troops withdrawn from South' + - '- Jim Crow laws established racial segregation' + - '- Black voting rights systematically stripped through poll taxes, literacy tests, grandfather clauses' + - '' + - '**Historian Eric Foner:**' + - _'Reconstruction was America's unfinished revolution.'_ + question: Why did Reconstruction fail? What would have been needed for it to succeed in achieving true equality for formerly enslaved people? + tokens_for_ai: 'Looking for understanding of: - Categorize as: - - specific_connection: Makes clear connection between historical insight and contemporary issue - - thoughtful_reflection: Meaningful reflection on historical thinking - - general_reflection: Broader thoughts about history's relevance - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - Provide thoughtful, personalized feedback on their historical journey. Acknowledge specific - insights they shared throughout the activity. Encourage continued historical thinking and - exploration. Discuss how understanding history makes us better citizens. - buckets: - - specific_connection - - thoughtful_reflection - - general_reflection - - limited_effort - - off_topic - transitions: - specific_connection: - ai_feedback: - tokens_for_ai: "Excellent application of historical thinking to contemporary issues! Affirm their specific connection and discuss how historians analyze present events using historical frameworks." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - thoughtful_reflection: - ai_feedback: - tokens_for_ai: "Thoughtful reflection on historical thinking! Encourage them to continue asking historical questions about contemporary issues." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - general_reflection: - ai_feedback: - tokens_for_ai: "Thank them for engaging deeply with American history. Suggest specific historical topics or periods they might explore further based on their interests." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - limited_effort: - ai_feedback: - tokens_for_ai: "Acknowledge their completion and encourage them to think about how historical patterns might illuminate current events." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - off_topic: - content_blocks: - - "Reflect on your historical journey. What insight about the past helps you understand the present differently?" - next_section_and_step: "conclusion:step_1" + - Political will (North lost interest) + + - White supremacist violence + + - Economic factors (land redistribution never happened) + + - Federal enforcement needed but withdrawn + + + Categorize as: + + - multi_factor_analysis: Identifies multiple reasons for failure + + - political_will: Focuses on loss of Northern commitment + + - violence_focus: Emphasizes white supremacist terrorism + + - economic_analysis: Notes lack of land redistribution/"40 acres and a mule" + + - thoughtful_counterfactual: Proposes what could have made it succeed + + - partial_understanding: General thoughts + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Engage their analysis. Multiple factors contributed: Northern fatigue, white supremacist + + violence, economic exploitation, political compromise. If they propose counterfactuals, + + discuss land redistribution, sustained federal protection, economic investment. + + ' + buckets: + - multi_factor_analysis + - political_will + - violence_focus + - economic_analysis + - thoughtful_counterfactual + - partial_understanding + - limited_effort + - off_topic + transitions: + multi_factor_analysis: + ai_feedback: + tokens_for_ai: Excellent multi-factor analysis! Reconstruction failed due to loss of political will, white supremacist violence, economic exploitation, and the Compromise of 1877. Discuss long-term consequences. + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: civil_rights:step_1 + political_will: + ai_feedback: + tokens_for_ai: Important factor! The North did lose interest after the Compromise of 1877. Also consider white supremacist violence and economic factors. + metadata_add: + score: n+2 + next_section_and_step: civil_rights:step_1 + violence_focus: + ai_feedback: + tokens_for_ai: Crucial point! White terrorism (KKK, etc.) was systematically used to suppress Black political power. The federal government eventually stopped protecting Black citizens. + metadata_add: + score: n+2 + next_section_and_step: civil_rights:step_1 + economic_analysis: + ai_feedback: + tokens_for_ai: Key economic insight! Without land redistribution ('40 acres and a mule'), formerly enslaved people remained economically dependent on white landowners through sharecropping. + metadata_add: + score: n+2 + next_section_and_step: civil_rights:step_1 + thoughtful_counterfactual: + ai_feedback: + tokens_for_ai: Interesting counterfactual thinking! Evaluate their proposals against historical context and constraints. + metadata_add: + score: n+2 + critical_thinking: n+1 + next_section_and_step: civil_rights:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: 'You''re thinking about this. Consider: political will, violence, economics, and federal enforcement. What combination of factors led to failure?' + metadata_add: + score: n+1 + next_section_and_step: civil_rights:step_1 + limited_effort: + content_blocks: + - 'Think about what Reconstruction needed: political commitment, protection from violence, economic opportunity, federal enforcement. What went wrong?' + next_section_and_step: civil_war:step_2 + off_topic: + content_blocks: + - Let's analyze Reconstruction's failure. What factors led to the end of Black political power after 1877? + next_section_and_step: civil_war:step_2 +- section_id: civil_rights + title: Civil Rights Movement + steps: + - step_id: step_1 + title: Strategies for Change + content_blocks: + - '## The Civil Rights Movement (1950s-1960s) ✊' + - Nearly 100 years after the Civil War, Jim Crow segregation still dominated the South. + - '' + - '**Different Strategic Approaches:**' + - '' + - '**Legal Strategy (NAACP, Thurgood Marshall):**' + - '- Use courts to overturn segregation laws' + - '- *Brown v. Board of Education* (1954): Declared school segregation unconstitutional' + - '- Gradualist approach working within the system' + - '' + - '**Nonviolent Direct Action (MLK, SCLC):**' + - '- Boycotts, sit-ins, marches to create crisis that forces negotiation' + - '- Montgomery Bus Boycott (1955-56), March on Washington (1963)' + - '- Moral appeal to conscience of nation' + - '' + - '**Black Power/Self-Defense (Malcolm X, Black Panthers):**' + - '- Critique of integration as goal; emphasis on Black empowerment' + - '- Self-defense against violence (vs. absolute nonviolence)' + - '- Economic self-sufficiency and cultural pride' + - '' + - '**MLK''s Letter from Birmingham Jail (1963):**' + - _'Injustice anywhere is a threat to justice everywhere. We are caught in an inescapable network of mutuality, tied in a single garment of destiny.'_ + - '' + - '**Malcolm X (1964):**' + - _'We declare our right on this earth to be a man, to be a human being, to be respected as a human being, to be given the rights of a human being in this society.'_ + question: Why were there different strategic approaches in the Civil Rights Movement? Were all of these approaches necessary, or was one more effective than others? Explain your reasoning. + tokens_for_ai: 'Looking for: + + - Understanding of different strategic visions + + - Recognition that strategies complemented each other + + - Sophisticated thinking about social movements + + - Awareness that movements aren''t monolithic + + + Categorize as: + + - sophisticated_analysis: Understands how different strategies played different roles + + - complementary_view: Sees strategies as working together + + - single_strategy_preference: Argues one was most effective + + - comparative_analysis: Thoughtfully compares approaches + + - partial_understanding: General thoughts + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Engage their analysis thoughtfully. Historical consensus is that multiple strategies created + + pressure from different angles: legal victories removed legal barriers, direct action created + + urgency, Black Power empowered communities and pushed moderates to negotiate. If they prefer + + one strategy, discuss how it interacted with others. + + ' + buckets: + - sophisticated_analysis + - complementary_view + - single_strategy_preference + - comparative_analysis + - partial_understanding + - limited_effort + - off_topic + transitions: + sophisticated_analysis: + ai_feedback: + tokens_for_ai: Excellent historical thinking! You understand that social movements use multiple strategies simultaneously. The 'radical flank effect' made moderates seem more reasonable to white Americans. + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: civil_rights:step_2 + complementary_view: + ai_feedback: + tokens_for_ai: Good insight! The different strategies created pressure from multiple angles and appealed to different constituencies. Discuss the 'radical flank effect.' + metadata_add: + score: n+2 + next_section_and_step: civil_rights:step_2 + single_strategy_preference: + ai_feedback: + tokens_for_ai: 'You make a case for one strategy. Also consider how the strategies interacted: legal victories needed enforcement, which required political pressure from protests.' + metadata_add: + score: n+2 + next_section_and_step: civil_rights:step_2 + comparative_analysis: + ai_feedback: + tokens_for_ai: Good comparative thinking! Expand on how the strategies might have complemented each other or created tension. + metadata_add: + score: n+2 + critical_thinking: n+1 + next_section_and_step: civil_rights:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: Think about how different strategies might work together. Could 'radical' demands make 'moderate' demands seem more acceptable? + metadata_add: + score: n+1 + next_section_and_step: civil_rights:step_1 + limited_effort: + content_blocks: + - 'Consider: Why might a movement need both people working within the system (courts) and outside it (protests)? How might they complement each other?' + next_section_and_step: civil_rights:step_1 + off_topic: + content_blocks: + - Let's analyze the different Civil Rights strategies. How did legal, nonviolent direct action, and Black Power approaches differ? + next_section_and_step: civil_rights:step_1 + - step_id: step_2 + title: Unfinished Business + content_blocks: + - '## The Civil Rights Movement''s Legacy' + - 'The Civil Rights Movement achieved major legal victories:' + - '- Civil Rights Act (1964): Outlawed discrimination' + - '- Voting Rights Act (1965): Prohibited racial discrimination in voting' + - '- Fair Housing Act (1968): Prohibited discrimination in housing' + - '' + - '**But many goals remained unachieved:**' + - '' + - '**Economic Justice:**' + - MLK's focus in final years was on poverty - the Poor People's Campaign + - 'Wealth gap: In 1963, median Black family had 5% of white family wealth. In 2016: 10%' + - '' + - '**Systemic Issues:**' + - '- School resegregation (integration peaked in 1988, has declined since)' + - '- Mass incarceration (5x incarceration rate for Black vs white Americans)' + - '- Voting rights: Shelby County v. Holder (2013) weakened Voting Rights Act' + - '' + - '**MLK''s Final Speech (1968, night before assassination):**' + - _'I've been to the mountaintop... I've seen the Promised Land. I may not get there with you. But I want you to know tonight, that we, as a people, will get to the Promised Land.'_ + question: The Civil Rights Movement won major legal battles but many economic and systemic issues persist. Why do legal victories not automatically solve social problems? What more is needed beyond changing laws? + tokens_for_ai: 'Looking for understanding that: + + - Laws vs. implementation/enforcement + + - Formal equality vs. substantive equality + + - Systemic/structural issues + + - Cultural change, economic redistribution, enforcement + + + Categorize as: + + - systemic_understanding: Grasps difference between formal and substantive equality + + - implementation_focus: Emphasizes gap between law and enforcement + + - cultural_change: Notes need for changing hearts and minds + + - economic_analysis: Focuses on material/economic dimensions + + - sophisticated_multi_factor: Identifies multiple dimensions of change needed + + - partial_understanding: General thoughts + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Engage their thinking about social change. Legal change is necessary but not sufficient. + + Systemic change requires enforcement, cultural shift, economic redistribution, and + + addressing structural inequalities. If they give sophisticated analysis, affirm it. + + ' + buckets: + - systemic_understanding + - implementation_focus + - cultural_change + - economic_analysis + - sophisticated_multi_factor + - partial_understanding + - limited_effort + - off_topic + transitions: + systemic_understanding: + ai_feedback: + tokens_for_ai: Excellent grasp of the difference between formal and substantive equality! Laws change what's legal, but systemic change requires transforming institutions, culture, and economic structures. + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: conclusion:step_1 + implementation_focus: + ai_feedback: + tokens_for_ai: Important point! There's often a gap between laws on the books and their enforcement. Discuss how enforcement requires political will and resources. + metadata_add: + score: n+2 + next_section_and_step: conclusion:step_1 + cultural_change: + ai_feedback: + tokens_for_ai: Good insight about cultural change! Laws can change behavior, but cultural attitudes also need to shift. This is a slow, complex process. + metadata_add: + score: n+2 + next_section_and_step: conclusion:step_1 + economic_analysis: + ai_feedback: + tokens_for_ai: Strong economic analysis! Legal equality doesn't address wealth gaps, employment discrimination, or economic structures. MLK increasingly focused on economic justice in his final years. + metadata_add: + score: n+2 + next_section_and_step: conclusion:step_1 + sophisticated_multi_factor: + ai_feedback: + tokens_for_ai: Outstanding multi-dimensional analysis! You understand that social change requires legal, cultural, economic, and institutional transformation. This is advanced historical thinking. + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: conclusion:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: 'You''re thinking about this. Consider: if a law is passed but not enforced, or if economic structures remain unchanged, what''s the impact?' + metadata_add: + score: n+1 + next_section_and_step: conclusion:step_1 + limited_effort: + content_blocks: + - Think about the difference between laws changing and society changing. What else needs to happen beyond passing legislation? + next_section_and_step: civil_rights:step_2 + off_topic: + content_blocks: + - Let's think about why legal victories aren't enough. What more is needed for real social change? + next_section_and_step: civil_rights:step_2 +- section_id: conclusion + title: Historical Thinking and Contemporary Connections + steps: + - step_id: step_1 + title: Thinking Like a Historian + content_blocks: + - '## Congratulations, Historian! 🎓' + - You've engaged with American history at an advanced level. + - '' + - '**Key Historical Thinking Skills You''ve Practiced:**' + - ✓ **Primary Source Analysis** - Reading founding documents and speeches in context + - ✓ **Cause and Effect** - Understanding how events lead to consequences + - ✓ **Multiple Perspectives** - Considering different viewpoints on events + - ✓ **Continuity and Change** - Seeing patterns and transformations over time + - ✓ **Historical Significance** - Evaluating which events and ideas matter and why + - ✓ **Connecting Past to Present** - Understanding how history shapes current issues + - '' + - '**Themes Across American History:**' + - '- Tension between ideals and reality (equality vs. practice)' + - '- Struggles to expand democracy and rights' + - '- Economic factors shaping politics and society' + - '- Power of social movements to create change' + - '- Importance of institutions and their design' + - '' + - '**Why History Matters:**' + - '- Understand how we got here' + - '- Learn from past successes and failures' + - '- Recognize patterns and precedents' + - '- Think critically about present claims using historical evidence' + - '- Understand that change is possible because it has happened before' + - '' + - '**''Those who cannot remember the past are condemned to repeat it.''** - George Santayana' + question: What's one historical insight from this activity that changes how you think about a contemporary issue? How does understanding history help you think more critically about the present? + tokens_for_ai: 'This is a reflection on applying historical thinking to contemporary issues. + + + Categorize as: + + - specific_connection: Makes clear connection between historical insight and contemporary issue + + - thoughtful_reflection: Meaningful reflection on historical thinking + + - general_reflection: Broader thoughts about history''s relevance + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Provide thoughtful, personalized feedback on their historical journey. Acknowledge specific + + insights they shared throughout the activity. Encourage continued historical thinking and + + exploration. Discuss how understanding history makes us better citizens. + + ' + buckets: + - specific_connection + - thoughtful_reflection + - general_reflection + - limited_effort + - off_topic + transitions: + specific_connection: + ai_feedback: + tokens_for_ai: Excellent application of historical thinking to contemporary issues! Affirm their specific connection and discuss how historians analyze present events using historical frameworks. + metadata_add: + activity_completed: 'true' + thoughtful_reflection: + ai_feedback: + tokens_for_ai: Thoughtful reflection on historical thinking! Encourage them to continue asking historical questions about contemporary issues. + metadata_add: + activity_completed: 'true' + general_reflection: + ai_feedback: + tokens_for_ai: Thank them for engaging deeply with American history. Suggest specific historical topics or periods they might explore further based on their interests. + metadata_add: + activity_completed: 'true' + limited_effort: + ai_feedback: + tokens_for_ai: Acknowledge their completion and encourage them to think about how historical patterns might illuminate current events. + metadata_add: + activity_completed: 'true' + off_topic: + content_blocks: + - Reflect on your historical journey. What insight about the past helps you understand the present differently? + next_section_and_step: conclusion:step_1 diff --git a/research/activity36-biblical-history.yaml b/research/activity36-biblical-history.yaml index 9619c11..1c00f1c 100644 --- a/research/activity36-biblical-history.yaml +++ b/research/activity36-biblical-history.yaml @@ -1,912 +1,1052 @@ default_max_attempts_per_step: 3 +tokens_for_ai_rubric: 'Evaluate the student''s understanding of biblical history and ancient Near Eastern context. -tokens_for_ai_rubric: | - Evaluate the student's understanding of biblical history and ancient Near Eastern context. Consider: + - Their grasp of historical periods and chronology + - Understanding of archaeological and historical evidence + - Ability to contextualize texts within their cultural setting + - Recognition of how geography influenced history + - Critical thinking about historical sources + Provide encouraging feedback and suggest areas for deeper exploration of ancient history. + ' sections: - - section_id: "introduction" - title: "Welcome to Biblical History" - steps: - - step_id: "welcome" - title: "Welcome, Ancient Historian" +- section_id: introduction + title: Welcome to Biblical History + steps: + - step_id: welcome + title: Welcome, Ancient Historian + content_blocks: + - '# Biblical History: Ancient Near East and Beyond 📜' + - Explore the historical world of the Bible through archaeology, ancient texts, and cultural context. + - '' + - '**In this journey, you''ll explore:**' + - '- The ancient Near Eastern world (Egypt, Mesopotamia, Canaan)' + - '- Historical periods from Bronze Age to Roman Empire' + - '- Archaeological discoveries and what they reveal' + - '- Cultural practices and daily life in ancient times' + - '- How geography shaped history and religion' + - '- Connections between biblical texts and historical context' + - '' + - '**Important Note:**' + - This activity focuses on **historical and archaeological study**, not theology or religious belief. + - We'll examine the Bible as an ancient text within its historical context. + - '' + - Ready to explore the ancient world? + question: Are you ready to study biblical history through archaeology, ancient texts, and cultural context? + tokens_for_ai: 'Student expressing readiness. + + + Categorize as: + + - ready: Positive, ready to begin + + - set_language: Setting language preference + + - off_topic: Unrelated + + ' + buckets: + - ready + - set_language + - off_topic + transitions: + ready: content_blocks: - - "# Biblical History: Ancient Near East and Beyond 📜" - - "Explore the historical world of the Bible through archaeology, ancient texts, and cultural context." - - "" - - "**In this journey, you'll explore:**" - - "- The ancient Near Eastern world (Egypt, Mesopotamia, Canaan)" - - "- Historical periods from Bronze Age to Roman Empire" - - "- Archaeological discoveries and what they reveal" - - "- Cultural practices and daily life in ancient times" - - "- How geography shaped history and religion" - - "- Connections between biblical texts and historical context" - - "" - - "**Important Note:**" - - "This activity focuses on **historical and archaeological study**, not theology or religious belief." - - "We'll examine the Bible as an ancient text within its historical context." - - "" - - "Ready to explore the ancient world?" - question: "Are you ready to study biblical history through archaeology, ancient texts, and cultural context?" - tokens_for_ai: | - Student expressing readiness. - - Categorize as: - - ready: Positive, ready to begin - - set_language: Setting language preference - - off_topic: Unrelated - buckets: - - ready - - set_language - - off_topic - transitions: - ready: - content_blocks: - - "Excellent! Let's begin with the ancient Near Eastern world." - metadata_add: - period: "ancient_near_east" - next_section_and_step: "ancient_near_east:step_1" - set_language: - content_blocks: - - "I'll communicate in your preferred language." - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - off_topic: - content_blocks: - - "Let's begin our journey into ancient history. Are you ready to explore?" - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - - - section_id: "ancient_near_east" - title: "The Ancient Near Eastern World" - steps: - - step_id: "step_1" - title: "Geography and Civilizations" + - Excellent! Let's begin with the ancient Near Eastern world. + metadata_add: + period: ancient_near_east + next_section_and_step: ancient_near_east:step_1 + set_language: content_blocks: - - "## The Fertile Crescent 🌍" - - "The biblical world was part of the ancient Near East, centered on the Fertile Crescent." - - "" - - "**Key Geographic Regions:**" - - "" - - "**Mesopotamia (Iraq):**" - - "- 'Land between rivers' (Tigris and Euphrates)" - - "- Civilizations: Sumerians, Akkadians, Babylonians, Assyrians" - - "- Invented cuneiform writing (3200 BCE)" - - "- Code of Hammurabi (1750 BCE) - ancient law code" - - "" - - "**Egypt:**" - - "- Nile River civilization" - - "- Pyramids, pharaohs, hieroglyphics" - - "- Powerful empire from 3000 BCE" - - "" - - "**Canaan/Levant (Israel/Palestine, Lebanon, Syria):**" - - "- Land bridge between Egypt and Mesopotamia" - - "- Trade routes made it strategically important" - - "- Caught between great empires" - - "- Home to Canaanites, Phoenicians, Israelites" - - "" - - "**Why Geography Matters:**" - - "Canaan's location meant it was constantly invaded by larger empires (Egypt, Assyria, Babylon, Persia, Greece, Rome)" - - "" - - "This shaped everything: politics, trade, culture, and even religious ideas traveled these routes." - question: "How do you think Canaan's geographic location - as a small land bridge between powerful empires - might have influenced the development of Israelite religion and identity?" - tokens_for_ai: | - Looking for understanding that: - - Geographic vulnerability shaped identity - - Contact with empires brought cultural exchange - - Small nation survival strategies - - Monotheism as distinctiveness - - Categorize as: - - sophisticated_geo_analysis: Connects geography to cultural/religious development - - identity_focus: Emphasizes how vulnerability shaped distinctiveness - - cultural_exchange: Notes influence from surrounding cultures - - political_analysis: Focuses on survival strategies - - partial_understanding: General thoughts - - limited_effort: Very brief - - asking_clarifying_questions: Needs more info - - off_topic: Unrelated - feedback_tokens_for_ai: | - Engage their geographic thinking. Small nations between empires often develop strong - identity markers to maintain distinctiveness. Israelite monotheism emerged partly as - a way to differentiate from polytheistic empires. If they note cultural exchange, affirm - that biblical texts show both resistance to and adoption of surrounding practices. - buckets: - - sophisticated_geo_analysis - - identity_focus - - cultural_exchange - - political_analysis - - partial_understanding - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - sophisticated_geo_analysis: - ai_feedback: - tokens_for_ai: "Excellent geographic analysis! Location between empires forced cultural choices: adopt or resist? Monotheism became a marker of Israelite distinctiveness. Discuss how this plays out in biblical texts." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "ancient_near_east:step_2" - identity_focus: - ai_feedback: - tokens_for_ai: "Good insight about identity! Small nations between empires often emphasize what makes them unique. For Israel, monotheism became that distinctive marker." - metadata_add: - score: "n+2" - next_section_and_step: "ancient_near_east:step_2" - cultural_exchange: - ai_feedback: - tokens_for_ai: "Important observation! The biblical text shows both influence from surrounding cultures (law codes, flood stories) and resistance to them (prohibition of foreign gods)." - metadata_add: - score: "n+2" - critical_thinking: "n+1" - next_section_and_step: "ancient_near_east:step_2" - political_analysis: - ai_feedback: - tokens_for_ai: "Good political analysis! How does a small nation survive between empires? Cultural distinctiveness and strong identity help maintain cohesion." - metadata_add: - score: "n+2" - next_section_and_step: "ancient_near_east:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're thinking about this. Consider: if you're a small nation constantly threatened by larger empires, how might you maintain your identity?" - metadata_add: - score: "n+1" - next_section_and_step: "ancient_near_east:step_2" - limited_effort: - content_blocks: - - "Think about Canaan's vulnerable position between Egypt and Mesopotamia. How might this constant threat shape culture and religion?" - next_section_and_step: "ancient_near_east:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about geography, empires, or ancient cultures." - counts_as_attempt: false - next_section_and_step: "ancient_near_east:step_1" - off_topic: - content_blocks: - - "Let's think about how geography shapes history. How did Canaan's location affect its development?" - next_section_and_step: "ancient_near_east:step_1" - - - step_id: "step_2" - title: "Ancient Literature and Parallels" + - I'll communicate in your preferred language. + counts_as_attempt: false + next_section_and_step: introduction:welcome + off_topic: content_blocks: - - "## Ancient Near Eastern Texts" - - "The Bible wasn't written in isolation - it emerged from a world rich in literature." - - "" - - "**Epic of Gilgamesh (Mesopotamia, ~2100 BCE):**" - - "- Contains a flood story remarkably similar to Noah's flood" - - "- Utnapishtim builds an ark, saves animals, sends out birds, lands on a mountain" - - "- Written 1000+ years before biblical flood account" - - "" - - "**Code of Hammurabi (Babylon, ~1750 BCE):**" - - "- Ancient law code with similarities to biblical law" - - "- 'Eye for an eye' appears in Hammurabi and later in Exodus" - - "- Predates biblical law codes by centuries" - - "" - - "**Enuma Elish (Babylon, ~1100 BCE):**" - - "- Creation story with parallels to Genesis" - - "- Order from chaos, separation of waters, creation of humans" - - "" - - "**Archaeological Discovery:**" - - "These texts were discovered on clay tablets in the 1800s-1900s, showing the biblical writers knew and adapted earlier traditions." - question: "What does it mean that biblical stories have parallels in earlier Mesopotamian literature? Does this make the Bible less historically significant, or does it tell us something interesting about how ancient peoples shared and adapted stories?" - tokens_for_ai: | - This is a sophisticated question about cultural context and transmission. + - Let's begin our journey into ancient history. Are you ready to explore? + counts_as_attempt: false + next_section_and_step: introduction:welcome +- section_id: ancient_near_east + title: The Ancient Near Eastern World + steps: + - step_id: step_1 + title: Geography and Civilizations + content_blocks: + - '## The Fertile Crescent 🌍' + - The biblical world was part of the ancient Near East, centered on the Fertile Crescent. + - '' + - '**Key Geographic Regions:**' + - '' + - '**Mesopotamia (Iraq):**' + - '- ''Land between rivers'' (Tigris and Euphrates)' + - '- Civilizations: Sumerians, Akkadians, Babylonians, Assyrians' + - '- Invented cuneiform writing (3200 BCE)' + - '- Code of Hammurabi (1750 BCE) - ancient law code' + - '' + - '**Egypt:**' + - '- Nile River civilization' + - '- Pyramids, pharaohs, hieroglyphics' + - '- Powerful empire from 3000 BCE' + - '' + - '**Canaan/Levant (Israel/Palestine, Lebanon, Syria):**' + - '- Land bridge between Egypt and Mesopotamia' + - '- Trade routes made it strategically important' + - '- Caught between great empires' + - '- Home to Canaanites, Phoenicians, Israelites' + - '' + - '**Why Geography Matters:**' + - Canaan's location meant it was constantly invaded by larger empires (Egypt, Assyria, Babylon, Persia, Greece, Rome) + - '' + - 'This shaped everything: politics, trade, culture, and even religious ideas traveled these routes.' + question: How do you think Canaan's geographic location - as a small land bridge between powerful empires - might have influenced the development of Israelite religion and identity? + tokens_for_ai: 'Looking for understanding that: - Looking for: - - Understanding that cultures influence each other - - Recognition that adaptation shows engagement with traditions - - Historical vs religious significance distinction - - Sophisticated view of ancient literature + - Geographic vulnerability shaped identity - Categorize as: - - sophisticated_cultural_analysis: Understands literary borrowing and adaptation - - cultural_exchange_view: Sees parallels as normal cultural interaction - - theological_concern: Worried about implications for religious truth - - historical_significance: Focuses on what this tells us historically - - partial_understanding: General thoughts - - limited_effort: Very brief - - asking_clarifying_questions: Needs more info - - off_topic: Unrelated - feedback_tokens_for_ai: | - Engage thoughtfully. Ancient cultures influenced each other through conquest, trade, and - migration. Biblical writers adapted earlier stories but transformed them (monotheism vs - polytheism, moral emphasis, etc.). This is how literature works in the ancient world. - If they express theological concern, acknowledge it but focus on historical perspective. - buckets: - - sophisticated_cultural_analysis - - cultural_exchange_view - - theological_concern - - historical_significance - - partial_understanding - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - sophisticated_cultural_analysis: - ai_feedback: - tokens_for_ai: "Excellent literary and cultural analysis! Biblical writers took existing stories and transformed them to reflect their monotheistic worldview. This is sophisticated engagement with tradition, not mere copying." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "israelite_history:step_1" - cultural_exchange_view: - ai_feedback: - tokens_for_ai: "Good understanding of cultural exchange! Ancient peoples shared stories across cultures. Biblical writers adapted these stories to express their own theological and moral perspectives." - metadata_add: - score: "n+2" - next_section_and_step: "israelite_history:step_1" - theological_concern: - ai_feedback: - tokens_for_ai: "I understand the concern. From a historical perspective, adaptation shows engagement with surrounding cultures. Biblical writers transformed polytheistic stories into monotheistic ones - this is creative theological work." - metadata_add: - score: "n+1" - next_section_and_step: "israelite_history:step_1" - historical_significance: - ai_feedback: - tokens_for_ai: "Good historical perspective! These parallels show us how ideas traveled in the ancient world and how biblical writers creatively adapted traditions." - metadata_add: - score: "n+2" - critical_thinking: "n+1" - next_section_and_step: "israelite_history:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "You're thinking about this. Consider: Shakespeare adapted earlier plays. Does that make his work less significant, or does it show how great writers transform traditions?" - metadata_add: - score: "n+1" - next_section_and_step: "israelite_history:step_1" - limited_effort: - content_blocks: - - "Think about how ancient cultures influenced each other. What might it mean that biblical writers knew and adapted earlier stories?" - next_section_and_step: "ancient_near_east:step_2" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about ancient literature, cultural borrowing, or specific parallels." - counts_as_attempt: false - next_section_and_step: "ancient_near_east:step_2" - off_topic: - content_blocks: - - "Let's think about the parallels between biblical and earlier Mesopotamian stories. What do these similarities tell us?" - next_section_and_step: "ancient_near_east:step_2" + - Contact with empires brought cultural exchange - - section_id: "israelite_history" - title: "Israelite History and Archaeology" - steps: - - step_id: "step_1" - title: "The Exodus Question" + - Small nation survival strategies + + - Monotheism as distinctiveness + + + Categorize as: + + - sophisticated_geo_analysis: Connects geography to cultural/religious development + + - identity_focus: Emphasizes how vulnerability shaped distinctiveness + + - cultural_exchange: Notes influence from surrounding cultures + + - political_analysis: Focuses on survival strategies + + - partial_understanding: General thoughts + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs more info + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Engage their geographic thinking. Small nations between empires often develop strong + + identity markers to maintain distinctiveness. Israelite monotheism emerged partly as + + a way to differentiate from polytheistic empires. If they note cultural exchange, affirm + + that biblical texts show both resistance to and adoption of surrounding practices. + + ' + buckets: + - sophisticated_geo_analysis + - identity_focus + - cultural_exchange + - political_analysis + - partial_understanding + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + sophisticated_geo_analysis: + ai_feedback: + tokens_for_ai: 'Excellent geographic analysis! Location between empires forced cultural choices: adopt or resist? Monotheism became a marker of Israelite distinctiveness. Discuss how this plays out in biblical texts.' + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: ancient_near_east:step_2 + identity_focus: + ai_feedback: + tokens_for_ai: Good insight about identity! Small nations between empires often emphasize what makes them unique. For Israel, monotheism became that distinctive marker. + metadata_add: + score: n+2 + next_section_and_step: ancient_near_east:step_2 + cultural_exchange: + ai_feedback: + tokens_for_ai: Important observation! The biblical text shows both influence from surrounding cultures (law codes, flood stories) and resistance to them (prohibition of foreign gods). + metadata_add: + score: n+2 + critical_thinking: n+1 + next_section_and_step: ancient_near_east:step_2 + political_analysis: + ai_feedback: + tokens_for_ai: Good political analysis! How does a small nation survive between empires? Cultural distinctiveness and strong identity help maintain cohesion. + metadata_add: + score: n+2 + next_section_and_step: ancient_near_east:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: 'You''re thinking about this. Consider: if you''re a small nation constantly threatened by larger empires, how might you maintain your identity?' + metadata_add: + score: n+1 + next_section_and_step: ancient_near_east:step_2 + limited_effort: content_blocks: - - "## Exodus: History or Memory? 🏜️" - - "The Exodus story is central to Jewish identity - but what do we know historically?" - - "" - - "**The Biblical Account:**" - - "- Israelites enslaved in Egypt" - - "- Moses leads them out through the Red Sea" - - "- 40 years wandering in the Sinai desert" - - "- Conquest of Canaan under Joshua" - - "" - - "**Archaeological Evidence:**" - - "- **No Egyptian records** of Israelite slavery or exodus (despite extensive Egyptian records)" - - "- **No archaeological evidence** of 2 million people in Sinai for 40 years" - - "- **No evidence of sudden conquest** of Canaan - instead, gradual emergence of Israelite settlements in highlands" - - "- **Merneptah Stele (1208 BCE):** Egyptian inscription mentions 'Israel' as a people in Canaan" - - "" - - "**Current Historical Consensus:**" - - "- A small group may have had experiences in Egypt, but not the massive exodus described" - - "- Israelites emerged primarily from Canaanite populations in the highlands" - - "- The Exodus story became a powerful foundation myth for Israelite identity" - - "" - - "**Why Foundation Myths Matter:**" - - "Every culture has origin stories that define identity - US Declaration of Independence, Romulus and Remus for Rome, etc." - question: "If the Exodus as described didn't happen, does that make the story less important? What's the difference between historical fact and historical significance? Why might a people preserve and elaborate such a story?" - tokens_for_ai: | - This is a sophisticated question about myth, history, and identity. - - Looking for: - - Distinction between literal history and meaning - - Understanding of foundation myths - - Recognition that stories shape identity even if not factual - - Nuanced thinking about truth and significance - - Categorize as: - - sophisticated_analysis: Distinguishes historical fact from historical/cultural significance - - myth_understanding: Grasps function of foundation myths - - identity_focus: Sees story's role in shaping group identity - - troubled_by_historicity: Struggles with non-literal interpretation - - partial_understanding: General thoughts - - limited_effort: Very brief - - asking_clarifying_questions: Needs more info - - off_topic: Unrelated - feedback_tokens_for_ai: | - Engage thoughtfully. Foundation myths aren't 'lies' - they're how peoples understand - themselves. The Exodus story of liberation from oppression became central to Jewish - identity and later inspired other liberation movements (civil rights, etc.). Historical - significance isn't the same as historical accuracy. If troubled by non-historicity, - acknowledge their concern while explaining the distinction. - buckets: - - sophisticated_analysis - - myth_understanding - - identity_focus - - troubled_by_historicity - - partial_understanding - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - sophisticated_analysis: - ai_feedback: - tokens_for_ai: "Excellent sophisticated thinking! You understand that stories can be historically significant even if not literally factual. The Exodus story shaped Jewish identity and inspired liberation movements worldwide." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "israelite_history:step_2" - myth_understanding: - ai_feedback: - tokens_for_ai: "Good understanding of foundation myths! Every culture has origin stories that define who they are. Historical accuracy matters less than the story's role in shaping identity." - metadata_add: - score: "n+2" - next_section_and_step: "israelite_history:step_2" - identity_focus: - ai_feedback: - tokens_for_ai: "Important insight about identity! The Exodus story defines Jewish identity as a people freed from slavery. This narrative inspired countless later liberation movements." - metadata_add: - score: "n+2" - critical_thinking: "n+1" - next_section_and_step: "israelite_history:step_2" - troubled_by_historicity: - ai_feedback: - tokens_for_ai: "I understand the concern. From a historical perspective, we can distinguish between literal factuality and cultural/historical significance. The Exodus story's impact on history is undeniable even if the events as described didn't occur." - metadata_add: - score: "n+1" - next_section_and_step: "israelite_history:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "Think about other foundation stories: George Washington and the cherry tree probably didn't happen, but it expresses American values. Does that make it unimportant?" - metadata_add: - score: "n+1" - next_section_and_step: "israelite_history:step_1" - limited_effort: - content_blocks: - - "Consider: Can a story be important even if it's not literally factual? Think about how stories shape group identity." - next_section_and_step: "israelite_history:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about the Exodus, archaeology, or foundation myths." - counts_as_attempt: false - next_section_and_step: "israelite_history:step_1" - off_topic: - content_blocks: - - "Let's think about the Exodus story's significance. Can stories be important even if not literally historical?" - next_section_and_step: "israelite_history:step_1" - - - step_id: "step_2" - title: "United Monarchy and Division" + - Think about Canaan's vulnerable position between Egypt and Mesopotamia. How might this constant threat shape culture and religion? + next_section_and_step: ancient_near_east:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about geography, empires, or ancient cultures. + counts_as_attempt: false + next_section_and_step: ancient_near_east:step_1 + off_topic: content_blocks: - - "## Kings David and Solomon" - - "**Biblical Account:**" - - "- David unites tribes into a kingdom (~1000 BCE)" - - "- Solomon builds the First Temple in Jerusalem (~950 BCE)" - - "- Kingdom splits after Solomon's death into Israel (north) and Judah (south)" - - "" - - "**Archaeological Evidence:**" - - "- **Tel Dan Stele (9th century BCE):** Mentions 'House of David' - first non-biblical reference to David" - - "- **Limited evidence** for Solomon's temple or extensive building projects" - - "- **No evidence** of empire described in biblical text" - - "- **Evidence of division:** Northern kingdom (Israel) and southern kingdom (Judah) had different pottery, architecture, practices" - - "" - - "**Historical Reconstruction:**" - - "- David and Solomon likely existed as local chieftains" - - "- Later writers (during exile) expanded their stories into tales of a golden age" - - "- The 'united monarchy' may have been more limited than biblical account suggests" - - "" - - "**Why Matters:**" - - "After the Babylonian exile (586 BCE), Jews longed for restoration of the Davidic monarchy" - - "This hope shaped messianic expectations" - question: "Why might the biblical writers, writing during or after the Babylonian exile, have portrayed David and Solomon's kingdom as larger and more glorious than historical evidence suggests? What purpose would such an idealized past serve?" - tokens_for_ai: | - Looking for understanding of: - - Writing in response to trauma/loss - - Idealized past as hope for future - - How suffering shapes memory - - Messianic hopes + - Let's think about how geography shapes history. How did Canaan's location affect its development? + next_section_and_step: ancient_near_east:step_1 + - step_id: step_2 + title: Ancient Literature and Parallels + content_blocks: + - '## Ancient Near Eastern Texts' + - The Bible wasn't written in isolation - it emerged from a world rich in literature. + - '' + - '**Epic of Gilgamesh (Mesopotamia, ~2100 BCE):**' + - '- Contains a flood story remarkably similar to Noah''s flood' + - '- Utnapishtim builds an ark, saves animals, sends out birds, lands on a mountain' + - '- Written 1000+ years before biblical flood account' + - '' + - '**Code of Hammurabi (Babylon, ~1750 BCE):**' + - '- Ancient law code with similarities to biblical law' + - '- ''Eye for an eye'' appears in Hammurabi and later in Exodus' + - '- Predates biblical law codes by centuries' + - '' + - '**Enuma Elish (Babylon, ~1100 BCE):**' + - '- Creation story with parallels to Genesis' + - '- Order from chaos, separation of waters, creation of humans' + - '' + - '**Archaeological Discovery:**' + - These texts were discovered on clay tablets in the 1800s-1900s, showing the biblical writers knew and adapted earlier traditions. + question: What does it mean that biblical stories have parallels in earlier Mesopotamian literature? Does this make the Bible less historically significant, or does it tell us something interesting about how ancient peoples shared and adapted stories? + tokens_for_ai: 'This is a sophisticated question about cultural context and transmission. - Categorize as: - - sophisticated_analysis: Connects exile trauma to idealization of past - - hope_focus: Sees idealized past as source of hope - - identity_maintenance: Recognizes role in preserving identity during crisis - - literary_purpose: Understands narrative function - - partial_understanding: General thoughts - - limited_effort: Very brief - - asking_clarifying_questions: Needs more info - - off_topic: Unrelated - feedback_tokens_for_ai: | - Engage their thinking about trauma and memory. People in exile, having lost everything, - would remember a 'golden age' and hope for its restoration. The idealized past provides - both identity and hope for the future. This shapes messianic expectations - hope for a - new David to restore the kingdom. - buckets: - - sophisticated_analysis - - hope_focus - - identity_maintenance - - literary_purpose - - partial_understanding - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - sophisticated_analysis: - ai_feedback: - tokens_for_ai: "Excellent analysis of trauma and memory! In exile, an idealized past provides identity and hope for restoration. This shaped Jewish messianic expectations - longing for a new David." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "exile_return:step_1" - hope_focus: - ai_feedback: - tokens_for_ai: "Important insight about hope! The golden age of David/Solomon became a vision for the future - restoration of past glory. This shaped centuries of messianic hope." - metadata_add: - score: "n+2" - next_section_and_step: "exile_return:step_1" - identity_maintenance: - ai_feedback: - tokens_for_ai: "Good understanding of identity! In exile, remembering a glorious past helped maintain Jewish identity and hope when everything was lost." - metadata_add: - score: "n+2" - critical_thinking: "n+1" - next_section_and_step: "exile_return:step_1" - literary_purpose: - ai_feedback: - tokens_for_ai: "Good literary analysis! The idealized monarchy served narrative and theological purposes - explaining why exile happened and what restoration might look like." - metadata_add: - score: "n+2" - next_section_and_step: "exile_return:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "Think about how people in crisis remember the past. If you've lost everything (exile), how might you remember 'the good old days'?" - metadata_add: - score: "n+1" - next_section_and_step: "exile_return:step_1" - limited_effort: - content_blocks: - - "Consider: if you've lost your homeland (exile), why might you idealize the past? What purpose would that serve?" - next_section_and_step: "israelite_history:step_2" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about David, Solomon, the exile, or idealized history." - counts_as_attempt: false - next_section_and_step: "israelite_history:step_2" - off_topic: - content_blocks: - - "Let's think about the idealization of David and Solomon. Why would exiled people portray their past as more glorious?" - next_section_and_step: "israelite_history:step_2" - - section_id: "exile_return" - title: "Exile, Return, and Second Temple Period" - steps: - - step_id: "step_1" - title: "Babylonian Exile" + Looking for: + + - Understanding that cultures influence each other + + - Recognition that adaptation shows engagement with traditions + + - Historical vs religious significance distinction + + - Sophisticated view of ancient literature + + + Categorize as: + + - sophisticated_cultural_analysis: Understands literary borrowing and adaptation + + - cultural_exchange_view: Sees parallels as normal cultural interaction + + - theological_concern: Worried about implications for religious truth + + - historical_significance: Focuses on what this tells us historically + + - partial_understanding: General thoughts + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs more info + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Engage thoughtfully. Ancient cultures influenced each other through conquest, trade, and + + migration. Biblical writers adapted earlier stories but transformed them (monotheism vs + + polytheism, moral emphasis, etc.). This is how literature works in the ancient world. + + If they express theological concern, acknowledge it but focus on historical perspective. + + ' + buckets: + - sophisticated_cultural_analysis + - cultural_exchange_view + - theological_concern + - historical_significance + - partial_understanding + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + sophisticated_cultural_analysis: + ai_feedback: + tokens_for_ai: Excellent literary and cultural analysis! Biblical writers took existing stories and transformed them to reflect their monotheistic worldview. This is sophisticated engagement with tradition, not mere copying. + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: israelite_history:step_1 + cultural_exchange_view: + ai_feedback: + tokens_for_ai: Good understanding of cultural exchange! Ancient peoples shared stories across cultures. Biblical writers adapted these stories to express their own theological and moral perspectives. + metadata_add: + score: n+2 + next_section_and_step: israelite_history:step_1 + theological_concern: + ai_feedback: + tokens_for_ai: I understand the concern. From a historical perspective, adaptation shows engagement with surrounding cultures. Biblical writers transformed polytheistic stories into monotheistic ones - this is creative theological work. + metadata_add: + score: n+1 + next_section_and_step: israelite_history:step_1 + historical_significance: + ai_feedback: + tokens_for_ai: Good historical perspective! These parallels show us how ideas traveled in the ancient world and how biblical writers creatively adapted traditions. + metadata_add: + score: n+2 + critical_thinking: n+1 + next_section_and_step: israelite_history:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: 'You''re thinking about this. Consider: Shakespeare adapted earlier plays. Does that make his work less significant, or does it show how great writers transform traditions?' + metadata_add: + score: n+1 + next_section_and_step: israelite_history:step_1 + limited_effort: content_blocks: - - "## The Babylonian Exile (586-539 BCE)" - - "**Historical Events:**" - - "- 586 BCE: Babylonians destroy Jerusalem and Solomon's Temple" - - "- Judah's elite are exiled to Babylon" - - "- 539 BCE: Persians conquer Babylon" - - "- 538 BCE: Persian King Cyrus allows Jews to return" - - "" - - "**Why the Exile Was Transformative:**" - - "" - - "**Before Exile:**" - - "- Temple-centered worship in Jerusalem" - - "- Sacrifices performed by priests" - - "- David's descendants ruled as kings" - - "" - - "**After Exile:**" - - "- Synagogues emerged (gathering places for prayer/study)" - - "- Torah (written law) became central" - - "- Scribes and rabbis gained importance" - - "- Monotheism became strictly defined" - - "" - - "**The Exile Forced Questions:**" - - "- Why did God allow Jerusalem to fall?" - - "- Can we worship God without the Temple?" - - "- What does it mean to be Jewish in foreign lands?" - - "- How do we maintain identity without a homeland?" - - "" - - "**Most of the Hebrew Bible was edited/compiled during or after the exile**" - - "The experience of exile profoundly shaped how the Bible was written." - question: "The Babylonian exile forced Judaism to transform from a temple-based, land-based religion to one that could survive without either. Why do you think this crisis led to such religious creativity rather than the religion's disappearance?" - tokens_for_ai: | - Looking for understanding of: - - Crisis forcing adaptation - - Innovation from necessity - - Portable religion (Torah, synagogues) - - Identity maintenance in diaspora - - Categorize as: - - sophisticated_analysis: Understands how crisis drives innovation - - adaptation_focus: Emphasizes flexibility and change - - portable_religion: Recognizes creation of non-territorial religion - - identity_focus: Sees response to threat of assimilation - - partial_understanding: General thoughts - - limited_effort: Very brief - - asking_clarifying_questions: Needs more info - - off_topic: Unrelated - feedback_tokens_for_ai: | - Engage their thinking about crisis and adaptation. The exile could have ended Judaism, - but instead sparked innovation: synagogues, written Torah, rabbis. This created a - portable religion that could survive anywhere. This is one of history's great examples - of religious innovation in response to crisis. - buckets: - - sophisticated_analysis - - adaptation_focus - - portable_religion - - identity_focus - - partial_understanding - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - sophisticated_analysis: - ai_feedback: - tokens_for_ai: "Excellent analysis of crisis and innovation! The exile threatened Judaism's existence but sparked creativity: Torah, synagogues, and rabbis created a religion that could survive anywhere. This is a pivotal moment in religious history." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "new_testament:step_1" - adaptation_focus: - ai_feedback: - tokens_for_ai: "Good understanding of adaptation! Faced with the Temple's destruction, Judaism transformed rather than disappeared. This flexibility ensured survival." - metadata_add: - score: "n+2" - next_section_and_step: "new_testament:step_1" - portable_religion: - ai_feedback: - tokens_for_ai: "Excellent insight! The exile created a 'portable' religion - Torah scrolls, synagogues, and practices that worked anywhere. This allowed Judaism to survive dispersal worldwide." - metadata_add: - score: "n+2" - critical_thinking: "n+1" - next_section_and_step: "new_testament:step_1" - identity_focus: - ai_feedback: - tokens_for_ai: "Important point about identity! The threat of assimilation in Babylon forced Jews to define what made them distinctive - leading to emphasis on Torah and practices." - metadata_add: - score: "n+2" - next_section_and_step: "new_testament:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "Think about what Judaism needed to survive without Temple and land. What innovations made religion 'portable'?" - metadata_add: - score: "n+1" - next_section_and_step: "new_testament:step_1" - limited_effort: - content_blocks: - - "Consider: the Temple was destroyed, the land was lost. What changes would allow Judaism to survive anyway?" - next_section_and_step: "exile_return:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about the exile, religious innovation, or survival strategies." - counts_as_attempt: false - next_section_and_step: "exile_return:step_1" - off_topic: - content_blocks: - - "Let's think about how the exile transformed Judaism. Why did crisis lead to innovation rather than disappearance?" - next_section_and_step: "exile_return:step_1" - - - section_id: "new_testament" - title: "The Roman Period and Early Christianity" - steps: - - step_id: "step_1" - title: "Roman Judea and Messianic Expectations" + - Think about how ancient cultures influenced each other. What might it mean that biblical writers knew and adapted earlier stories? + next_section_and_step: ancient_near_east:step_2 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about ancient literature, cultural borrowing, or specific parallels. + counts_as_attempt: false + next_section_and_step: ancient_near_east:step_2 + off_topic: content_blocks: - - "## 1st Century CE: Roman Occupation" - - "**Historical Context:**" - - "- 63 BCE: Romans conquer Judea" - - "- Jews under foreign rule (again) - Romans, not Babylonians" - - "- Heavy taxation, political oppression" - - "- Various resistance movements" - - "" - - "**Diverse Jewish Groups (from historical sources):**" - - "" - - "**Pharisees:**" - - "- Emphasized Torah study and oral law" - - "- Believed in resurrection of the dead" - - "- Precursors to rabbinical Judaism" - - "" - - "**Sadducees:**" - - "- Priestly aristocracy controlling the Temple" - - "- Collaborated with Romans" - - "- Rejected resurrection belief" - - "" - - "**Essenes:**" - - "- Ascetic community in the desert (Dead Sea Scrolls)" - - "- Awaited apocalyptic end times" - - "" - - "**Zealots:**" - - "- Armed resistance against Rome" - - "- Eventually sparked the Jewish War (66-73 CE)" - - "" - - "**Messianic Expectations:**" - - "Many Jews expected a messiah (anointed king) to:" - - "- Restore Davidic kingdom" - - "- Defeat the Romans" - - "- Rebuild/purify the Temple" - - "- Usher in God's kingdom" - question: "Jesus emerged in this context of Roman occupation and messianic hope. Why do you think his movement attracted followers but also led to his execution by Roman authorities?" - tokens_for_ai: | - Looking for understanding of: - - Political context of messianic claims - - Rome's view of potential revolutionaries - - Jewish diversity of expectations - - Crucifixion as political punishment + - Let's think about the parallels between biblical and earlier Mesopotamian stories. What do these similarities tell us? + next_section_and_step: ancient_near_east:step_2 +- section_id: israelite_history + title: Israelite History and Archaeology + steps: + - step_id: step_1 + title: The Exodus Question + content_blocks: + - '## Exodus: History or Memory? 🏜️' + - The Exodus story is central to Jewish identity - but what do we know historically? + - '' + - '**The Biblical Account:**' + - '- Israelites enslaved in Egypt' + - '- Moses leads them out through the Red Sea' + - '- 40 years wandering in the Sinai desert' + - '- Conquest of Canaan under Joshua' + - '' + - '**Archaeological Evidence:**' + - '- **No Egyptian records** of Israelite slavery or exodus (despite extensive Egyptian records)' + - '- **No archaeological evidence** of 2 million people in Sinai for 40 years' + - '- **No evidence of sudden conquest** of Canaan - instead, gradual emergence of Israelite settlements in highlands' + - '- **Merneptah Stele (1208 BCE):** Egyptian inscription mentions ''Israel'' as a people in Canaan' + - '' + - '**Current Historical Consensus:**' + - '- A small group may have had experiences in Egypt, but not the massive exodus described' + - '- Israelites emerged primarily from Canaanite populations in the highlands' + - '- The Exodus story became a powerful foundation myth for Israelite identity' + - '' + - '**Why Foundation Myths Matter:**' + - Every culture has origin stories that define identity - US Declaration of Independence, Romulus and Remus for Rome, etc. + question: If the Exodus as described didn't happen, does that make the story less important? What's the difference between historical fact and historical significance? Why might a people preserve and elaborate such a story? + tokens_for_ai: 'This is a sophisticated question about myth, history, and identity. - Categorize as: - - political_analysis: Understands political threat of messianic claims - - roman_perspective: Considers how Romans viewed such movements - - jewish_context: Situates Jesus within Jewish messianic expectations - - nuanced_understanding: Sees complexity of political/religious/social factors - - partial_understanding: General thoughts - - limited_effort: Very brief - - asking_clarifying_questions: Needs more info - - off_topic: Unrelated - feedback_tokens_for_ai: | - Engage historical context. Messianic claims were political threats to Rome (claiming - to be 'King of the Jews' challenges Roman authority). Crucifixion was Roman punishment - for political rebels, not religious heretics. Jesus' movement attracted followers - precisely because of messianic hopes, but this made him dangerous to authorities. - buckets: - - political_analysis - - roman_perspective - - jewish_context - - nuanced_understanding - - partial_understanding - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - political_analysis: - ai_feedback: - tokens_for_ai: "Excellent political analysis! Messianic claims were inherently political - claiming to be 'King of the Jews' challenged Roman authority. Crucifixion was how Romans dealt with political rebels." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "new_testament:step_2" - roman_perspective: - ai_feedback: - tokens_for_ai: "Good historical perspective! From Rome's viewpoint, anyone claiming to be a king/messiah was a potential revolutionary. Crucifixion sent a message about challenging Roman power." - metadata_add: - score: "n+2" - next_section_and_step: "new_testament:step_2" - jewish_context: - ai_feedback: - tokens_for_ai: "Good contextualization! Jesus fit into existing Jewish messianic expectations - which is why he attracted followers - but also why authorities saw him as dangerous." - metadata_add: - score: "n+2" - critical_thinking: "n+1" - next_section_and_step: "new_testament:step_2" - nuanced_understanding: - ai_feedback: - tokens_for_ai: "Sophisticated historical thinking! You understand the complex political, religious, and social factors that made Jesus' movement both attractive and threatening." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "new_testament:step_2" - partial_understanding: - ai_feedback: - tokens_for_ai: "Think about the political context. What would Romans think of someone claiming to be 'King of the Jews'? How would they respond?" - metadata_add: - score: "n+1" - next_section_and_step: "new_testament:step_1" - limited_effort: - content_blocks: - - "Consider: Judea is under Roman occupation. Someone claims to be the 'King of the Jews.' How would Rome view this?" - next_section_and_step: "new_testament:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about Roman Judea, messianic movements, or crucifixion." - counts_as_attempt: false - next_section_and_step: "new_testament:step_1" - off_topic: - content_blocks: - - "Let's think about the political context. Why would messianic claims attract followers but threaten authorities?" - next_section_and_step: "new_testament:step_1" - - step_id: "step_2" - title: "Early Christianity's Transformation" + Looking for: + + - Distinction between literal history and meaning + + - Understanding of foundation myths + + - Recognition that stories shape identity even if not factual + + - Nuanced thinking about truth and significance + + + Categorize as: + + - sophisticated_analysis: Distinguishes historical fact from historical/cultural significance + + - myth_understanding: Grasps function of foundation myths + + - identity_focus: Sees story''s role in shaping group identity + + - troubled_by_historicity: Struggles with non-literal interpretation + + - partial_understanding: General thoughts + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs more info + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Engage thoughtfully. Foundation myths aren''t ''lies'' - they''re how peoples understand + + themselves. The Exodus story of liberation from oppression became central to Jewish + + identity and later inspired other liberation movements (civil rights, etc.). Historical + + significance isn''t the same as historical accuracy. If troubled by non-historicity, + + acknowledge their concern while explaining the distinction. + + ' + buckets: + - sophisticated_analysis + - myth_understanding + - identity_focus + - troubled_by_historicity + - partial_understanding + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + sophisticated_analysis: + ai_feedback: + tokens_for_ai: Excellent sophisticated thinking! You understand that stories can be historically significant even if not literally factual. The Exodus story shaped Jewish identity and inspired liberation movements worldwide. + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: israelite_history:step_2 + myth_understanding: + ai_feedback: + tokens_for_ai: Good understanding of foundation myths! Every culture has origin stories that define who they are. Historical accuracy matters less than the story's role in shaping identity. + metadata_add: + score: n+2 + next_section_and_step: israelite_history:step_2 + identity_focus: + ai_feedback: + tokens_for_ai: Important insight about identity! The Exodus story defines Jewish identity as a people freed from slavery. This narrative inspired countless later liberation movements. + metadata_add: + score: n+2 + critical_thinking: n+1 + next_section_and_step: israelite_history:step_2 + troubled_by_historicity: + ai_feedback: + tokens_for_ai: I understand the concern. From a historical perspective, we can distinguish between literal factuality and cultural/historical significance. The Exodus story's impact on history is undeniable even if the events as described didn't occur. + metadata_add: + score: n+1 + next_section_and_step: israelite_history:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: 'Think about other foundation stories: George Washington and the cherry tree probably didn''t happen, but it expresses American values. Does that make it unimportant?' + metadata_add: + score: n+1 + next_section_and_step: israelite_history:step_1 + limited_effort: content_blocks: - - "## From Jewish Sect to Separate Religion" - - "**Initial Movement (30s-40s CE):**" - - "- Followers were Jews who believed Jesus was the messiah" - - "- Centered in Jerusalem" - - "- Followed Torah and Jewish practices" - - "- Expected Jesus' imminent return" - - "" - - "**Paul's Innovation (40s-60s CE):**" - - "- Took message to non-Jews (Gentiles)" - - "- Argued Gentiles didn't need to follow Jewish law (circumcision, kosher, etc.)" - - "- Christianity became accessible to broader population" - - "" - - "**Destruction of Jerusalem (70 CE):**" - - "- Romans destroy Temple after Jewish revolt" - - "- Jewish Christianity (Jerusalem-based) devastated" - - "- Gentile Christianity (Paul's version) continues to grow" - - "" - - "**By 100 CE:**" - - "- Christianity is mostly Gentile" - - "- Distinct from Judaism (though sharing scriptures)" - - "- Spreading throughout Roman Empire" - - "" - - "**Historical Irony:**" - - "A movement that began as Jewish messianism became predominantly non-Jewish within a generation." - question: "Why did Christianity transform from a Jewish movement expecting a political messiah to defeat Rome, into a religion focused on spiritual salvation that attracted Romans? What changed?" - tokens_for_ai: | - Looking for understanding of: - - Failed political messianic expectations (Jesus didn't defeat Rome) - - Theological reinterpretation after crucifixion - - Paul's innovations for Gentiles - - Adaptation after Temple destruction - - Categorize as: - - sophisticated_transformation: Understands theological reinterpretation after failed political expectations - - paul_focus: Emphasizes Paul's role in adaptation - - gentile_appeal: Understands removal of barriers attracted non-Jews - - failed_expectations: Grasps need to reinterpret after Jesus didn't fulfill political messianism - - partial_understanding: General thoughts - - limited_effort: Very brief - - asking_clarifying_questions: Needs more info - - off_topic: Unrelated - feedback_tokens_for_ai: | - Engage complex transformation. Jesus didn't defeat Rome (political messianism failed), - so followers reinterpreted: spiritual not political kingdom, suffering messiah, second - coming. Paul removed Jewish law requirements, making it accessible to Gentiles. Temple - destruction ended Jerusalem-based Jewish Christianity. This is one of history's great - religious transformations. - buckets: - - sophisticated_transformation - - paul_focus - - gentile_appeal - - failed_expectations - - partial_understanding - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - sophisticated_transformation: - ai_feedback: - tokens_for_ai: "Excellent analysis of religious transformation! Political messianic expectations failed (Jesus didn't defeat Rome), requiring theological reinterpretation: spiritual kingdom, suffering messiah, future return. This is sophisticated historical thinking." - metadata_add: - score: "n+3" - critical_thinking: "n+1" - next_section_and_step: "conclusion:step_1" - paul_focus: - ai_feedback: - tokens_for_ai: "Good focus on Paul's innovation! Removing requirements for Jewish law made Christianity accessible to Gentiles. This was crucial for its spread beyond Jewish communities." - metadata_add: - score: "n+2" - next_section_and_step: "conclusion:step_1" - gentile_appeal: - ai_feedback: - tokens_for_ai: "Important insight! Removing barriers (circumcision, kosher laws) allowed non-Jews to join without becoming fully Jewish. This opened Christianity to the wider Roman world." - metadata_add: - score: "n+2" - critical_thinking: "n+1" - next_section_and_step: "conclusion:step_1" - failed_expectations: - ai_feedback: - tokens_for_ai: "Good historical understanding! Jesus didn't fulfill political messianic expectations (defeating Rome), requiring reinterpretation of what 'messiah' meant. This theological creativity allowed the movement to survive." - metadata_add: - score: "n+2" - next_section_and_step: "conclusion:step_1" - partial_understanding: - ai_feedback: - tokens_for_ai: "Think about expectations: Jesus was executed, Rome wasn't defeated. How would followers reinterpret this? And why would Paul's version appeal to non-Jews?" - metadata_add: - score: "n+1" - next_section_and_step: "conclusion:step_1" - limited_effort: - content_blocks: - - "Consider two factors: 1) Jesus didn't defeat Rome as expected, 2) Paul removed Jewish law requirements. How did these shape Christianity's transformation?" - next_section_and_step: "new_testament:step_2" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about early Christianity, Paul, or religious transformation." - counts_as_attempt: false - next_section_and_step: "new_testament:step_2" - off_topic: - content_blocks: - - "Let's think about Christianity's transformation from Jewish sect to separate religion. What changed?" - next_section_and_step: "new_testament:step_2" - - - section_id: "conclusion" - title: "Conclusion: Historical Thinking and Ancient Texts" - steps: - - step_id: "step_1" - title: "Reflecting on Biblical History" + - 'Consider: Can a story be important even if it''s not literally factual? Think about how stories shape group identity.' + next_section_and_step: israelite_history:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about the Exodus, archaeology, or foundation myths. + counts_as_attempt: false + next_section_and_step: israelite_history:step_1 + off_topic: content_blocks: - - "## Congratulations, Ancient Historian! 📜" - - "You've explored biblical history through archaeology, ancient texts, and cultural context." - - "" - - "**Key Historical Thinking Skills:**" - - "✓ **Contextualizing** - Understanding texts within their historical setting" - - "✓ **Archaeological Evidence** - Using material remains to understand the past" - - "✓ **Cultural Exchange** - Recognizing how cultures influence each other" - - "✓ **Foundation Myths** - Understanding role of stories in identity" - - "✓ **Crisis and Adaptation** - How challenges drive innovation" - - "✓ **Transformation** - Religions change in response to historical circumstances" - - "" - - "**Themes Across Biblical History:**" - - "- Geography shapes history and culture" - - "- Small nations between empires develop strong identities" - - "- Stories serve purposes beyond literal history" - - "- Crisis drives religious innovation" - - "- Religions transform in response to circumstances" - - "" - - "**Why Historical Study Matters:**" - - "- Understand ancient texts in context" - - "- Appreciate cultural complexity of the ancient world" - - "- See how religions develop and change" - - "- Apply critical thinking to historical sources" - - "- Recognize patterns of cultural adaptation" - question: "What's the most interesting historical insight you gained from this activity? How does understanding the historical context change how you read ancient texts?" - tokens_for_ai: | - Reflection on historical learning. + - Let's think about the Exodus story's significance. Can stories be important even if not literally historical? + next_section_and_step: israelite_history:step_1 + - step_id: step_2 + title: United Monarchy and Division + content_blocks: + - '## Kings David and Solomon' + - '**Biblical Account:**' + - '- David unites tribes into a kingdom (~1000 BCE)' + - '- Solomon builds the First Temple in Jerusalem (~950 BCE)' + - '- Kingdom splits after Solomon''s death into Israel (north) and Judah (south)' + - '' + - '**Archaeological Evidence:**' + - '- **Tel Dan Stele (9th century BCE):** Mentions ''House of David'' - first non-biblical reference to David' + - '- **Limited evidence** for Solomon''s temple or extensive building projects' + - '- **No evidence** of empire described in biblical text' + - '- **Evidence of division:** Northern kingdom (Israel) and southern kingdom (Judah) had different pottery, architecture, practices' + - '' + - '**Historical Reconstruction:**' + - '- David and Solomon likely existed as local chieftains' + - '- Later writers (during exile) expanded their stories into tales of a golden age' + - '- The ''united monarchy'' may have been more limited than biblical account suggests' + - '' + - '**Why Matters:**' + - After the Babylonian exile (586 BCE), Jews longed for restoration of the Davidic monarchy + - This hope shaped messianic expectations + question: Why might the biblical writers, writing during or after the Babylonian exile, have portrayed David and Solomon's kingdom as larger and more glorious than historical evidence suggests? What purpose would such an idealized past serve? + tokens_for_ai: 'Looking for understanding of: - Categorize as: - - specific_insight: Identifies particular historical insight - - contextual_understanding: Emphasizes importance of historical context - - thoughtful_reflection: Meaningful reflection on learning - - general_reflection: Broader thoughts - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - Provide thoughtful, personalized feedback on their historical journey. Acknowledge insights - they shared throughout. Emphasize that understanding historical context enriches our - reading of ancient texts - whether approaching them religiously, literarily, or historically. - Suggest areas for further exploration based on their interests. - buckets: - - specific_insight - - contextual_understanding - - thoughtful_reflection - - general_reflection - - limited_effort - - off_topic - transitions: - specific_insight: - ai_feedback: - tokens_for_ai: "Excellent specific insight! Affirm their learning and suggest related topics for further exploration." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - contextual_understanding: - ai_feedback: - tokens_for_ai: "Great emphasis on historical context! This approach enriches understanding of any ancient text, religious or otherwise." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - thoughtful_reflection: - ai_feedback: - tokens_for_ai: "Thoughtful reflection on historical learning! Encourage continued exploration of ancient history and archaeology." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - general_reflection: - ai_feedback: - tokens_for_ai: "Thank them for engaging with biblical history. Suggest specific topics they might explore further." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - limited_effort: - ai_feedback: - tokens_for_ai: "Acknowledge their completion and encourage them to continue exploring the ancient world." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - off_topic: - content_blocks: - - "Reflect on your historical journey. What did you find most interesting about the ancient Near Eastern world?" - next_section_and_step: "conclusion:step_1" + - Writing in response to trauma/loss + + - Idealized past as hope for future + + - How suffering shapes memory + + - Messianic hopes + + + Categorize as: + + - sophisticated_analysis: Connects exile trauma to idealization of past + + - hope_focus: Sees idealized past as source of hope + + - identity_maintenance: Recognizes role in preserving identity during crisis + + - literary_purpose: Understands narrative function + + - partial_understanding: General thoughts + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs more info + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Engage their thinking about trauma and memory. People in exile, having lost everything, + + would remember a ''golden age'' and hope for its restoration. The idealized past provides + + both identity and hope for the future. This shapes messianic expectations - hope for a + + new David to restore the kingdom. + + ' + buckets: + - sophisticated_analysis + - hope_focus + - identity_maintenance + - literary_purpose + - partial_understanding + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + sophisticated_analysis: + ai_feedback: + tokens_for_ai: Excellent analysis of trauma and memory! In exile, an idealized past provides identity and hope for restoration. This shaped Jewish messianic expectations - longing for a new David. + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: exile_return:step_1 + hope_focus: + ai_feedback: + tokens_for_ai: Important insight about hope! The golden age of David/Solomon became a vision for the future - restoration of past glory. This shaped centuries of messianic hope. + metadata_add: + score: n+2 + next_section_and_step: exile_return:step_1 + identity_maintenance: + ai_feedback: + tokens_for_ai: Good understanding of identity! In exile, remembering a glorious past helped maintain Jewish identity and hope when everything was lost. + metadata_add: + score: n+2 + critical_thinking: n+1 + next_section_and_step: exile_return:step_1 + literary_purpose: + ai_feedback: + tokens_for_ai: Good literary analysis! The idealized monarchy served narrative and theological purposes - explaining why exile happened and what restoration might look like. + metadata_add: + score: n+2 + next_section_and_step: exile_return:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: Think about how people in crisis remember the past. If you've lost everything (exile), how might you remember 'the good old days'? + metadata_add: + score: n+1 + next_section_and_step: exile_return:step_1 + limited_effort: + content_blocks: + - 'Consider: if you''ve lost your homeland (exile), why might you idealize the past? What purpose would that serve?' + next_section_and_step: israelite_history:step_2 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about David, Solomon, the exile, or idealized history. + counts_as_attempt: false + next_section_and_step: israelite_history:step_2 + off_topic: + content_blocks: + - Let's think about the idealization of David and Solomon. Why would exiled people portray their past as more glorious? + next_section_and_step: israelite_history:step_2 +- section_id: exile_return + title: Exile, Return, and Second Temple Period + steps: + - step_id: step_1 + title: Babylonian Exile + content_blocks: + - '## The Babylonian Exile (586-539 BCE)' + - '**Historical Events:**' + - '- 586 BCE: Babylonians destroy Jerusalem and Solomon''s Temple' + - '- Judah''s elite are exiled to Babylon' + - '- 539 BCE: Persians conquer Babylon' + - '- 538 BCE: Persian King Cyrus allows Jews to return' + - '' + - '**Why the Exile Was Transformative:**' + - '' + - '**Before Exile:**' + - '- Temple-centered worship in Jerusalem' + - '- Sacrifices performed by priests' + - '- David''s descendants ruled as kings' + - '' + - '**After Exile:**' + - '- Synagogues emerged (gathering places for prayer/study)' + - '- Torah (written law) became central' + - '- Scribes and rabbis gained importance' + - '- Monotheism became strictly defined' + - '' + - '**The Exile Forced Questions:**' + - '- Why did God allow Jerusalem to fall?' + - '- Can we worship God without the Temple?' + - '- What does it mean to be Jewish in foreign lands?' + - '- How do we maintain identity without a homeland?' + - '' + - '**Most of the Hebrew Bible was edited/compiled during or after the exile**' + - The experience of exile profoundly shaped how the Bible was written. + question: The Babylonian exile forced Judaism to transform from a temple-based, land-based religion to one that could survive without either. Why do you think this crisis led to such religious creativity rather than the religion's disappearance? + tokens_for_ai: 'Looking for understanding of: + + - Crisis forcing adaptation + + - Innovation from necessity + + - Portable religion (Torah, synagogues) + + - Identity maintenance in diaspora + + + Categorize as: + + - sophisticated_analysis: Understands how crisis drives innovation + + - adaptation_focus: Emphasizes flexibility and change + + - portable_religion: Recognizes creation of non-territorial religion + + - identity_focus: Sees response to threat of assimilation + + - partial_understanding: General thoughts + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs more info + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Engage their thinking about crisis and adaptation. The exile could have ended Judaism, + + but instead sparked innovation: synagogues, written Torah, rabbis. This created a + + portable religion that could survive anywhere. This is one of history''s great examples + + of religious innovation in response to crisis. + + ' + buckets: + - sophisticated_analysis + - adaptation_focus + - portable_religion + - identity_focus + - partial_understanding + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + sophisticated_analysis: + ai_feedback: + tokens_for_ai: 'Excellent analysis of crisis and innovation! The exile threatened Judaism''s existence but sparked creativity: Torah, synagogues, and rabbis created a religion that could survive anywhere. This is a pivotal moment in religious history.' + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: new_testament:step_1 + adaptation_focus: + ai_feedback: + tokens_for_ai: Good understanding of adaptation! Faced with the Temple's destruction, Judaism transformed rather than disappeared. This flexibility ensured survival. + metadata_add: + score: n+2 + next_section_and_step: new_testament:step_1 + portable_religion: + ai_feedback: + tokens_for_ai: Excellent insight! The exile created a 'portable' religion - Torah scrolls, synagogues, and practices that worked anywhere. This allowed Judaism to survive dispersal worldwide. + metadata_add: + score: n+2 + critical_thinking: n+1 + next_section_and_step: new_testament:step_1 + identity_focus: + ai_feedback: + tokens_for_ai: Important point about identity! The threat of assimilation in Babylon forced Jews to define what made them distinctive - leading to emphasis on Torah and practices. + metadata_add: + score: n+2 + next_section_and_step: new_testament:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: Think about what Judaism needed to survive without Temple and land. What innovations made religion 'portable'? + metadata_add: + score: n+1 + next_section_and_step: new_testament:step_1 + limited_effort: + content_blocks: + - 'Consider: the Temple was destroyed, the land was lost. What changes would allow Judaism to survive anyway?' + next_section_and_step: exile_return:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about the exile, religious innovation, or survival strategies. + counts_as_attempt: false + next_section_and_step: exile_return:step_1 + off_topic: + content_blocks: + - Let's think about how the exile transformed Judaism. Why did crisis lead to innovation rather than disappearance? + next_section_and_step: exile_return:step_1 +- section_id: new_testament + title: The Roman Period and Early Christianity + steps: + - step_id: step_1 + title: Roman Judea and Messianic Expectations + content_blocks: + - '## 1st Century CE: Roman Occupation' + - '**Historical Context:**' + - '- 63 BCE: Romans conquer Judea' + - '- Jews under foreign rule (again) - Romans, not Babylonians' + - '- Heavy taxation, political oppression' + - '- Various resistance movements' + - '' + - '**Diverse Jewish Groups (from historical sources):**' + - '' + - '**Pharisees:**' + - '- Emphasized Torah study and oral law' + - '- Believed in resurrection of the dead' + - '- Precursors to rabbinical Judaism' + - '' + - '**Sadducees:**' + - '- Priestly aristocracy controlling the Temple' + - '- Collaborated with Romans' + - '- Rejected resurrection belief' + - '' + - '**Essenes:**' + - '- Ascetic community in the desert (Dead Sea Scrolls)' + - '- Awaited apocalyptic end times' + - '' + - '**Zealots:**' + - '- Armed resistance against Rome' + - '- Eventually sparked the Jewish War (66-73 CE)' + - '' + - '**Messianic Expectations:**' + - 'Many Jews expected a messiah (anointed king) to:' + - '- Restore Davidic kingdom' + - '- Defeat the Romans' + - '- Rebuild/purify the Temple' + - '- Usher in God''s kingdom' + question: Jesus emerged in this context of Roman occupation and messianic hope. Why do you think his movement attracted followers but also led to his execution by Roman authorities? + tokens_for_ai: 'Looking for understanding of: + + - Political context of messianic claims + + - Rome''s view of potential revolutionaries + + - Jewish diversity of expectations + + - Crucifixion as political punishment + + + Categorize as: + + - political_analysis: Understands political threat of messianic claims + + - roman_perspective: Considers how Romans viewed such movements + + - jewish_context: Situates Jesus within Jewish messianic expectations + + - nuanced_understanding: Sees complexity of political/religious/social factors + + - partial_understanding: General thoughts + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs more info + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Engage historical context. Messianic claims were political threats to Rome (claiming + + to be ''King of the Jews'' challenges Roman authority). Crucifixion was Roman punishment + + for political rebels, not religious heretics. Jesus'' movement attracted followers + + precisely because of messianic hopes, but this made him dangerous to authorities. + + ' + buckets: + - political_analysis + - roman_perspective + - jewish_context + - nuanced_understanding + - partial_understanding + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + political_analysis: + ai_feedback: + tokens_for_ai: Excellent political analysis! Messianic claims were inherently political - claiming to be 'King of the Jews' challenged Roman authority. Crucifixion was how Romans dealt with political rebels. + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: new_testament:step_2 + roman_perspective: + ai_feedback: + tokens_for_ai: Good historical perspective! From Rome's viewpoint, anyone claiming to be a king/messiah was a potential revolutionary. Crucifixion sent a message about challenging Roman power. + metadata_add: + score: n+2 + next_section_and_step: new_testament:step_2 + jewish_context: + ai_feedback: + tokens_for_ai: Good contextualization! Jesus fit into existing Jewish messianic expectations - which is why he attracted followers - but also why authorities saw him as dangerous. + metadata_add: + score: n+2 + critical_thinking: n+1 + next_section_and_step: new_testament:step_2 + nuanced_understanding: + ai_feedback: + tokens_for_ai: Sophisticated historical thinking! You understand the complex political, religious, and social factors that made Jesus' movement both attractive and threatening. + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: new_testament:step_2 + partial_understanding: + ai_feedback: + tokens_for_ai: Think about the political context. What would Romans think of someone claiming to be 'King of the Jews'? How would they respond? + metadata_add: + score: n+1 + next_section_and_step: new_testament:step_1 + limited_effort: + content_blocks: + - 'Consider: Judea is under Roman occupation. Someone claims to be the ''King of the Jews.'' How would Rome view this?' + next_section_and_step: new_testament:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about Roman Judea, messianic movements, or crucifixion. + counts_as_attempt: false + next_section_and_step: new_testament:step_1 + off_topic: + content_blocks: + - Let's think about the political context. Why would messianic claims attract followers but threaten authorities? + next_section_and_step: new_testament:step_1 + - step_id: step_2 + title: Early Christianity's Transformation + content_blocks: + - '## From Jewish Sect to Separate Religion' + - '**Initial Movement (30s-40s CE):**' + - '- Followers were Jews who believed Jesus was the messiah' + - '- Centered in Jerusalem' + - '- Followed Torah and Jewish practices' + - '- Expected Jesus'' imminent return' + - '' + - '**Paul''s Innovation (40s-60s CE):**' + - '- Took message to non-Jews (Gentiles)' + - '- Argued Gentiles didn''t need to follow Jewish law (circumcision, kosher, etc.)' + - '- Christianity became accessible to broader population' + - '' + - '**Destruction of Jerusalem (70 CE):**' + - '- Romans destroy Temple after Jewish revolt' + - '- Jewish Christianity (Jerusalem-based) devastated' + - '- Gentile Christianity (Paul''s version) continues to grow' + - '' + - '**By 100 CE:**' + - '- Christianity is mostly Gentile' + - '- Distinct from Judaism (though sharing scriptures)' + - '- Spreading throughout Roman Empire' + - '' + - '**Historical Irony:**' + - A movement that began as Jewish messianism became predominantly non-Jewish within a generation. + question: Why did Christianity transform from a Jewish movement expecting a political messiah to defeat Rome, into a religion focused on spiritual salvation that attracted Romans? What changed? + tokens_for_ai: 'Looking for understanding of: + + - Failed political messianic expectations (Jesus didn''t defeat Rome) + + - Theological reinterpretation after crucifixion + + - Paul''s innovations for Gentiles + + - Adaptation after Temple destruction + + + Categorize as: + + - sophisticated_transformation: Understands theological reinterpretation after failed political expectations + + - paul_focus: Emphasizes Paul''s role in adaptation + + - gentile_appeal: Understands removal of barriers attracted non-Jews + + - failed_expectations: Grasps need to reinterpret after Jesus didn''t fulfill political messianism + + - partial_understanding: General thoughts + + - limited_effort: Very brief + + - asking_clarifying_questions: Needs more info + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Engage complex transformation. Jesus didn''t defeat Rome (political messianism failed), + + so followers reinterpreted: spiritual not political kingdom, suffering messiah, second + + coming. Paul removed Jewish law requirements, making it accessible to Gentiles. Temple + + destruction ended Jerusalem-based Jewish Christianity. This is one of history''s great + + religious transformations. + + ' + buckets: + - sophisticated_transformation + - paul_focus + - gentile_appeal + - failed_expectations + - partial_understanding + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + sophisticated_transformation: + ai_feedback: + tokens_for_ai: 'Excellent analysis of religious transformation! Political messianic expectations failed (Jesus didn''t defeat Rome), requiring theological reinterpretation: spiritual kingdom, suffering messiah, future return. This is sophisticated historical thinking.' + metadata_add: + score: n+3 + critical_thinking: n+1 + next_section_and_step: conclusion:step_1 + paul_focus: + ai_feedback: + tokens_for_ai: Good focus on Paul's innovation! Removing requirements for Jewish law made Christianity accessible to Gentiles. This was crucial for its spread beyond Jewish communities. + metadata_add: + score: n+2 + next_section_and_step: conclusion:step_1 + gentile_appeal: + ai_feedback: + tokens_for_ai: Important insight! Removing barriers (circumcision, kosher laws) allowed non-Jews to join without becoming fully Jewish. This opened Christianity to the wider Roman world. + metadata_add: + score: n+2 + critical_thinking: n+1 + next_section_and_step: conclusion:step_1 + failed_expectations: + ai_feedback: + tokens_for_ai: Good historical understanding! Jesus didn't fulfill political messianic expectations (defeating Rome), requiring reinterpretation of what 'messiah' meant. This theological creativity allowed the movement to survive. + metadata_add: + score: n+2 + next_section_and_step: conclusion:step_1 + partial_understanding: + ai_feedback: + tokens_for_ai: 'Think about expectations: Jesus was executed, Rome wasn''t defeated. How would followers reinterpret this? And why would Paul''s version appeal to non-Jews?' + metadata_add: + score: n+1 + next_section_and_step: conclusion:step_1 + limited_effort: + content_blocks: + - 'Consider two factors: 1) Jesus didn''t defeat Rome as expected, 2) Paul removed Jewish law requirements. How did these shape Christianity''s transformation?' + next_section_and_step: new_testament:step_2 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about early Christianity, Paul, or religious transformation. + counts_as_attempt: false + next_section_and_step: new_testament:step_2 + off_topic: + content_blocks: + - Let's think about Christianity's transformation from Jewish sect to separate religion. What changed? + next_section_and_step: new_testament:step_2 +- section_id: conclusion + title: 'Conclusion: Historical Thinking and Ancient Texts' + steps: + - step_id: step_1 + title: Reflecting on Biblical History + content_blocks: + - '## Congratulations, Ancient Historian! 📜' + - You've explored biblical history through archaeology, ancient texts, and cultural context. + - '' + - '**Key Historical Thinking Skills:**' + - ✓ **Contextualizing** - Understanding texts within their historical setting + - ✓ **Archaeological Evidence** - Using material remains to understand the past + - ✓ **Cultural Exchange** - Recognizing how cultures influence each other + - ✓ **Foundation Myths** - Understanding role of stories in identity + - ✓ **Crisis and Adaptation** - How challenges drive innovation + - ✓ **Transformation** - Religions change in response to historical circumstances + - '' + - '**Themes Across Biblical History:**' + - '- Geography shapes history and culture' + - '- Small nations between empires develop strong identities' + - '- Stories serve purposes beyond literal history' + - '- Crisis drives religious innovation' + - '- Religions transform in response to circumstances' + - '' + - '**Why Historical Study Matters:**' + - '- Understand ancient texts in context' + - '- Appreciate cultural complexity of the ancient world' + - '- See how religions develop and change' + - '- Apply critical thinking to historical sources' + - '- Recognize patterns of cultural adaptation' + question: What's the most interesting historical insight you gained from this activity? How does understanding the historical context change how you read ancient texts? + tokens_for_ai: 'Reflection on historical learning. + + + Categorize as: + + - specific_insight: Identifies particular historical insight + + - contextual_understanding: Emphasizes importance of historical context + + - thoughtful_reflection: Meaningful reflection on learning + + - general_reflection: Broader thoughts + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Provide thoughtful, personalized feedback on their historical journey. Acknowledge insights + + they shared throughout. Emphasize that understanding historical context enriches our + + reading of ancient texts - whether approaching them religiously, literarily, or historically. + + Suggest areas for further exploration based on their interests. + + ' + buckets: + - specific_insight + - contextual_understanding + - thoughtful_reflection + - general_reflection + - limited_effort + - off_topic + transitions: + specific_insight: + ai_feedback: + tokens_for_ai: Excellent specific insight! Affirm their learning and suggest related topics for further exploration. + metadata_add: + activity_completed: 'true' + contextual_understanding: + ai_feedback: + tokens_for_ai: Great emphasis on historical context! This approach enriches understanding of any ancient text, religious or otherwise. + metadata_add: + activity_completed: 'true' + thoughtful_reflection: + ai_feedback: + tokens_for_ai: Thoughtful reflection on historical learning! Encourage continued exploration of ancient history and archaeology. + metadata_add: + activity_completed: 'true' + general_reflection: + ai_feedback: + tokens_for_ai: Thank them for engaging with biblical history. Suggest specific topics they might explore further. + metadata_add: + activity_completed: 'true' + limited_effort: + ai_feedback: + tokens_for_ai: Acknowledge their completion and encourage them to continue exploring the ancient world. + metadata_add: + activity_completed: 'true' + off_topic: + content_blocks: + - Reflect on your historical journey. What did you find most interesting about the ancient Near Eastern world? + next_section_and_step: conclusion:step_1 diff --git a/research/activity37-programming-languages.yaml b/research/activity37-programming-languages.yaml index fdd7ceb..521cbc7 100644 --- a/research/activity37-programming-languages.yaml +++ b/research/activity37-programming-languages.yaml @@ -1,943 +1,1147 @@ default_max_attempts_per_step: 3 +classifier_model: MODEL_0 +feedback_model: MODEL_1 +tokens_for_ai_rubric: 'Evaluate the student''s understanding of programming concepts in their chosen language. -# Model configuration -# classifier_model: Fast classification into buckets (correct, partial, etc.) -# MODEL_0 = Hermes (your stable default) -# -# feedback_model: Code generation and feedback -# MODEL_1 = Qwen (specialized for code in your setup) -# -classifier_model: "MODEL_0" -feedback_model: "MODEL_1" - -tokens_for_ai_rubric: | - Evaluate the student's understanding of programming concepts in their chosen language. Consider: + - Grasp of fundamental concepts (variables, types, control flow, functions) + - Ability to write code that uses stdout to display output + - Understanding of syntax in their chosen language + - Problem-solving approach + - Progression from simple to complex concepts + Provide encouraging feedback adapted to their specific programming language. + ' sections: - - section_id: "introduction" - title: "Welcome to Programming" - steps: - - step_id: "welcome" - title: "Choose Your Language" +- section_id: introduction + title: Welcome to Programming + steps: + - step_id: welcome + title: Choose Your Language + content_blocks: + - '# Learn Programming: Your Language, Your Journey 💻' + - Welcome to programming! You'll learn fundamental concepts that apply to all programming languages. + - '' + - '**First, choose your programming language:**' + - '' + - '**Popular choices:**' + - '- Python (beginner-friendly, powerful, widely used)' + - '- JavaScript (web development, interactive websites)' + - '- Java (enterprise applications, Android)' + - '- C++ (systems programming, games, performance-critical)' + - '- C# (game development with Unity, Windows apps)' + - '- Ruby (web development, elegant syntax)' + - '- Go (modern, fast, concurrent systems)' + - '- Rust (memory-safe systems programming)' + - '- Swift (iOS/Mac development)' + - '- Kotlin (Android development, modern JVM)' + - '' + - '**Or any other language you''re interested in:**' + - '- PHP, Perl, R, Julia, Scala, Haskell, Elixir, Lua, TypeScript, Dart, Objective-C, Visual Basic, COBOL, Fortran, Assembly, etc.' + - '' + - '**All programming languages share core concepts** - what you learn in one language helps you learn others!' + question: Which programming language would you like to learn? (Type the name of any programming language) + tokens_for_ai: 'The student is choosing a programming language. Store their choice in metadata. + + + Accept ANY programming language they name (Python, JavaScript, C++, COBOL, Brainfuck, whatever). + + Be enthusiastic about their choice regardless of language. + + + For the REST of this activity: + + - ALL code examples must be in their chosen language + + - ALL explanations must be adapted to their language''s syntax and conventions + + - ALL feedback must reference their specific language + + + Categorize as: + + - language_chosen: Student named a programming language (any language) + + - set_language: Student setting human language preference (not programming language) + + - off_topic: Didn''t choose a programming language + + ' + buckets: + - language_chosen + - set_language + - off_topic + transitions: + language_chosen: + ai_feedback: + tokens_for_ai: 'Identify the programming language they chose. Be enthusiastic! + + Say something like: "Excellent choice! [Language] is great for [typical use cases]." + + Store the EXACT language name they provided in metadata. + + + Remember: From now on, ALL code examples and explanations must be in their chosen language. + + ' + metadata_add: + programming_language: the-users-response + counts_as_attempt: false + next_section_and_step: hello_world:step_1 + set_language: content_blocks: - - "# Learn Programming: Your Language, Your Journey 💻" - - "Welcome to programming! You'll learn fundamental concepts that apply to all programming languages." - - "" - - "**First, choose your programming language:**" - - "" - - "**Popular choices:**" - - "- Python (beginner-friendly, powerful, widely used)" - - "- JavaScript (web development, interactive websites)" - - "- Java (enterprise applications, Android)" - - "- C++ (systems programming, games, performance-critical)" - - "- C# (game development with Unity, Windows apps)" - - "- Ruby (web development, elegant syntax)" - - "- Go (modern, fast, concurrent systems)" - - "- Rust (memory-safe systems programming)" - - "- Swift (iOS/Mac development)" - - "- Kotlin (Android development, modern JVM)" - - "" - - "**Or any other language you're interested in:**" - - "- PHP, Perl, R, Julia, Scala, Haskell, Elixir, Lua, TypeScript, Dart, Objective-C, Visual Basic, COBOL, Fortran, Assembly, etc." - - "" - - "**All programming languages share core concepts** - what you learn in one language helps you learn others!" - question: "Which programming language would you like to learn? (Type the name of any programming language)" - tokens_for_ai: | - The student is choosing a programming language. Store their choice in metadata. - - Accept ANY programming language they name (Python, JavaScript, C++, COBOL, Brainfuck, whatever). - Be enthusiastic about their choice regardless of language. - - For the REST of this activity: - - ALL code examples must be in their chosen language - - ALL explanations must be adapted to their language's syntax and conventions - - ALL feedback must reference their specific language - - Categorize as: - - language_chosen: Student named a programming language (any language) - - set_language: Student setting human language preference (not programming language) - - off_topic: Didn't choose a programming language - buckets: - - language_chosen - - set_language - - off_topic - transitions: - language_chosen: - ai_feedback: - tokens_for_ai: | - Identify the programming language they chose. Be enthusiastic! - Say something like: "Excellent choice! [Language] is great for [typical use cases]." - Store the EXACT language name they provided in metadata. - - Remember: From now on, ALL code examples and explanations must be in their chosen language. - metadata_add: - programming_language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "hello_world:step_1" - set_language: - content_blocks: - - "I'll communicate in your preferred human language. But please also choose a PROGRAMMING language to learn (like Python, JavaScript, C++, etc.)" - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - off_topic: - content_blocks: - - "Please choose a programming language you'd like to learn. You can pick any language - Python, JavaScript, C++, or any other language you're interested in!" - counts_as_attempt: false - next_section_and_step: "introduction:welcome" - - - section_id: "hello_world" - title: "Hello World - Your First Program" - steps: - - step_id: "step_1" - title: "Displaying Output" + - I'll communicate in your preferred human language. But please also choose a PROGRAMMING language to learn (like Python, JavaScript, C++, etc.) + counts_as_attempt: false + next_section_and_step: introduction:welcome + off_topic: content_blocks: - - "## Your First Program: Hello World! 👋" - - "The traditional first program in any language is 'Hello World' - a program that displays text to the screen." - - "" - - "**In programming, we use stdout (standard output) to display messages.**" - - "" - - "Different languages have different ways to write to stdout, but they all do the same thing: show text to the user." - question: "How do you display 'Hello, World!' to stdout in your chosen language? Write the complete code." - tokens_for_ai: | - IMPORTANT: Get the student's chosen language from metadata (programming_language). + - Please choose a programming language you'd like to learn. You can pick any language - Python, JavaScript, C++, or any other language you're interested in! + counts_as_attempt: false + next_section_and_step: introduction:welcome +- section_id: hello_world + title: Hello World - Your First Program + steps: + - step_id: step_1 + title: Displaying Output + content_blocks: + - '## Your First Program: Hello World! 👋' + - The traditional first program in any language is 'Hello World' - a program that displays text to the screen. + - '' + - '**In programming, we use stdout (standard output) to display messages.**' + - '' + - 'Different languages have different ways to write to stdout, but they all do the same thing: show text to the user.' + question: How do you display 'Hello, World!' to stdout in your chosen language? Write the complete code. + tokens_for_ai: 'IMPORTANT: Get the student''s chosen language from metadata (programming_language). - Evaluate their Hello World code in THAT specific language. - Examples of correct Hello World in various languages: - - Python: print("Hello, World!") - - JavaScript: console.log("Hello, World!"); - - Java: System.out.println("Hello, World!"); - - C++: std::cout << "Hello, World!" << std::endl; - - C: printf("Hello, World!\n"); - - Ruby: puts "Hello, World!" - - Go: fmt.Println("Hello, World!") - - Rust: println!("Hello, World!"); - - PHP: echo "Hello, World!"; - - Swift: print("Hello, World!") + Evaluate their Hello World code in THAT specific language. - If they write correct code for their language, praise them! - If incorrect, show them the correct syntax for their specific language. - Categorize as: - - correct: Valid Hello World code in their chosen language - - close: Has the right idea but syntax errors - - wrong_language: Used a different language than they chose - - incomplete: Missing parts - - limited_effort: Too brief or unclear - - asking_clarifying_questions: Asking for help - - off_topic: Not attempting the task - feedback_tokens_for_ai: | - Provide feedback specific to their language. - If correct, show enthusiasm! - If incorrect, show the correct syntax and explain it. + Examples of correct Hello World in various languages: - Always show the correct code for their specific language. - buckets: - - correct - - close - - wrong_language - - incomplete - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Perfect! That's exactly how you write Hello World in [their language]. Explain what each part does (the output function/statement, the string, any semicolons/syntax)." - metadata_add: - score: "n+2" - concepts_mastered: "n+1" - next_section_and_step: "hello_world:step_2" - close: - ai_feedback: - tokens_for_ai: "You have the right idea! Show them the correct syntax for their language and explain what was slightly off." - metadata_add: - score: "n+1" - next_section_and_step: "hello_world:step_2" - wrong_language: - ai_feedback: - tokens_for_ai: "That looks like code for a different language! You chose [their language]. Here's how you do it in [their language]: [show correct code]" - next_section_and_step: "hello_world:step_1" - incomplete: - ai_feedback: - tokens_for_ai: "You're on the right track but missing some parts. Show the complete Hello World code for their language." - next_section_and_step: "hello_world:step_1" - limited_effort: - content_blocks: - - "Try writing the actual code! How does your chosen language display text to the screen?" - next_section_and_step: "hello_world:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Help them with their question, then show the Hello World code for their specific language." - counts_as_attempt: false - next_section_and_step: "hello_world:step_1" - off_topic: - content_blocks: - - "Let's write your first program! How do you display 'Hello, World!' in your chosen language?" - next_section_and_step: "hello_world:step_1" + - Python: print("Hello, World!") - - step_id: "step_2" - title: "Multiple Outputs" + - JavaScript: console.log("Hello, World!"); + + - Java: System.out.println("Hello, World!"); + + - C++: std::cout << "Hello, World!" << std::endl; + + - C: printf("Hello, World!\n"); + + - Ruby: puts "Hello, World!" + + - Go: fmt.Println("Hello, World!") + + - Rust: println!("Hello, World!"); + + - PHP: echo "Hello, World!"; + + - Swift: print("Hello, World!") + + + If they write correct code for their language, praise them! + + If incorrect, show them the correct syntax for their specific language. + + + Categorize as: + + - correct: Valid Hello World code in their chosen language + + - close: Has the right idea but syntax errors + + - wrong_language: Used a different language than they chose + + - incomplete: Missing parts + + - limited_effort: Too brief or unclear + + - asking_clarifying_questions: Asking for help + + - off_topic: Not attempting the task + + ' + feedback_tokens_for_ai: 'Provide feedback specific to their language. + + If correct, show enthusiasm! + + If incorrect, show the correct syntax and explain it. + + + Always show the correct code for their specific language. + + ' + buckets: + - correct + - close + - wrong_language + - incomplete + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Perfect! That's exactly how you write Hello World in [their language]. Explain what each part does (the output function/statement, the string, any semicolons/syntax). + metadata_add: + score: n+2 + concepts_mastered: n+1 + next_section_and_step: hello_world:step_2 + close: + ai_feedback: + tokens_for_ai: You have the right idea! Show them the correct syntax for their language and explain what was slightly off. + metadata_add: + score: n+1 + next_section_and_step: hello_world:step_1 + wrong_language: + ai_feedback: + tokens_for_ai: 'That looks like code for a different language! You chose [their language]. Here''s how you do it in [their language]: [show correct code]' + next_section_and_step: hello_world:step_1 + incomplete: + ai_feedback: + tokens_for_ai: You're on the right track but missing some parts. Show the complete Hello World code for their language. + next_section_and_step: hello_world:step_1 + limited_effort: content_blocks: - - "## Displaying Multiple Lines" - - "Great! Now let's display multiple messages." - - "" - - "You can write to stdout multiple times in a row to display several lines of text." - question: "Write a program that displays three lines to stdout: 'My first program', 'Learning to code', and 'This is fun!' (each on its own line)" - tokens_for_ai: | - The student should write code in THEIR chosen language (from metadata) that outputs three lines. - - Check that: - - Code is in their chosen language - - Outputs all three strings - - Each on a separate line (using newlines or multiple output statements) - - Categorize as: - - correct: Valid code outputting all three lines in their language - - close: Right idea, minor syntax issues - - missing_newlines: All on one line instead of three - - incomplete: Missing one or more lines - - wrong_language: Used different language - - limited_effort: Too brief - - asking_clarifying_questions: Asking for help - - off_topic: Not attempting - feedback_tokens_for_ai: | - Provide feedback specific to their language. - Show the correct code if needed. - Explain how newlines work in their language (\\n in strings, or separate output statements, etc.). - buckets: - - correct - - close - - missing_newlines - - incomplete - - wrong_language - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Excellent! You've written multiple output statements in [their language]. Explain how they can use this to build more complex programs." - metadata_add: - score: "n+2" - concepts_mastered: "n+1" - next_section_and_step: "variables:step_1" - close: - ai_feedback: - tokens_for_ai: "Almost there! Show the correct code and explain the minor issue." - metadata_add: - score: "n+1" - next_section_and_step: "variables:step_1" - missing_newlines: - ai_feedback: - tokens_for_ai: "Good try! But they should be on separate lines. Show how to create newlines in their language (either \\n in strings or multiple statements)." - next_section_and_step: "hello_world:step_2" - incomplete: - ai_feedback: - tokens_for_ai: "You're missing one or more of the required lines. Show the complete code for their language." - next_section_and_step: "hello_world:step_2" - wrong_language: - ai_feedback: - tokens_for_ai: "Remember, you're learning [their language]! Here's how to do it in [their language]: [show code]" - next_section_and_step: "hello_world:step_2" - limited_effort: - content_blocks: - - "Write the actual code to display all three messages!" - next_section_and_step: "hello_world:step_2" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question, then guide them on how to output multiple lines in their language." - counts_as_attempt: false - next_section_and_step: "hello_world:step_2" - off_topic: - content_blocks: - - "Write code to display three lines of text using your chosen language." - next_section_and_step: "hello_world:step_2" - - - section_id: "variables" - title: "Variables and Data Types" - steps: - - step_id: "step_1" - title: "Creating Variables" + - Try writing the actual code! How does your chosen language display text to the screen? + next_section_and_step: hello_world:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Help them with their question, then show the Hello World code for their specific language. + counts_as_attempt: false + next_section_and_step: hello_world:step_1 + off_topic: content_blocks: - - "## Variables: Storing Information 📦" - - "Variables let you store and reuse data in your programs." - - "" - - "**Think of a variable as a labeled box:**" - - "- The label is the variable name" - - "- The contents is the value" - - "- You can look inside the box (read the value)" - - "- You can change what's inside (update the value)" - - "" - - "Different languages have different syntax for creating variables, but the concept is universal." - question: "Write a program that creates a variable called 'name' with your name as the value, then displays it to stdout." - tokens_for_ai: | - Check that student writes code in THEIR language that: - - Creates a variable (using their language's syntax) - - Assigns a string value to it - - Outputs the variable to stdout + - Let's write your first program! How do you display 'Hello, World!' in your chosen language? + next_section_and_step: hello_world:step_1 + - step_id: step_2 + title: Multiple Outputs + content_blocks: + - '## Displaying Multiple Lines' + - Great! Now let's display multiple messages. + - '' + - You can write to stdout multiple times in a row to display several lines of text. + question: 'Write a program that displays three lines to stdout: ''My first program'', ''Learning to code'', and ''This is fun!'' (each on its own line)' + tokens_for_ai: 'The student should write code in THEIR chosen language (from metadata) that outputs three lines. - Examples: - - Python: name = "Alice" \\n print(name) - - JavaScript: let name = "Alice"; \\n console.log(name); - - Java: String name = "Alice"; \\n System.out.println(name); - - C++: std::string name = "Alice"; \\n std::cout << name << std::endl; - Categorize as: - - correct: Valid variable creation and output in their language - - close: Right idea, minor syntax issues - - missing_declaration: In typed languages, forgot type - - wrong_output: Created variable but didn't output it - - hardcoded_output: Outputted string directly instead of using variable - - wrong_language: Used different language - - limited_effort: Too brief - - asking_clarifying_questions: Needs help - - off_topic: Not attempting - feedback_tokens_for_ai: | - Provide feedback for their specific language. - Show correct syntax for variable declaration (including type if their language requires it). - Explain how to output a variable in their language. - buckets: - - correct - - close - - missing_declaration - - wrong_output - - hardcoded_output - - wrong_language - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Perfect! You've created a variable and displayed it in [their language]. Explain how variables make code reusable and dynamic." - metadata_add: - score: "n+2" - concepts_mastered: "n+1" - next_section_and_step: "variables:step_2" - close: - ai_feedback: - tokens_for_ai: "Almost! Show the correct syntax and explain the issue." - metadata_add: - score: "n+1" - next_section_and_step: "variables:step_2" - missing_declaration: - ai_feedback: - tokens_for_ai: "In [their language], you need to declare the variable type. Show the correct syntax with type declaration." - next_section_and_step: "variables:step_1" - wrong_output: - ai_feedback: - tokens_for_ai: "You created the variable but didn't display it! Show how to output the variable in their language." - next_section_and_step: "variables:step_1" - hardcoded_output: - ai_feedback: - tokens_for_ai: "You need to store the value in a variable first, then display the VARIABLE, not the string directly. Show the correct approach." - next_section_and_step: "variables:step_1" - wrong_language: - ai_feedback: - tokens_for_ai: "That's not [their language] syntax! Here's how to create and display a variable in [their language]: [show code]" - next_section_and_step: "variables:step_1" - limited_effort: - content_blocks: - - "Write the actual code! Create a variable and then display it." - next_section_and_step: "variables:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about variables in their specific language." - counts_as_attempt: false - next_section_and_step: "variables:step_1" - off_topic: - content_blocks: - - "Create a variable with your name and display it using your chosen language." - next_section_and_step: "variables:step_1" + Check that: - - step_id: "step_2" - title: "Data Types" + - Code is in their chosen language + + - Outputs all three strings + + - Each on a separate line (using newlines or multiple output statements) + + + Categorize as: + + - correct: Valid code outputting all three lines in their language + + - close: Right idea, minor syntax issues + + - missing_newlines: All on one line instead of three + + - incomplete: Missing one or more lines + + - wrong_language: Used different language + + - limited_effort: Too brief + + - asking_clarifying_questions: Asking for help + + - off_topic: Not attempting + + ' + feedback_tokens_for_ai: 'Provide feedback specific to their language. + + Show the correct code if needed. + + Explain how newlines work in their language (\\n in strings, or separate output statements, etc.). + + ' + buckets: + - correct + - close + - missing_newlines + - incomplete + - wrong_language + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Excellent! You've written multiple output statements in [their language]. Explain how they can use this to build more complex programs. + metadata_add: + score: n+2 + concepts_mastered: n+1 + next_section_and_step: variables:step_1 + close: + ai_feedback: + tokens_for_ai: Almost there! Show the correct code and explain the minor issue. + metadata_add: + score: n+1 + next_section_and_step: hello_world:step_2 + missing_newlines: + ai_feedback: + tokens_for_ai: Good try! But they should be on separate lines. Show how to create newlines in their language (either \n in strings or multiple statements). + next_section_and_step: hello_world:step_2 + incomplete: + ai_feedback: + tokens_for_ai: You're missing one or more of the required lines. Show the complete code for their language. + next_section_and_step: hello_world:step_2 + wrong_language: + ai_feedback: + tokens_for_ai: 'Remember, you''re learning [their language]! Here''s how to do it in [their language]: [show code]' + next_section_and_step: hello_world:step_2 + limited_effort: content_blocks: - - "## Understanding Data Types" - - "Variables can hold different types of data:" - - "" - - "**Common data types:**" - - "- **Strings:** Text (\"hello\")" - - "- **Integers:** Whole numbers (42)" - - "- **Floats/Decimals:** Numbers with decimal points (3.14)" - - "- **Booleans:** True or false values" - - "" - - "Some languages require you to specify the type (statically typed), others figure it out automatically (dynamically typed)." - question: "Write a program with three variables: an integer (age), a decimal/float (height in meters), and a string (city). Display all three with labels, like 'Age: 25', 'Height: 1.75', 'City: Tokyo'" - tokens_for_ai: | - Check that student creates three variables of different types and outputs them with labels. - - For their specific language: - - Integer variable - - Float/decimal variable - - String variable - - Outputs each with descriptive label - - Categorize as: - - correct: All three types declared and outputted correctly - - close: Right idea, minor issues - - missing_types: In typed language, didn't specify types - - wrong_types: Used wrong type for data (string for number, etc.) - - missing_labels: Outputted values but without labels - - incomplete: Missing one or more variables - - wrong_language: Used different language - - limited_effort: Too brief - - asking_clarifying_questions: Needs help - - off_topic: Not attempting - feedback_tokens_for_ai: | - For their language, show: - - How to declare each type - - How to output strings and variables together (concatenation or formatting) - - Any type-specific syntax - - If statically typed language (Java, C++, etc.): ensure they declared types - If dynamically typed (Python, JavaScript, Ruby): explain that types are inferred - buckets: - - correct - - close - - missing_types - - wrong_types - - missing_labels - - incomplete - - wrong_language - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Excellent! You've worked with multiple data types in [their language]. Explain how different types are used for different purposes." - metadata_add: - score: "n+3" - concepts_mastered: "n+1" - next_section_and_step: "control_flow:step_1" - close: - ai_feedback: - tokens_for_ai: "Good work! Show the corrected version and explain string concatenation or formatting in their language." - metadata_add: - score: "n+2" - next_section_and_step: "control_flow:step_1" - missing_types: - ai_feedback: - tokens_for_ai: "In [their language], you need to specify variable types. Show the correct syntax with type declarations." - next_section_and_step: "variables:step_2" - wrong_types: - ai_feedback: - tokens_for_ai: "Check your data types! Numbers shouldn't be in quotes (they'd be strings). Show the correct way to declare each type." - next_section_and_step: "variables:step_2" - missing_labels: - ai_feedback: - tokens_for_ai: "Add labels like 'Age: 25' so it's clear what each value represents. Show how to combine strings and variables in their language." - next_section_and_step: "variables:step_2" - incomplete: - ai_feedback: - tokens_for_ai: "You need all three variables (integer, float, string). Show the complete code." - next_section_and_step: "variables:step_2" - wrong_language: - ai_feedback: - tokens_for_ai: "That's not [their language]! Here's how to declare different types in [their language]: [show code]" - next_section_and_step: "variables:step_2" - limited_effort: - content_blocks: - - "Write complete code with all three variable types and display them with labels!" - next_section_and_step: "variables:step_2" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about data types or string formatting in their language." - counts_as_attempt: false - next_section_and_step: "variables:step_2" - off_topic: - content_blocks: - - "Create three variables of different types (integer, float, string) and display them." - next_section_and_step: "variables:step_2" - - - section_id: "control_flow" - title: "Control Flow: Making Decisions" - steps: - - step_id: "step_1" - title: "If Statements" + - Write the actual code to display all three messages! + next_section_and_step: hello_world:step_2 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question, then guide them on how to output multiple lines in their language. + counts_as_attempt: false + next_section_and_step: hello_world:step_2 + off_topic: content_blocks: - - "## Conditional Logic 🔀" - - "Programs need to make decisions based on conditions." - - "" - - "**If statements** let your code take different paths:" - - "- IF condition is true, do this" - - "- ELSE, do that" - - "" - - "This is how programs respond to different situations!" - question: "Write a program that: creates a variable for age, then uses an if/else statement to display 'Adult' if age is 18 or older, or 'Minor' if younger. Test with age = 20." - tokens_for_ai: | - Check their if/else code in their chosen language. + - Write code to display three lines of text using your chosen language. + next_section_and_step: hello_world:step_2 +- section_id: variables + title: Variables and Data Types + steps: + - step_id: step_1 + title: Creating Variables + content_blocks: + - '## Variables: Storing Information 📦' + - Variables let you store and reuse data in your programs. + - '' + - '**Think of a variable as a labeled box:**' + - '- The label is the variable name' + - '- The contents is the value' + - '- You can look inside the box (read the value)' + - '- You can change what''s inside (update the value)' + - '' + - Different languages have different syntax for creating variables, but the concept is universal. + question: Write a program that creates a variable called 'name' with your name as the value, then displays it to stdout. + tokens_for_ai: 'Check that student writes code in THEIR language that: - Should have: - - Age variable (set to 20 or any value) - - If statement checking if age >= 18 - - Displays "Adult" if true - - Else displays "Minor" - - Uses stdout for output + - Creates a variable (using their language''s syntax) - Categorize as: - - correct: Valid if/else in their language - - close: Right logic, minor syntax issues - - wrong_comparison: Used wrong operator (==, <, etc.) - - missing_else: Has if but no else - - logic_error: Backwards logic (minor when >= 18) - - wrong_language: Used different language - - limited_effort: Too brief - - asking_clarifying_questions: Needs help - - off_topic: Not attempting - feedback_tokens_for_ai: | - Show if/else syntax for their specific language. - Explain: - - Comparison operators in their language - - How to structure if/else blocks - - Any language-specific syntax (colons, braces, etc.) - buckets: - - correct - - close - - wrong_comparison - - missing_else - - logic_error - - wrong_language - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Perfect if/else statement in [their language]! Explain how conditional logic lets programs make decisions." - metadata_add: - score: "n+3" - concepts_mastered: "n+1" - next_section_and_step: "control_flow:step_2" - close: - ai_feedback: - tokens_for_ai: "Good logic! Fix the minor syntax issue and show the correct version." - metadata_add: - score: "n+2" - next_section_and_step: "control_flow:step_2" - wrong_comparison: - ai_feedback: - tokens_for_ai: "Check your comparison operator! You need 'greater than or equal to 18'. Show the correct operator for their language (>=)." - next_section_and_step: "control_flow:step_1" - missing_else: - ai_feedback: - tokens_for_ai: "You need an else clause for when age < 18. Show the complete if/else structure in their language." - next_section_and_step: "control_flow:step_1" - logic_error: - ai_feedback: - tokens_for_ai: "Your logic is backwards! Age >= 18 should be 'Adult', not 'Minor'. Show the corrected version." - next_section_and_step: "control_flow:step_1" - wrong_language: - ai_feedback: - tokens_for_ai: "That's not [their language] syntax! Here's how if/else works in [their language]: [show code]" - next_section_and_step: "control_flow:step_1" - limited_effort: - content_blocks: - - "Write the complete if/else code to check age and display the appropriate message!" - next_section_and_step: "control_flow:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about if/else statements in their language." - counts_as_attempt: false - next_section_and_step: "control_flow:step_1" - off_topic: - content_blocks: - - "Write an if/else statement to check if age is 18 or older." - next_section_and_step: "control_flow:step_1" + - Assigns a string value to it - - step_id: "step_2" - title: "Loops" + - Outputs the variable to stdout + + + Examples: + + - Python: name = "Alice" \\n print(name) + + - JavaScript: let name = "Alice"; \\n console.log(name); + + - Java: String name = "Alice"; \\n System.out.println(name); + + - C++: std::string name = "Alice"; \\n std::cout << name << std::endl; + + + Categorize as: + + - correct: Valid variable creation and output in their language + + - close: Right idea, minor syntax issues + + - missing_declaration: In typed languages, forgot type + + - wrong_output: Created variable but didn''t output it + + - hardcoded_output: Outputted string directly instead of using variable + + - wrong_language: Used different language + + - limited_effort: Too brief + + - asking_clarifying_questions: Needs help + + - off_topic: Not attempting + + ' + feedback_tokens_for_ai: 'Provide feedback for their specific language. + + Show correct syntax for variable declaration (including type if their language requires it). + + Explain how to output a variable in their language. + + ' + buckets: + - correct + - close + - missing_declaration + - wrong_output + - hardcoded_output + - wrong_language + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Perfect! You've created a variable and displayed it in [their language]. Explain how variables make code reusable and dynamic. + metadata_add: + score: n+2 + concepts_mastered: n+1 + next_section_and_step: variables:step_2 + close: + ai_feedback: + tokens_for_ai: Almost! Show the correct syntax and explain the issue. + metadata_add: + score: n+1 + next_section_and_step: variables:step_1 + missing_declaration: + ai_feedback: + tokens_for_ai: In [their language], you need to declare the variable type. Show the correct syntax with type declaration. + next_section_and_step: variables:step_1 + wrong_output: + ai_feedback: + tokens_for_ai: You created the variable but didn't display it! Show how to output the variable in their language. + next_section_and_step: variables:step_1 + hardcoded_output: + ai_feedback: + tokens_for_ai: You need to store the value in a variable first, then display the VARIABLE, not the string directly. Show the correct approach. + next_section_and_step: variables:step_1 + wrong_language: + ai_feedback: + tokens_for_ai: 'That''s not [their language] syntax! Here''s how to create and display a variable in [their language]: [show code]' + next_section_and_step: variables:step_1 + limited_effort: content_blocks: - - "## Loops: Repeating Actions 🔁" - - "Loops let you repeat code multiple times without writing it over and over." - - "" - - "**Common loop types:**" - - "- **For loop:** Repeat a specific number of times" - - "- **While loop:** Repeat as long as a condition is true" - - "" - - "Loops are essential for processing lists, counting, and repetitive tasks." - question: "Write a program using a for loop that displays the numbers 1 through 5 to stdout, each on its own line." - tokens_for_ai: | - Check their for loop code in their chosen language. - - Should: - - Use a for loop (or equivalent iteration construct) - - Display numbers 1, 2, 3, 4, 5 - - Each number on separate line - - Use stdout - - Note: Loop syntax varies WIDELY between languages! - - Python: for i in range(1, 6): print(i) - - JavaScript: for (let i = 1; i <= 5; i++) console.log(i); - - Java: for (int i = 1; i <= 5; i++) System.out.println(i); - - C++: for (int i = 1; i <= 5; i++) std::cout << i << std::endl; - - Categorize as: - - correct: Valid for loop in their language - - close: Right idea, minor syntax issues - - off_by_one: Shows 0-4 or 1-6 instead of 1-5 - - wrong_loop_type: Used while instead of for (acceptable if works) - - missing_output: Loop exists but doesn't display - - wrong_language: Used different language - - limited_effort: Too brief - - asking_clarifying_questions: Needs help - - off_topic: Not attempting - feedback_tokens_for_ai: | - Show for loop syntax for their specific language. - Explain: - - How to initialize loop variable - - How to set the condition - - How to increment - - Language-specific syntax (parentheses, colons, braces, etc.) - - If they used a while loop that works, that's acceptable - mention that for loops - are more common for counting. - buckets: - - correct - - close - - off_by_one - - wrong_loop_type - - missing_output - - wrong_language - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Excellent for loop in [their language]! Explain how loops save you from writing repetitive code." - metadata_add: - score: "n+3" - concepts_mastered: "n+1" - next_section_and_step: "functions:step_1" - close: - ai_feedback: - tokens_for_ai: "Good approach! Fix the syntax issue and show the correct version." - metadata_add: - score: "n+2" - next_section_and_step: "functions:step_1" - off_by_one: - ai_feedback: - tokens_for_ai: "Close! But you're displaying the wrong numbers. Should be 1-5. Show the corrected loop for their language." - next_section_and_step: "control_flow:step_2" - wrong_loop_type: - ai_feedback: - tokens_for_ai: "Your while loop works! But try using a for loop - it's more common for counting. Show the for loop version." - metadata_add: - score: "n+2" - next_section_and_step: "functions:step_1" - missing_output: - ai_feedback: - tokens_for_ai: "You have a loop but it's not displaying anything! Add output inside the loop body." - next_section_and_step: "control_flow:step_2" - wrong_language: - ai_feedback: - tokens_for_ai: "That's not [their language]! Here's the for loop syntax in [their language]: [show code]" - next_section_and_step: "control_flow:step_2" - limited_effort: - content_blocks: - - "Write a complete for loop that displays 1, 2, 3, 4, 5!" - next_section_and_step: "control_flow:step_2" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about for loops in their specific language." - counts_as_attempt: false - next_section_and_step: "control_flow:step_2" - off_topic: - content_blocks: - - "Write a for loop that displays numbers 1 through 5." - next_section_and_step: "control_flow:step_2" - - - section_id: "functions" - title: "Functions: Reusable Code" - steps: - - step_id: "step_1" - title: "Creating Functions" + - Write the actual code! Create a variable and then display it. + next_section_and_step: variables:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about variables in their specific language. + counts_as_attempt: false + next_section_and_step: variables:step_1 + off_topic: content_blocks: - - "## Functions: Organize Your Code 📦" - - "Functions let you group code into reusable blocks that you can call by name." - - "" - - "**Benefits of functions:**" - - "- Reusability (write once, use many times)" - - "- Organization (break complex programs into manageable pieces)" - - "- Abstraction (hide implementation details)" - - "" - - "**Functions can:**" - - "- Take inputs (parameters/arguments)" - - "- Perform actions" - - "- Return outputs (return values)" - question: "Write a function called 'greet' that takes a name as a parameter and displays 'Hello, [name]!' to stdout. Then call the function with your own name." - tokens_for_ai: | - Check their function code in their chosen language. + - Create a variable with your name and display it using your chosen language. + next_section_and_step: variables:step_1 + - step_id: step_2 + title: Data Types + content_blocks: + - '## Understanding Data Types' + - 'Variables can hold different types of data:' + - '' + - '**Common data types:**' + - '- **Strings:** Text ("hello")' + - '- **Integers:** Whole numbers (42)' + - '- **Floats/Decimals:** Numbers with decimal points (3.14)' + - '- **Booleans:** True or false values' + - '' + - Some languages require you to specify the type (statically typed), others figure it out automatically (dynamically typed). + question: 'Write a program with three variables: an integer (age), a decimal/float (height in meters), and a string (city). Display all three with labels, like ''Age: 25'', ''Height: 1.75'', ''City: Tokyo''' + tokens_for_ai: 'Check that student creates three variables of different types and outputs them with labels. - Should have: - - Function definition/declaration named 'greet' - - Takes one parameter (name) - - Outputs "Hello, [name]!" to stdout - - Function is called with a name - Function syntax varies greatly: - - Python: def greet(name): \\n print(f"Hello, {name}!") - - JavaScript: function greet(name) { console.log(\`Hello, ${name}!\`); } - - Java: void greet(String name) { System.out.println("Hello, " + name + "!"); } + For their specific language: - Categorize as: - - correct: Valid function definition and call - - close: Right idea, minor syntax issues - - missing_call: Defined function but didn't call it - - missing_parameter: Function doesn't take parameter - - hardcoded_name: Doesn't use parameter, outputs fixed name - - wrong_language: Used different language - - limited_effort: Too brief - - asking_clarifying_questions: Needs help - - off_topic: Not attempting - feedback_tokens_for_ai: | - For their language, explain: - - How to define a function - - How to specify parameters - - How to use parameters inside function - - How to call the function - - Any language-specific syntax (def, function keyword, return types, etc.) - buckets: - - correct - - close - - missing_call - - missing_parameter - - hardcoded_name - - wrong_language - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Perfect function in [their language]! You've defined it, used a parameter, and called it. Explain how functions make code reusable." - metadata_add: - score: "n+3" - concepts_mastered: "n+1" - next_section_and_step: "functions:step_2" - close: - ai_feedback: - tokens_for_ai: "Good function structure! Fix the syntax issue and show the corrected version." - metadata_add: - score: "n+2" - next_section_and_step: "functions:step_2" - missing_call: - ai_feedback: - tokens_for_ai: "You defined the function but didn't call it! Show how to call the function with a name." - next_section_and_step: "functions:step_1" - missing_parameter: - ai_feedback: - tokens_for_ai: "Your function needs to accept a name parameter! Show how to add parameters in their language." - next_section_and_step: "functions:step_1" - hardcoded_name: - ai_feedback: - tokens_for_ai: "You need to USE the parameter inside the function, not hardcode a name. Show how to use the parameter." - next_section_and_step: "functions:step_1" - wrong_language: - ai_feedback: - tokens_for_ai: "That's not [their language]! Here's how to define and call functions in [their language]: [show code]" - next_section_and_step: "functions:step_1" - limited_effort: - content_blocks: - - "Write a complete function that takes a name parameter and displays a greeting!" - next_section_and_step: "functions:step_1" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about functions in their specific language." - counts_as_attempt: false - next_section_and_step: "functions:step_1" - off_topic: - content_blocks: - - "Create a function that takes a name and displays a greeting." - next_section_and_step: "functions:step_1" + - Integer variable - - step_id: "step_2" - title: "Return Values" + - Float/decimal variable + + - String variable + + - Outputs each with descriptive label + + + Categorize as: + + - correct: All three types declared and outputted correctly + + - close: Right idea, minor issues + + - missing_types: In typed language, didn''t specify types + + - wrong_types: Used wrong type for data (string for number, etc.) + + - missing_labels: Outputted values but without labels + + - incomplete: Missing one or more variables + + - wrong_language: Used different language + + - limited_effort: Too brief + + - asking_clarifying_questions: Needs help + + - off_topic: Not attempting + + ' + feedback_tokens_for_ai: 'For their language, show: + + - How to declare each type + + - How to output strings and variables together (concatenation or formatting) + + - Any type-specific syntax + + + If statically typed language (Java, C++, etc.): ensure they declared types + + If dynamically typed (Python, JavaScript, Ruby): explain that types are inferred + + ' + buckets: + - correct + - close + - missing_types + - wrong_types + - missing_labels + - incomplete + - wrong_language + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Excellent! You've worked with multiple data types in [their language]. Explain how different types are used for different purposes. + metadata_add: + score: n+3 + concepts_mastered: n+1 + next_section_and_step: control_flow:step_1 + close: + ai_feedback: + tokens_for_ai: Good work! Show the corrected version and explain string concatenation or formatting in their language. + metadata_add: + score: n+2 + next_section_and_step: variables:step_2 + missing_types: + ai_feedback: + tokens_for_ai: In [their language], you need to specify variable types. Show the correct syntax with type declarations. + next_section_and_step: variables:step_2 + wrong_types: + ai_feedback: + tokens_for_ai: Check your data types! Numbers shouldn't be in quotes (they'd be strings). Show the correct way to declare each type. + next_section_and_step: variables:step_2 + missing_labels: + ai_feedback: + tokens_for_ai: 'Add labels like ''Age: 25'' so it''s clear what each value represents. Show how to combine strings and variables in their language.' + next_section_and_step: variables:step_2 + incomplete: + ai_feedback: + tokens_for_ai: You need all three variables (integer, float, string). Show the complete code. + next_section_and_step: variables:step_2 + wrong_language: + ai_feedback: + tokens_for_ai: 'That''s not [their language]! Here''s how to declare different types in [their language]: [show code]' + next_section_and_step: variables:step_2 + limited_effort: content_blocks: - - "## Functions That Return Values" - - "So far, our function just displays output. Functions can also RETURN values that can be used elsewhere." - - "" - - "**Return values let you:**" - - "- Calculate something and send the result back" - - "- Use the result in other calculations" - - "- Store the result in a variable" - question: "Write a function called 'add' that takes two numbers as parameters, returns their sum, and then call it with 5 and 3 and display the result to stdout." - tokens_for_ai: | - Check their function with return value. - - Should have: - - Function named 'add' - - Takes two parameters (numbers) - - Returns the sum - - Function is called with 5 and 3 - - Result is displayed to stdout - - Categorize as: - - correct: Valid function with return, called correctly, result displayed - - close: Right idea, minor issues - - displays_instead_of_return: Function outputs instead of returning - - missing_display: Returns but doesn't display result - - missing_call: Defined but didn't call - - wrong_language: Used different language - - limited_effort: Too brief - - asking_clarifying_questions: Needs help - - off_topic: Not attempting - feedback_tokens_for_ai: | - For their language, explain: - - How to return a value (return keyword or equivalent) - - Difference between returning and displaying - - How to capture and use returned value - - How to display the result - - Some languages (like early BASIC) don't have explicit return statements - be flexible! - buckets: - - correct - - close - - displays_instead_of_return - - missing_display - - missing_call - - wrong_language - - limited_effort - - asking_clarifying_questions - - off_topic - transitions: - correct: - ai_feedback: - tokens_for_ai: "Excellent! You've mastered functions with return values in [their language]. Explain the difference between returning and displaying." - metadata_add: - score: "n+3" - concepts_mastered: "n+1" - next_section_and_step: "conclusion:step_1" - close: - ai_feedback: - tokens_for_ai: "Good work! Fix the minor issue and show the correct version." - metadata_add: - score: "n+2" - next_section_and_step: "conclusion:step_1" - displays_instead_of_return: - ai_feedback: - tokens_for_ai: "Your function displays the sum instead of returning it. Show how to use return to send the value back." - next_section_and_step: "functions:step_2" - missing_display: - ai_feedback: - tokens_for_ai: "You're returning the value but not displaying it! Show how to capture the returned value and display it." - next_section_and_step: "functions:step_2" - missing_call: - ai_feedback: - tokens_for_ai: "You defined the function but didn't call it with 5 and 3! Show how to call it and display the result." - next_section_and_step: "functions:step_2" - wrong_language: - ai_feedback: - tokens_for_ai: "That's not [their language]! Here's how return values work in [their language]: [show code]" - next_section_and_step: "functions:step_2" - limited_effort: - content_blocks: - - "Write a complete function that returns a sum, call it, and display the result!" - next_section_and_step: "functions:step_2" - asking_clarifying_questions: - ai_feedback: - tokens_for_ai: "Answer their question about return values in their language." - counts_as_attempt: false - next_section_and_step: "functions:step_2" - off_topic: - content_blocks: - - "Create a function that returns the sum of two numbers." - next_section_and_step: "functions:step_2" - - - section_id: "conclusion" - title: "Congratulations, Programmer!" - steps: - - step_id: "step_1" - title: "Your Programming Journey" + - Write complete code with all three variable types and display them with labels! + next_section_and_step: variables:step_2 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about data types or string formatting in their language. + counts_as_attempt: false + next_section_and_step: variables:step_2 + off_topic: content_blocks: - - "## Congratulations! You've Learned to Program! 🎉" - - "You've mastered fundamental programming concepts that work in ANY language." - - "" - - "**Core concepts you've learned:**" - - "✓ **Output (stdout)** - Displaying information to users" - - "✓ **Variables** - Storing and managing data" - - "✓ **Data Types** - Different kinds of information (strings, numbers, booleans)" - - "✓ **Conditional Logic** - Making decisions with if/else" - - "✓ **Loops** - Repeating actions efficiently" - - "✓ **Functions** - Organizing code into reusable blocks" - - "✓ **Return Values** - Functions that calculate and return results" - - "" - - "**These concepts are universal!**" - - "Whether you continue with your chosen language or learn another one, these fundamentals remain the same." - - "" - - "**Next steps in your programming journey:**" - - "- Practice by building small projects" - - "- Learn about arrays/lists and dictionaries/maps" - - "- Explore object-oriented programming (classes and objects)" - - "- Study algorithms and data structures" - - "- Build something that interests you!" - - "" - - "**Remember:** The best way to learn programming is by writing code and solving problems." - question: "What would you like to build with your new programming skills? What kind of program interests you?" - tokens_for_ai: | - This is a reflection question. + - Create three variables of different types (integer, float, string) and display them. + next_section_and_step: variables:step_2 +- section_id: control_flow + title: 'Control Flow: Making Decisions' + steps: + - step_id: step_1 + title: If Statements + content_blocks: + - '## Conditional Logic 🔀' + - Programs need to make decisions based on conditions. + - '' + - '**If statements** let your code take different paths:' + - '- IF condition is true, do this' + - '- ELSE, do that' + - '' + - This is how programs respond to different situations! + question: 'Write a program that: creates a variable for age, then uses an if/else statement to display ''Adult'' if age is 18 or older, or ''Minor'' if younger. Test with age = 20.' + tokens_for_ai: 'Check their if/else code in their chosen language. - Based on their answer, provide encouragement and suggestions for their specific language. - Suggest projects appropriate for beginners in their chosen language. - Categorize as: - - specific_project: Has a specific project idea - - general_interest: General area of interest (games, websites, data, etc.) - - exploring: Still exploring what to build - - limited_effort: Very brief - - off_topic: Unrelated - feedback_tokens_for_ai: | - Provide enthusiastic, personalized feedback! + Should have: - Reference their specific programming language. - Suggest beginner-friendly projects for their language and interests. - Encourage them to start small and build up. - Remind them that the programming community is welcoming and helpful. + - Age variable (set to 20 or any value) - Celebrate their completion of the fundamentals! - buckets: - - specific_project - - general_interest - - exploring - - limited_effort - - off_topic - transitions: - specific_project: - ai_feedback: - tokens_for_ai: "Great project idea! For [their language], suggest how they might approach that project. Recommend beginner-friendly libraries or frameworks if applicable. Encourage them to start with a simple version." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - general_interest: - ai_feedback: - tokens_for_ai: "Great area of interest! For [interest area] in [their language], suggest 2-3 beginner projects they could start with. Provide encouragement and resources." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - exploring: - ai_feedback: - tokens_for_ai: "Exploration is great! For [their language], suggest 3-4 different types of beginner projects they could try (web, automation, data analysis, games, etc.) to discover what they enjoy." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - limited_effort: - ai_feedback: - tokens_for_ai: "Congratulate them on completing programming fundamentals in [their language]! Encourage them to build something, even if it's small." - metadata_add: - activity_completed: "true" - next_section_and_step: "conclusion:step_1" - off_topic: - content_blocks: - - "Think about what interests you! What kind of program would you like to create with your new skills?" - next_section_and_step: "conclusion:step_1" + - If statement checking if age >= 18 + + - Displays "Adult" if true + + - Else displays "Minor" + + - Uses stdout for output + + + Categorize as: + + - correct: Valid if/else in their language + + - close: Right logic, minor syntax issues + + - wrong_comparison: Used wrong operator (==, <, etc.) + + - missing_else: Has if but no else + + - logic_error: Backwards logic (minor when >= 18) + + - wrong_language: Used different language + + - limited_effort: Too brief + + - asking_clarifying_questions: Needs help + + - off_topic: Not attempting + + ' + feedback_tokens_for_ai: 'Show if/else syntax for their specific language. + + Explain: + + - Comparison operators in their language + + - How to structure if/else blocks + + - Any language-specific syntax (colons, braces, etc.) + + ' + buckets: + - correct + - close + - wrong_comparison + - missing_else + - logic_error + - wrong_language + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Perfect if/else statement in [their language]! Explain how conditional logic lets programs make decisions. + metadata_add: + score: n+3 + concepts_mastered: n+1 + next_section_and_step: control_flow:step_2 + close: + ai_feedback: + tokens_for_ai: Good logic! Fix the minor syntax issue and show the correct version. + metadata_add: + score: n+2 + next_section_and_step: control_flow:step_1 + wrong_comparison: + ai_feedback: + tokens_for_ai: Check your comparison operator! You need 'greater than or equal to 18'. Show the correct operator for their language (>=). + next_section_and_step: control_flow:step_1 + missing_else: + ai_feedback: + tokens_for_ai: You need an else clause for when age < 18. Show the complete if/else structure in their language. + next_section_and_step: control_flow:step_1 + logic_error: + ai_feedback: + tokens_for_ai: Your logic is backwards! Age >= 18 should be 'Adult', not 'Minor'. Show the corrected version. + next_section_and_step: control_flow:step_1 + wrong_language: + ai_feedback: + tokens_for_ai: 'That''s not [their language] syntax! Here''s how if/else works in [their language]: [show code]' + next_section_and_step: control_flow:step_1 + limited_effort: + content_blocks: + - Write the complete if/else code to check age and display the appropriate message! + next_section_and_step: control_flow:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about if/else statements in their language. + counts_as_attempt: false + next_section_and_step: control_flow:step_1 + off_topic: + content_blocks: + - Write an if/else statement to check if age is 18 or older. + next_section_and_step: control_flow:step_1 + - step_id: step_2 + title: Loops + content_blocks: + - '## Loops: Repeating Actions 🔁' + - Loops let you repeat code multiple times without writing it over and over. + - '' + - '**Common loop types:**' + - '- **For loop:** Repeat a specific number of times' + - '- **While loop:** Repeat as long as a condition is true' + - '' + - Loops are essential for processing lists, counting, and repetitive tasks. + question: Write a program using a for loop that displays the numbers 1 through 5 to stdout, each on its own line. + tokens_for_ai: 'Check their for loop code in their chosen language. + + + Should: + + - Use a for loop (or equivalent iteration construct) + + - Display numbers 1, 2, 3, 4, 5 + + - Each number on separate line + + - Use stdout + + + Note: Loop syntax varies WIDELY between languages! + + - Python: for i in range(1, 6): print(i) + + - JavaScript: for (let i = 1; i <= 5; i++) console.log(i); + + - Java: for (int i = 1; i <= 5; i++) System.out.println(i); + + - C++: for (int i = 1; i <= 5; i++) std::cout << i << std::endl; + + + Categorize as: + + - correct: Valid for loop in their language + + - close: Right idea, minor syntax issues + + - off_by_one: Shows 0-4 or 1-6 instead of 1-5 + + - wrong_loop_type: Used while instead of for (acceptable if works) + + - missing_output: Loop exists but doesn''t display + + - wrong_language: Used different language + + - limited_effort: Too brief + + - asking_clarifying_questions: Needs help + + - off_topic: Not attempting + + ' + feedback_tokens_for_ai: 'Show for loop syntax for their specific language. + + Explain: + + - How to initialize loop variable + + - How to set the condition + + - How to increment + + - Language-specific syntax (parentheses, colons, braces, etc.) + + + If they used a while loop that works, that''s acceptable - mention that for loops + + are more common for counting. + + ' + buckets: + - correct + - close + - off_by_one + - wrong_loop_type + - missing_output + - wrong_language + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Excellent for loop in [their language]! Explain how loops save you from writing repetitive code. + metadata_add: + score: n+3 + concepts_mastered: n+1 + next_section_and_step: functions:step_1 + close: + ai_feedback: + tokens_for_ai: Good approach! Fix the syntax issue and show the correct version. + metadata_add: + score: n+2 + next_section_and_step: control_flow:step_2 + off_by_one: + ai_feedback: + tokens_for_ai: Close! But you're displaying the wrong numbers. Should be 1-5. Show the corrected loop for their language. + next_section_and_step: control_flow:step_2 + wrong_loop_type: + ai_feedback: + tokens_for_ai: Your while loop works! But try using a for loop - it's more common for counting. Show the for loop version. + metadata_add: + score: n+2 + next_section_and_step: functions:step_1 + missing_output: + ai_feedback: + tokens_for_ai: You have a loop but it's not displaying anything! Add output inside the loop body. + next_section_and_step: control_flow:step_2 + wrong_language: + ai_feedback: + tokens_for_ai: 'That''s not [their language]! Here''s the for loop syntax in [their language]: [show code]' + next_section_and_step: control_flow:step_2 + limited_effort: + content_blocks: + - Write a complete for loop that displays 1, 2, 3, 4, 5! + next_section_and_step: control_flow:step_2 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about for loops in their specific language. + counts_as_attempt: false + next_section_and_step: control_flow:step_2 + off_topic: + content_blocks: + - Write a for loop that displays numbers 1 through 5. + next_section_and_step: control_flow:step_2 +- section_id: functions + title: 'Functions: Reusable Code' + steps: + - step_id: step_1 + title: Creating Functions + content_blocks: + - '## Functions: Organize Your Code 📦' + - Functions let you group code into reusable blocks that you can call by name. + - '' + - '**Benefits of functions:**' + - '- Reusability (write once, use many times)' + - '- Organization (break complex programs into manageable pieces)' + - '- Abstraction (hide implementation details)' + - '' + - '**Functions can:**' + - '- Take inputs (parameters/arguments)' + - '- Perform actions' + - '- Return outputs (return values)' + question: Write a function called 'greet' that takes a name as a parameter and displays 'Hello, [name]!' to stdout. Then call the function with your own name. + tokens_for_ai: 'Check their function code in their chosen language. + + + Should have: + + - Function definition/declaration named ''greet'' + + - Takes one parameter (name) + + - Outputs "Hello, [name]!" to stdout + + - Function is called with a name + + + Function syntax varies greatly: + + - Python: def greet(name): \\n print(f"Hello, {name}!") + + - JavaScript: function greet(name) { console.log(\`Hello, ${name}!\`); } + + - Java: void greet(String name) { System.out.println("Hello, " + name + "!"); } + + + Categorize as: + + - correct: Valid function definition and call + + - close: Right idea, minor syntax issues + + - missing_call: Defined function but didn''t call it + + - missing_parameter: Function doesn''t take parameter + + - hardcoded_name: Doesn''t use parameter, outputs fixed name + + - wrong_language: Used different language + + - limited_effort: Too brief + + - asking_clarifying_questions: Needs help + + - off_topic: Not attempting + + ' + feedback_tokens_for_ai: 'For their language, explain: + + - How to define a function + + - How to specify parameters + + - How to use parameters inside function + + - How to call the function + + - Any language-specific syntax (def, function keyword, return types, etc.) + + ' + buckets: + - correct + - close + - missing_call + - missing_parameter + - hardcoded_name + - wrong_language + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Perfect function in [their language]! You've defined it, used a parameter, and called it. Explain how functions make code reusable. + metadata_add: + score: n+3 + concepts_mastered: n+1 + next_section_and_step: functions:step_2 + close: + ai_feedback: + tokens_for_ai: Good function structure! Fix the syntax issue and show the corrected version. + metadata_add: + score: n+2 + next_section_and_step: functions:step_1 + missing_call: + ai_feedback: + tokens_for_ai: You defined the function but didn't call it! Show how to call the function with a name. + next_section_and_step: functions:step_1 + missing_parameter: + ai_feedback: + tokens_for_ai: Your function needs to accept a name parameter! Show how to add parameters in their language. + next_section_and_step: functions:step_1 + hardcoded_name: + ai_feedback: + tokens_for_ai: You need to USE the parameter inside the function, not hardcode a name. Show how to use the parameter. + next_section_and_step: functions:step_1 + wrong_language: + ai_feedback: + tokens_for_ai: 'That''s not [their language]! Here''s how to define and call functions in [their language]: [show code]' + next_section_and_step: functions:step_1 + limited_effort: + content_blocks: + - Write a complete function that takes a name parameter and displays a greeting! + next_section_and_step: functions:step_1 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about functions in their specific language. + counts_as_attempt: false + next_section_and_step: functions:step_1 + off_topic: + content_blocks: + - Create a function that takes a name and displays a greeting. + next_section_and_step: functions:step_1 + - step_id: step_2 + title: Return Values + content_blocks: + - '## Functions That Return Values' + - So far, our function just displays output. Functions can also RETURN values that can be used elsewhere. + - '' + - '**Return values let you:**' + - '- Calculate something and send the result back' + - '- Use the result in other calculations' + - '- Store the result in a variable' + question: Write a function called 'add' that takes two numbers as parameters, returns their sum, and then call it with 5 and 3 and display the result to stdout. + tokens_for_ai: 'Check their function with return value. + + + Should have: + + - Function named ''add'' + + - Takes two parameters (numbers) + + - Returns the sum + + - Function is called with 5 and 3 + + - Result is displayed to stdout + + + Categorize as: + + - correct: Valid function with return, called correctly, result displayed + + - close: Right idea, minor issues + + - displays_instead_of_return: Function outputs instead of returning + + - missing_display: Returns but doesn''t display result + + - missing_call: Defined but didn''t call + + - wrong_language: Used different language + + - limited_effort: Too brief + + - asking_clarifying_questions: Needs help + + - off_topic: Not attempting + + ' + feedback_tokens_for_ai: 'For their language, explain: + + - How to return a value (return keyword or equivalent) + + - Difference between returning and displaying + + - How to capture and use returned value + + - How to display the result + + + Some languages (like early BASIC) don''t have explicit return statements - be flexible! + + ' + buckets: + - correct + - close + - displays_instead_of_return + - missing_display + - missing_call + - wrong_language + - limited_effort + - asking_clarifying_questions + - off_topic + transitions: + correct: + ai_feedback: + tokens_for_ai: Excellent! You've mastered functions with return values in [their language]. Explain the difference between returning and displaying. + metadata_add: + score: n+3 + concepts_mastered: n+1 + next_section_and_step: conclusion:step_1 + close: + ai_feedback: + tokens_for_ai: Good work! Fix the minor issue and show the correct version. + metadata_add: + score: n+2 + next_section_and_step: functions:step_2 + displays_instead_of_return: + ai_feedback: + tokens_for_ai: Your function displays the sum instead of returning it. Show how to use return to send the value back. + next_section_and_step: functions:step_2 + missing_display: + ai_feedback: + tokens_for_ai: You're returning the value but not displaying it! Show how to capture the returned value and display it. + next_section_and_step: functions:step_2 + missing_call: + ai_feedback: + tokens_for_ai: You defined the function but didn't call it with 5 and 3! Show how to call it and display the result. + next_section_and_step: functions:step_2 + wrong_language: + ai_feedback: + tokens_for_ai: 'That''s not [their language]! Here''s how return values work in [their language]: [show code]' + next_section_and_step: functions:step_2 + limited_effort: + content_blocks: + - Write a complete function that returns a sum, call it, and display the result! + next_section_and_step: functions:step_2 + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: Answer their question about return values in their language. + counts_as_attempt: false + next_section_and_step: functions:step_2 + off_topic: + content_blocks: + - Create a function that returns the sum of two numbers. + next_section_and_step: functions:step_2 +- section_id: conclusion + title: Congratulations, Programmer! + steps: + - step_id: step_1 + title: Your Programming Journey + content_blocks: + - '## Congratulations! You''ve Learned to Program! 🎉' + - You've mastered fundamental programming concepts that work in ANY language. + - '' + - '**Core concepts you''ve learned:**' + - ✓ **Output (stdout)** - Displaying information to users + - ✓ **Variables** - Storing and managing data + - ✓ **Data Types** - Different kinds of information (strings, numbers, booleans) + - ✓ **Conditional Logic** - Making decisions with if/else + - ✓ **Loops** - Repeating actions efficiently + - ✓ **Functions** - Organizing code into reusable blocks + - ✓ **Return Values** - Functions that calculate and return results + - '' + - '**These concepts are universal!**' + - Whether you continue with your chosen language or learn another one, these fundamentals remain the same. + - '' + - '**Next steps in your programming journey:**' + - '- Practice by building small projects' + - '- Learn about arrays/lists and dictionaries/maps' + - '- Explore object-oriented programming (classes and objects)' + - '- Study algorithms and data structures' + - '- Build something that interests you!' + - '' + - '**Remember:** The best way to learn programming is by writing code and solving problems.' + question: What would you like to build with your new programming skills? What kind of program interests you? + tokens_for_ai: 'This is a reflection question. + + + Based on their answer, provide encouragement and suggestions for their specific language. + + Suggest projects appropriate for beginners in their chosen language. + + + Categorize as: + + - specific_project: Has a specific project idea + + - general_interest: General area of interest (games, websites, data, etc.) + + - exploring: Still exploring what to build + + - limited_effort: Very brief + + - off_topic: Unrelated + + ' + feedback_tokens_for_ai: 'Provide enthusiastic, personalized feedback! + + + Reference their specific programming language. + + Suggest beginner-friendly projects for their language and interests. + + Encourage them to start small and build up. + + Remind them that the programming community is welcoming and helpful. + + + Celebrate their completion of the fundamentals! + + ' + buckets: + - specific_project + - general_interest + - exploring + - limited_effort + - off_topic + transitions: + specific_project: + ai_feedback: + tokens_for_ai: Great project idea! For [their language], suggest how they might approach that project. Recommend beginner-friendly libraries or frameworks if applicable. Encourage them to start with a simple version. + metadata_add: + activity_completed: 'true' + general_interest: + ai_feedback: + tokens_for_ai: Great area of interest! For [interest area] in [their language], suggest 2-3 beginner projects they could start with. Provide encouragement and resources. + metadata_add: + activity_completed: 'true' + exploring: + ai_feedback: + tokens_for_ai: Exploration is great! For [their language], suggest 3-4 different types of beginner projects they could try (web, automation, data analysis, games, etc.) to discover what they enjoy. + metadata_add: + activity_completed: 'true' + limited_effort: + ai_feedback: + tokens_for_ai: Congratulate them on completing programming fundamentals in [their language]! Encourage them to build something, even if it's small. + metadata_add: + activity_completed: 'true' + off_topic: + content_blocks: + - Think about what interests you! What kind of program would you like to create with your new skills? + next_section_and_step: conclusion:step_1 From 0560de004d0aef97bf1c95025a039b049d832925 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 8 Nov 2025 23:00:01 +0000 Subject: [PATCH 2/5] Add fix scripts for activity YAML corrections These scripts document the automated fixes applied to activities 30-37: - fix_activity37.py: Changes 'close' bucket behavior + fixes completion - fix_all_new_activities.py: Fixes final step completion for all activities Keeping for reference and potential reuse on future activities. --- fix_activity37.py | 49 ++++++++++++++++++++++++++ fix_all_new_activities.py | 73 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+) create mode 100644 fix_activity37.py create mode 100644 fix_all_new_activities.py diff --git a/fix_activity37.py b/fix_activity37.py new file mode 100644 index 0000000..aefd95f --- /dev/null +++ b/fix_activity37.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +""" +Fix activity37: +1. Change 'close' bucket to NOT advance (retry same step) +2. Keep 'off_topic' looping on final step, remove next_section_and_step from completion buckets +""" +import yaml + +def fix_activity37(): + file_path = "research/activity37-programming-languages.yaml" + + # Read original file + with open(file_path, 'r') as f: + activity = yaml.safe_load(f) + + # Fix 1: Change ALL "close" transitions to stay on same step + for section in activity['sections']: + section_id = section['section_id'] + for step in section['steps']: + step_id = step['step_id'] + if 'transitions' in step and 'close' in step.get('buckets', []): + # Change 'close' to stay on same step (don't advance) + if 'close' in step['transitions']: + step['transitions']['close']['next_section_and_step'] = f"{section_id}:{step_id}" + + # Fix 2: For final step (conclusion:step_1), keep ONLY 'off_topic' looping + # Remove next_section_and_step from all other transitions to allow completion + for section in activity['sections']: + if section['section_id'] == 'conclusion': + for step in section['steps']: + if step['step_id'] == 'step_1': + for bucket, transition in step['transitions'].items(): + # Remove next_section_and_step from all except off_topic + if bucket != 'off_topic' and 'next_section_and_step' in transition: + del transition['next_section_and_step'] + # Ensure off_topic loops (for validator to not consider it terminal) + if 'off_topic' in step['transitions']: + step['transitions']['off_topic']['next_section_and_step'] = 'conclusion:step_1' + + # Write back with minimal formatting changes + with open(file_path, 'w') as f: + yaml.dump(activity, f, default_flow_style=False, sort_keys=False, width=1000, allow_unicode=True) + + print(f"✅ Fixed {file_path}") + print(" - 'close' buckets now retry same step (don't advance)") + print(" - Final step can now complete (off_topic loops, others complete)") + +if __name__ == '__main__': + fix_activity37() diff --git a/fix_all_new_activities.py b/fix_all_new_activities.py new file mode 100644 index 0000000..09681c9 --- /dev/null +++ b/fix_all_new_activities.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 +""" +Fix completion issues in activities 30-36: +- Keep 'off_topic' looping on final step +- Remove next_section_and_step from all other buckets in final step to allow completion +""" +import yaml +import glob + +def fix_final_step_completion(file_path): + """Fix the final step to allow completion.""" + # Read file + with open(file_path, 'r') as f: + activity = yaml.safe_load(f) + + # Find the last section + if not activity.get('sections'): + return False + + last_section = activity['sections'][-1] + last_section_id = last_section['section_id'] + + # Find the last step in the last section + if not last_section.get('steps'): + return False + + last_step = last_section['steps'][-1] + last_step_id = last_step['step_id'] + + # Fix: Keep ONLY 'off_topic' looping, remove next_section_and_step from other transitions + if 'transitions' not in last_step: + return False + + modified = False + for bucket, transition in last_step['transitions'].items(): + if bucket == 'off_topic': + # Ensure off_topic loops (so validator doesn't consider step terminal) + if 'next_section_and_step' not in transition or transition['next_section_and_step'] != f"{last_section_id}:{last_step_id}": + transition['next_section_and_step'] = f"{last_section_id}:{last_step_id}" + modified = True + else: + # Remove next_section_and_step from completion buckets + if 'next_section_and_step' in transition: + del transition['next_section_and_step'] + modified = True + + if modified: + # Write back + with open(file_path, 'w') as f: + yaml.dump(activity, f, default_flow_style=False, sort_keys=False, width=1000, allow_unicode=True) + return True + + return False + +def main(): + files = [ + 'research/activity30-logic-puzzles.yaml', + 'research/activity31-scientific-method.yaml', + 'research/activity32-world-geography.yaml', + 'research/activity33-environmental-science.yaml', + 'research/activity34-media-literacy.yaml', + 'research/activity35-american-history.yaml', + 'research/activity36-biblical-history.yaml', + ] + + for file_path in files: + if fix_final_step_completion(file_path): + print(f"✅ Fixed {file_path}") + else: + print(f"⚠️ No changes needed for {file_path}") + +if __name__ == '__main__': + main() From 6fa1b151882bc6ecb09262c994e050d57bb7ca94 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 8 Nov 2025 23:02:24 +0000 Subject: [PATCH 3/5] Add auto-growing textarea for chat input - Textarea now automatically expands as user types multiline messages - Resets to minimum height after message is sent - CSS: Set min-height (60px) and max-height (400px) with auto overflow - Removed fixed rows attribute to allow dynamic height - Disabled manual resize to prevent user confusion - Provides better UX for composing longer messages --- static/css/style.css | 5 +++++ templates/chat.html | 17 ++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/static/css/style.css b/static/css/style.css index fa88aba..a781c1c 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -123,6 +123,11 @@ html, body { background-color: var(--bg-secondary); color: var(--text-primary); transition: background-color 0.3s ease, border-color 0.3s ease; + min-height: 60px; + max-height: 400px; + overflow-y: auto; + resize: none; + box-sizing: border-box; } /* Styling for the message body wrapper that contains header and content */ diff --git a/templates/chat.html b/templates/chat.html index 0c2af85..6b41cba 100644 --- a/templates/chat.html +++ b/templates/chat.html @@ -9,7 +9,7 @@
- +
@@ -409,7 +409,8 @@ socket.on("active_users", (data) => { // Function to handle sending the message function sendMessage() { - const message = document.getElementById("message").value; + const messageTextarea = document.getElementById("message"); + const message = messageTextarea.value; const model = document.getElementById("model-select").value; let messageToSend = message.trim(); @@ -420,7 +421,9 @@ function sendMessage() { "model": model, // Pass model as a separate attribute "room_name": room_name }); - document.getElementById("message").value = ""; + messageTextarea.value = ""; + // Reset textarea height after sending + messageTextarea.style.height = 'auto'; } } @@ -443,6 +446,14 @@ document.getElementById("message").addEventListener("keydown", function(e) { } }); +// Auto-grow textarea as user types +document.getElementById("message").addEventListener("input", function() { + // Reset height to auto to get the correct scrollHeight + this.style.height = 'auto'; + // Set height to scrollHeight to fit content + this.style.height = this.scrollHeight + 'px'; +}); + // Socket event for updating the room title socket.on("update_room_title", (data) => { document.title = data.title; // Update the window's title From 0b41cab970d5f6c84bff501caffbf21e3697c107 Mon Sep 17 00:00:00 2001 From: Russell Date: Sat, 8 Nov 2025 18:04:13 -0500 Subject: [PATCH 4/5] Delete fix_activity37.py --- fix_activity37.py | 49 ----------------------------------------------- 1 file changed, 49 deletions(-) delete mode 100644 fix_activity37.py diff --git a/fix_activity37.py b/fix_activity37.py deleted file mode 100644 index aefd95f..0000000 --- a/fix_activity37.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python3 -""" -Fix activity37: -1. Change 'close' bucket to NOT advance (retry same step) -2. Keep 'off_topic' looping on final step, remove next_section_and_step from completion buckets -""" -import yaml - -def fix_activity37(): - file_path = "research/activity37-programming-languages.yaml" - - # Read original file - with open(file_path, 'r') as f: - activity = yaml.safe_load(f) - - # Fix 1: Change ALL "close" transitions to stay on same step - for section in activity['sections']: - section_id = section['section_id'] - for step in section['steps']: - step_id = step['step_id'] - if 'transitions' in step and 'close' in step.get('buckets', []): - # Change 'close' to stay on same step (don't advance) - if 'close' in step['transitions']: - step['transitions']['close']['next_section_and_step'] = f"{section_id}:{step_id}" - - # Fix 2: For final step (conclusion:step_1), keep ONLY 'off_topic' looping - # Remove next_section_and_step from all other transitions to allow completion - for section in activity['sections']: - if section['section_id'] == 'conclusion': - for step in section['steps']: - if step['step_id'] == 'step_1': - for bucket, transition in step['transitions'].items(): - # Remove next_section_and_step from all except off_topic - if bucket != 'off_topic' and 'next_section_and_step' in transition: - del transition['next_section_and_step'] - # Ensure off_topic loops (for validator to not consider it terminal) - if 'off_topic' in step['transitions']: - step['transitions']['off_topic']['next_section_and_step'] = 'conclusion:step_1' - - # Write back with minimal formatting changes - with open(file_path, 'w') as f: - yaml.dump(activity, f, default_flow_style=False, sort_keys=False, width=1000, allow_unicode=True) - - print(f"✅ Fixed {file_path}") - print(" - 'close' buckets now retry same step (don't advance)") - print(" - Final step can now complete (off_topic loops, others complete)") - -if __name__ == '__main__': - fix_activity37() From c294814e605cf96386ff81fa1f95795e16882c30 Mon Sep 17 00:00:00 2001 From: Russell Date: Sat, 8 Nov 2025 18:04:26 -0500 Subject: [PATCH 5/5] Delete fix_all_new_activities.py --- fix_all_new_activities.py | 73 --------------------------------------- 1 file changed, 73 deletions(-) delete mode 100644 fix_all_new_activities.py diff --git a/fix_all_new_activities.py b/fix_all_new_activities.py deleted file mode 100644 index 09681c9..0000000 --- a/fix_all_new_activities.py +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env python3 -""" -Fix completion issues in activities 30-36: -- Keep 'off_topic' looping on final step -- Remove next_section_and_step from all other buckets in final step to allow completion -""" -import yaml -import glob - -def fix_final_step_completion(file_path): - """Fix the final step to allow completion.""" - # Read file - with open(file_path, 'r') as f: - activity = yaml.safe_load(f) - - # Find the last section - if not activity.get('sections'): - return False - - last_section = activity['sections'][-1] - last_section_id = last_section['section_id'] - - # Find the last step in the last section - if not last_section.get('steps'): - return False - - last_step = last_section['steps'][-1] - last_step_id = last_step['step_id'] - - # Fix: Keep ONLY 'off_topic' looping, remove next_section_and_step from other transitions - if 'transitions' not in last_step: - return False - - modified = False - for bucket, transition in last_step['transitions'].items(): - if bucket == 'off_topic': - # Ensure off_topic loops (so validator doesn't consider step terminal) - if 'next_section_and_step' not in transition or transition['next_section_and_step'] != f"{last_section_id}:{last_step_id}": - transition['next_section_and_step'] = f"{last_section_id}:{last_step_id}" - modified = True - else: - # Remove next_section_and_step from completion buckets - if 'next_section_and_step' in transition: - del transition['next_section_and_step'] - modified = True - - if modified: - # Write back - with open(file_path, 'w') as f: - yaml.dump(activity, f, default_flow_style=False, sort_keys=False, width=1000, allow_unicode=True) - return True - - return False - -def main(): - files = [ - 'research/activity30-logic-puzzles.yaml', - 'research/activity31-scientific-method.yaml', - 'research/activity32-world-geography.yaml', - 'research/activity33-environmental-science.yaml', - 'research/activity34-media-literacy.yaml', - 'research/activity35-american-history.yaml', - 'research/activity36-biblical-history.yaml', - ] - - for file_path in files: - if fix_final_step_completion(file_path): - print(f"✅ Fixed {file_path}") - else: - print(f"⚠️ No changes needed for {file_path}") - -if __name__ == '__main__': - main()