#!/usr/bin/env python3
"""
Week 12 - Homophones: night/knight, sea/see, sun/son, flower/flour,
bear/bare, hair/hare, right/write, meat/meet, peace/piece, pair/pear,
blue/blew, way/weigh
Learn words that sound the same but have different meanings and spellings.
Grammar: Sentence punctuation (. ! ?)
"""
import os, sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
from monday_wp import generate_monday
from tuesday_wp import generate_tuesday
from wednesday_wp import generate_wednesday
from thursday_wp import generate_thursday
from friday_wp import generate_friday
from teacher_guide import generate_teacher_guide
week_dir = os.path.join(os.path.dirname(__file__))
week_num = 12
topic_label = "Homophones"
topic_label_full = "Homophones: night/knight, sea/see, sun/son, flower/flour, bear/bare, hair/hare, right/write, meat/meet, peace/piece, pair/pear, blue/blew, way/weigh"
# ─── Word List (12 words) ─────────────────────────────────────────────────────
words = [
("night", "the dark time when you sleep", "We went to bed at night."),
("knight", "a brave warrior", "The knight rode his horse."),
("sea", "a large body of salt water", "We swam in the sea."),
("see", "to look with your eyes", "I can see the birds."),
("sun", "the hot star in the sky", "The sun is warm."),
("son", "a boy child", "She loves her son."),
("flower", "a pretty plant that blooms", "She picked a flower."),
("flour", "powder for baking", "Mix the flour with water."),
("bear", "a large furry animal", "We saw a bear in the forest."),
("bare", "naked or empty", "His arms were bare in summer."),
("hair", "what grows on your head", "She brushed her hair."),
("hare", "a fast animal like a rabbit", "The hare ran quickly."),
]
WORD_NAMES = [w[0] for w in words]
# ─── Homophone Groups ─────────────────────────────────────────────────────────
homophone_groups = [
("night / knight", [
"night = the dark time when you sleep",
"knight = a brave warrior in old times",
]),
("sea / see", [
"sea = a large body of salt water",
"see = to look with your eyes",
]),
("sun / son", [
"sun = the hot star in the sky",
"son = a boy child",
]),
("flower / flour", [
"flower = a pretty plant that blooms",
"flour = powder used for baking bread and cakes",
]),
("bear / bare", [
"bear = a large furry animal",
"bare = naked or empty (bare feet, bare tree)",
]),
("hair / hare", [
"hair = what grows on your head",
"hare = a fast animal like a big rabbit",
]),
]
# Additional homophone groups for activities
all_homophone_groups = [
("night / knight", [
"night = the dark time when you sleep",
"knight = a brave warrior in old times",
]),
("sea / see", [
"sea = a large body of salt water",
"see = to look with your eyes",
]),
("sun / son", [
"sun = the hot star in the sky",
"son = a boy child",
]),
("flower / flour", [
"flower = a pretty plant that blooms",
"flour = powder used for baking bread and cakes",
]),
("bear / bare", [
"bear = a large furry animal",
"bare = naked or empty (bare feet, bare tree)",
]),
("hair / hare", [
"hair = what grows on your head",
"hare = a fast animal like a big rabbit",
]),
("right / write", [
"right = correct, or the direction opposite of left",
"write = to form letters or words on paper",
]),
("meat / meet", [
"meat = food from animals",
"meet = to come together with someone",
]),
("peace / piece", [
"peace = calm, no fighting",
"piece = a part of something (a piece of cake)",
]),
("pair / pear", [
"pair = two of something together",
"pear = a sweet yellow or green fruit",
]),
("blue / blew", [
"blue = a color",
"blew = past tense of blow (the wind blew)",
]),
("way / weigh", [
"way = a road or path, or a method",
"weigh = to find how heavy something is",
]),
]
# ─── Learning Text ────────────────────────────────────────────────────────────
learning_text = (
"<strong>Homophones</strong> are words that sound the same but have different meanings and spellings. "
"Examples: <strong>night</strong> (dark time) and <strong>knight</strong> (brave warrior). "
"Even though they sound identical, each one means something completely different!"
)
# ─── MONDAY DATA ──────────────────────────────────────────────────────────────
MONDAY_STORY = (
'Long ago a <strong>knight</strong> rode through the forest at <strong>night</strong>. '
'He could <strong>see</strong> the moon above the <strong>sea</strong> of clouds. '
'The <strong>sun</strong> had set and his <strong>son</strong> waited at home for him. '
'He carried a <strong>flower</strong> for his lady and <strong>flour</strong> for the baker. '
'A <strong>bear</strong> watched from the trees with <strong>bare</strong> paws. '
'The knight brushed his <strong>hair</strong> and spotted a <strong>hare</strong> darting by.'
)
monday_sort_labels = ["night/knight", "sea/see", "sun/son", "flower/flour", "bear/bare", "hair/hare"]
monday_fill_data = [
("At __________ the stars come out.", "night"),
("The brave __________ rode a horse.", "knight"),
("Can you __________ the bird in the tree?", "see"),
("We swam in the __________ all day.", "sea"),
("The __________ is very hot in summer.", "sun"),
("She planted a __________ in the garden.", "flower"),
("We need __________ to make bread.", "flour"),
("The __________ lived in the dark forest.", "bear"),
("He walked with __________ feet on the sand.", "bare"),
("The __________ ran faster than the rabbit.", "hare"),
]
monday_sentence_words = WORD_NAMES
monday_opposite_words = [
"night", "knight", "sea", "see", "sun", "son",
"flower", "flour", "bear", "bare", "hair", "hare"
]
# For "Choose the Homophone" activity
monday_choose_homophone_data = [
("(night / knight)", "night", "We went to sleep at __________."),
("(night / knight)", "knight", "The __________ saved the princess."),
("(sea / see)", "sea", "The boat sailed across the __________."),
("(sea / see)", "see", "I can __________ your house from here."),
("(sun / son)", "sun", "The __________ shines brightly."),
("(sun / son)", "son", "Her __________ is five years old."),
("(flower / flour)", "flower", "She smelled the sweet __________."),
("(flower / flour)", "flour", "Add two cups of __________ to the bowl."),
("(bear / bare)", "bear", "The __________ growled at the campers."),
("(bear / bare)", "bare", "The tree has __________ branches in winter."),
("(hair / hare)", "hair", "Her __________ is very long."),
("(hair / hare)", "hare", "The __________ hopped into the bushes."),
]
grammar_note = "Grammar Focus: <strong>Sentence Punctuation</strong> — . ! ?"
grammar_deep = (
"Every sentence ends with <strong>punctuation</strong>. "
"A <strong>period (.)</strong> ends a regular sentence. "
"An <strong>exclamation point (!)</strong> shows strong feeling. "
"A <strong>question mark (?)</strong> ends a question."
)
grammar_practice = [
"I love reading books",
"What time is it",
"That was amazing",
"Can I have more milk",
"The sun is shining",
"Wow that was fast",
]
# ─── TUESDAY DATA ─────────────────────────────────────────────────────────────
TUESDAY_READING = (
'Jake went to the market with his mom. '
'"I can <strong>see</strong> a big <strong>sea</strong> of vegetables!" he said. '
'His mom bought <strong>flour</strong> for baking and a pretty <strong>flower</strong> for the table. '
'"The <strong>sun</strong> is out — your <strong>son</strong> can play!" the baker called to his wife. '
'Jake saw a picture of a <strong>bear</strong> and a <strong>bare</strong> tree in the storybook section. '
'At the pet store a <strong>hare</strong> sat next to a dog with fluffy <strong>hair</strong>. '
'That <strong>night</strong> Jake dressed up as a <strong>knight</strong> before bed.'
)
tuesday_homophone_explanation = [
"night = the dark time when you sleep",
"knight = a brave warrior in old times",
"sea = a large body of salt water",
"see = to look with your eyes",
"sun = the hot star in the sky",
"son = a boy child",
"flower = a pretty plant that blooms",
"flour = powder used for baking bread and cakes",
"bear = a large furry animal",
"bare = naked or empty",
"hair = what grows on your head",
"hare = a fast animal like a big rabbit",
]
tuesday_remember_boxes = [
("Remember!", "Homophones sound the SAME but have different spellings and meanings."),
("Tip!", "Think about the meaning of the sentence to choose the right homophone."),
]
tuesday_comp_questions = [
"What did Jake see at the market?",
"What did his mom buy for baking?",
"What animal sat next to the dog at the pet store?",
"What did Jake dress up as that night?",
]
tuesday_word_part_hunt = {
"match": ["night", "knight", "sea", "see", "sun", "son", "flower", "flour", "bear", "bare", "hair", "hare"],
"decoy": ["kite", "key", "sonar", "fire", "floor", "barely", "harp", "air", "care", "eight"],
}
tuesday_swap_data = [
("The bare growled and I can sea the mountain.", ("bare", "bear"), ("sea", "see")),
]
tuesday_builder_prompts = [
("Write a sentence using 'night' and 'knight'.", "night / knight"),
("Write a sentence using 'sea' and 'see'.", "sea / see"),
("Write a sentence using 'flower' and 'flour'.", "flower / flour"),
]
tuesday_identify_data = [
("knight", "What is a knight? How is it different from 'night'?",),
("sea", "What does 'sea' mean? How is it different from 'see'?",),
("flour", "What is flour used for? How is it different from 'flower'?",),
("hare", "What is a hare? How is it different from 'hair'?",),
]
# ─── WEDNESDAY DATA ───────────────────────────────────────────────────────────
WEDNESDAY_READING = (
'Emma looked at her list for the school project. '
'She needed to <strong>see</strong> the teacher about the art supplies. '
'The classroom felt like the <strong>sea</strong> — so many papers everywhere! '
'Her <strong>son</strong> ... wait, she doesn\'t have a <strong>son</strong>. She meant her <strong>sun</strong> hat left at home. '
'On her desk was a pressed <strong>flower</strong> and a bag of <strong>flour</strong> for the cooking club. '
'A <strong>bear</strong> sticker sat on a <strong>bare</strong> notebook. '
'She brushed the <strong>hair</strong> from her face and drew a <strong>hare</strong> for her poster. '
'That <strong>night</strong> she pretended to be a <strong>knight</strong> guarding her project.'
)
wednesday_vocab_question = (
'What are <strong>homophones</strong>?<br>'
'A) Words that are spelled the same<br>'
'B) Words that sound the same but have different meanings<br>'
'C) Words that mean the same thing<br>'
'D) Words that rhyme'
)
wednesday_syn_ant_words = [
"night", "knight", "sea", "see", "sun", "son",
"flower", "flour", "bear", "bare", "hair", "hare"
]
wednesday_word_web_center = "homophones"
wednesday_word_web_instruction = "Write 4 more homophone pairs you know (like right/write, meat/meet, peace/piece)."
wednesday_sentence_sort_data = [
"The knight rode at night",
"I can see the sea",
"The sun is hot like my son is energetic",
]
wednesday_correct_sentences = [
"I can night the flowers", # → see
"The son is shining today", # → sun
"She bought flower for bread", # → flour
"The bare has big paws", # → bear
"He brushed the hare on his head", # → hair
]
wednesday_fill_data = [
("The stars came out at __________.", "night"),
("The __________ rescued the village.", "knight"),
("We sailed across the __________.", "sea"),
("I can __________ the mountain from here.", "see"),
("The __________ keeps us warm.", "sun"),
("His __________ plays the piano.", "son"),
("She planted a __________ in the pot.", "flower"),
("We need __________ for the cookie recipe.", "flour"),
("The __________ slept in the cave.", "bear"),
("She stood on the __________ branches.", "bare"),
]
wednesday_context_clue = (
'Read this sentence: "Mix the __________ with sugar to make the cake." '
'Should you use "flower" or "flour"? Why?'
)
wednesday_learning_skills = [
"Using context clues to choose the correct homophone",
"Understanding that homophones sound alike but mean different things",
"Recognizing common homophone pairs in reading",
]
wednesday_word_families = [
("night / knight", ["night", "knight"]),
("sea / see", ["sea", "see"]),
("sun / son", ["sun", "son"]),
("flower / flour", ["flower", "flour"]),
("bear / bare", ["bear", "bare"]),
("hair / hare", ["hair", "hare"]),
]
# ─── THURSDAY DATA ────────────────────────────────────────────────────────────
THURSDAY_STORY = (
'Detective Sam arrived at the farm at <strong>night</strong>. '
'A <strong>knight</strong>-like statue stood by the gate. '
'He could <strong>see</strong> lights across the <strong>sea</strong> of crops. '
'The <strong>sun</strong> was gone and the farmer\'s <strong>son</strong> was missing! '
'Sam found a crushed <strong>flower</strong> and spilled <strong>flour</strong> on the ground. '
'Big paw prints — a <strong>bare</strong> ... no, a <strong>bear</strong>! '
'Nearby was a tuft of <strong>hair</strong> ... or was it <strong>hare</strong> fur?'
)
thursday_remember_text = (
"night = the dark time when you sleep\n"
"knight = a brave warrior\n"
"sea = a large body of salt water\n"
"see = to look with your eyes\n"
"sun = the hot star in the sky\n"
"son = a boy child\n"
"flower = a pretty plant\n"
"flour = powder for baking\n"
"bear = a large furry animal\n"
"bare = naked or empty\n"
"hair = what grows on your head\n"
"hare = a fast animal like a rabbit\n"
"Tip: Think about the meaning to pick the right homophone!"
)
thursday_comp_questions = [
"When did Detective Sam arrive?",
"What was missing at the farm?",
"What two things did Sam find on the ground?",
"What animal clues did Sam discover?",
]
thursday_sentence_sort_data = [
"The knight rode at night",
"I can see the sea",
"The sun is hot",
]
# Detective words — wrong homophones to fix (flat list of wrong words only)
thursday_detective_words = [
"nite", # → night
"sea", # → see (in "I can sea the mountain")
"son", # → sun (in "The son is shining")
"flower", # → flour (in "She baked with flower")
"bare", # → bear (in "The bare growled loudly")
"hare", # → hair (in "He brushed the hare on his head")
]
thursday_swap_data = [
("She baked with flower and the bare growled loudly.", ("flower", "flour"), ("bare", "bear")),
]
thursday_map_word = "homophone"
thursday_para_prompts = [
"Write a paragraph about going to the beach. Use 'sea' and 'see'.",
"Write about a brave person. Use 'knight' and 'night'.",
]
# build_words disabled - template renders as "affix + base = ___" which doesn't apply to homophones
thursday_build_words = []
thursday_story_prompt = "Write a short adventure story. Use at least 5 different homophone pairs correctly."
# ─── FRIDAY DATA ──────────────────────────────────────────────────────────────
FRIDAY_REVIEW_STORY = (
'It was Friday and the class had a Homophone Challenge. '
'The story began at __________ (night) when a brave __________ (knight) rode out. '
'He could __________ (see) the __________ (sea) from the hill. '
'The __________ (sun) had set and his __________ (son) waited at home. '
'He carried a __________ (flower) and a bag of __________ (flour). '
'A __________ (bear) with __________ (bare) paws blocked the path. '
'The knight brushed his __________ (hair) and a __________ (hare) hopped away.'
)
friday_story_questions = [
"When did the story begin?",
"Who rode out at night?",
"What could the knight see from the hill?",
"Who waited at home?",
"What blocked the knight's path?",
]
friday_opposite_words = [
"night", "knight", "sea", "see", "sun", "son",
"flower", "flour", "bear", "bare", "hair", "hare"
]
friday_builder_words = [
"night", "knight", "sea", "see", "sun", "son",
"flower", "flour", "bear", "bare", "hair", "hare"
]
friday_journal_words = [
"night", "knight", "sea", "see", "sun", "son",
"flower", "flour", "bear", "bare", "hair", "hare"
]
# ─── Sort Answers for Monday ──────────────────────────────────────────────────
monday_sort_answers = {
"night/knight": ["night", "knight"],
"sea/see": ["sea", "see"],
"sun/son": ["sun", "son"],
"flower/flour": ["flower", "flour"],
"bear/bare": ["bear", "bare"],
"hair/hare": ["hair", "hare"],
}
# ══════════════════════════════════════════════════════════════════════════════
# GENERATE ALL DAYS
# ══════════════════════════════════════════════════════════════════════════════
print("=" * 60)
print("Week 12 - Homophones")
print("=" * 60)
# Remove old files
for day in ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Teacher_Guide"]:
day_dir = os.path.join(week_dir, day)
if os.path.exists(day_dir):
for f in os.listdir(day_dir):
if f.endswith('.pdf'):
os.remove(os.path.join(day_dir, f))
print(f" Removed old: {day}/{f}")
# ── MONDAY ──
print("\n[Monday]...")
generate_monday(
week_dir=week_dir,
week_num=week_num,
day_name="Monday",
topic_label=topic_label,
words=words,
learning_text=learning_text,
prefix_examples=[
"Homophones = words that sound the same but mean different things",
"night = the dark time when you sleep",
"knight = a brave warrior in old times",
"sea = a large body of salt water",
"see = to look with your eyes",
"sun = the hot star in the sky",
"son = a boy child",
"flower = a pretty plant that blooms",
"flour = powder for baking bread and cakes",
"bear = a large furry animal",
"bare = naked or empty (bare feet, bare tree)",
"hair = what grows on your head",
"hare = a fast animal like a big rabbit",
],
grammar_note=grammar_note,
grammar_deep=grammar_deep,
grammar_practice=grammar_practice,
story_text=MONDAY_STORY,
sort_labels=monday_sort_labels,
sort_title="Homophone Sort",
sort_instruction="Sort each word into the correct homophone group.",
fill_data=monday_fill_data,
opposite_words=monday_opposite_words,
sentence_words=monday_sentence_words,
word_cards_note="Read each homophone. Notice how each sounds the same as another word but means something different.",
grammar_activity_title="Grammar: Sentence Punctuation",
grammar_practice_title="Practice: Add Punctuation",
grammar_practice_note="Add the correct ending punctuation (. ! ?) to each sentence.",
)
# ── TUESDAY ──
print("\n[Tuesday]...")
generate_tuesday(
week_dir=week_dir,
week_num=week_num,
day_name="Tuesday",
topic_label=topic_label,
words=words,
learning_text=learning_text,
word_part_examples=tuesday_homophone_explanation,
remember_boxes=tuesday_remember_boxes,
reading_text=TUESDAY_READING,
comp_questions=tuesday_comp_questions,
word_part_hunt=tuesday_word_part_hunt,
word_part_hunt_instruction="Check each word that is a homophone from this week's list.",
word_part_hunt_title="Homophone Hunt",
swap_data=tuesday_swap_data,
builder_prompts=tuesday_builder_prompts,
identify_data=tuesday_identify_data,
)
# ── WEDNESDAY ──
print("\n[Wednesday]...")
generate_wednesday(
week_dir=week_dir,
week_num=week_num,
day_name="Wednesday",
topic_label=topic_label,
words=words,
learning_text=learning_text,
learning_skills=wednesday_learning_skills,
reading_passage=WEDNESDAY_READING,
vocab_question=wednesday_vocab_question,
syn_ant_words=wednesday_syn_ant_words,
word_web_center=wednesday_word_web_center,
word_web_instruction=wednesday_word_web_instruction,
sentence_sort_data=wednesday_sentence_sort_data,
correct_sentences=wednesday_correct_sentences,
fill_data=wednesday_fill_data,
context_clue=wednesday_context_clue,
word_families=wednesday_word_families,
)
# ── THURSDAY ──
print("\n[Thursday]...")
generate_thursday(
week_dir=week_dir,
week_num=week_num,
day_name="Thursday",
topic_label=topic_label,
words=words,
learning_text=learning_text,
remember_text=thursday_remember_text,
story_text=THURSDAY_STORY,
comp_questions=thursday_comp_questions,
sentence_sort_data=thursday_sentence_sort_data,
detective_words=thursday_detective_words,
swap_data=thursday_swap_data,
map_word=thursday_map_word,
para_prompts=thursday_para_prompts,
build_words=thursday_build_words,
story_prompt=thursday_story_prompt,
word_part_type="homophone",
build_word_label="Group",
build_word_note="Choose one homophone from each group and write a sentence.",
)
# ── FRIDAY ──
print("\n[Friday]...")
generate_friday(
week_dir=week_dir,
week_num=week_num,
day_name="Friday",
topic_label=topic_label,
words=words,
review_story=FRIDAY_REVIEW_STORY,
story_questions=friday_story_questions,
opposite_words=friday_opposite_words,
builder_words=friday_builder_words,
journal_words=friday_journal_words,
)
# ── TEACHER GUIDE ──
print("\n[Teacher Guide]...")
# ─── Answer keys ──────────────────────────────────────────────────────────────
monday_fill_answers = {
"At __________ the stars come out.": "night",
"The brave __________ rode a horse.": "knight",
"Can you __________ the bird in the tree?": "see",
"We swam in the __________ all day.": "sea",
"The __________ is very hot in summer.": "sun",
"She planted a __________ in the garden.": "flower",
"We need __________ to make bread.": "flour",
"The __________ lived in the dark forest.": "bear",
"He walked with __________ feet on the sand.": "bare",
"The __________ ran faster than the rabbit.": "hare",
}
monday_grammar_answers = [
"I love reading books.",
"What time is it?",
"That was amazing!",
"Can I have more milk?",
"The sun is shining.",
"Wow that was fast!",
]
wednesday_fill_answers = {
"The stars came out at __________.": "night",
"The __________ rescued the village.": "knight",
"We sailed across the __________.": "sea",
"I can __________ the mountain from here.": "see",
"The __________ keeps us warm.": "sun",
"His __________ plays the piano.": "son",
"She planted a __________ in the pot.": "flower",
"We need __________ for the cookie recipe.": "flour",
"The __________ slept in the cave.": "bear",
"She stood on the __________ branches.": "bare",
}
wednesday_correct_answers = [
("I can night the flowers", "I can see the flowers."),
("The son is shining today", "The sun is shining today."),
("She bought flower for bread", "She bought flour for bread."),
("The bare has big paws", "The bear has big paws."),
("He brushed the hare on his head", "He brushed the hair on his head."),
]
thursday_detective_answers = [
("nite", "night"),
("sea", "see"),
("son", "sun"),
("flower", "flour"),
("bare", "bear"),
("hare", "hair"),
]
thursday_comp_answers = [
"Detective Sam arrived at night.",
"The farmer's son was missing.",
"A crushed flower and spilled flour.",
"Big paw prints, a tuft of hair or hare fur.",
]
thursday_swap_answers = [
"flower → flour, bare → bear",
]
friday_story_answers = [
"At night.",
"A brave knight.",
"The sea from the hill.",
"His son waited at home.",
"A bear with bare paws.",
]
generate_teacher_guide(
week_dir=week_dir,
week_num=week_num,
phonics_label=topic_label,
words=words,
# Monday
monday_phonics_explanation=(
"Today students learn that homophones sound the same but have different meanings and spellings. "
"The focus is on real sound-alike word pairs: night/knight, sea/see, sun/son, flower/flour, "
"bear/bare, and hair/hare. Help students understand the meaning of each word in context."
),
monday_grammar_focus=grammar_note,
monday_grammar_explanation=(
"Students practice adding the correct ending punctuation (. ! ?) to sentences. "
"Periods for statements, question marks for questions, exclamation points for strong feelings."
),
monday_sort_labels=monday_sort_labels,
monday_sort_answers=monday_sort_answers,
monday_fill_answers=monday_fill_answers,
monday_sentence_words=monday_sentence_words,
monday_opposite_answers=[
("night", "day"),
("knight", "peasant"),
("sea", "land"),
],
# Tuesday
tuesday_phonics_explanation=(
"Students read a story containing multiple homophone pairs and practice identifying them in context. "
"Emphasize that the meaning comes from how the word is used in the sentence."
),
tuesday_comp_questions=tuesday_comp_questions,
tuesday_comp_answers=[
"Jake saw a big selection of vegetables at the market.",
"His mom bought flour for baking.",
"A hare sat next to the dog.",
"He dressed up as a knight.",
],
tuesday_swap_answers=[
"bare → bear, sea → see",
],
tuesday_builder_prompts=tuesday_builder_prompts,
tuesday_reading_text=TUESDAY_READING,
tuesday_pattern_hunt_answers={"match": tuesday_word_part_hunt["match"]},
# Wednesday
wednesday_phonics_explanation=(
"Students practice choosing the correct homophone using context clues. "
"The fill-in activity requires them to think about what the sentence means before choosing."
),
wednesday_reading_text=WEDNESDAY_READING,
wednesday_vocab_q_question=wednesday_vocab_question,
wednesday_vocab_q_answer="B) Words that sound the same but have different meanings",
wednesday_fill_answers=wednesday_fill_answers,
wednesday_correct_answers=wednesday_correct_answers,
wednesday_sort_answers={
"sentences": [
"The knight rode at night",
"I can see the sea",
"The sun is hot like my son is energetic",
],
"correct_order": [
"knight (warrior) / night (dark time)",
"see (look) / sea (water)",
"sun (star) / son (child)",
],
},
wednesday_syn_ant_words=wednesday_syn_ant_words,
wednesday_word_web_center=wednesday_word_web_center,
wednesday_word_web_suggestions=[
"right/write", "meat/meet", "peace/piece", "pair/pear", "blue/blew", "way/weigh",
],
wednesday_context_clue_question=wednesday_context_clue,
wednesday_context_clue_answer=(
"Use 'flour' because you mix flour with sugar to make a cake. "
"'Flower' is a plant and you wouldn't mix it into a cake recipe (unless it's a flower-shaped cake!)."
),
# Thursday
thursday_phonics_explanation=(
"Students read a mystery story using homophones, find misspelled homophones, and practice writing "
"sentences with the correct homophone. The word map helps them organize meaning."
),
thursday_story_text=THURSDAY_STORY,
thursday_comp_questions=thursday_comp_questions,
thursday_comp_answers=thursday_comp_answers,
thursday_detective_answers=thursday_detective_answers,
thursday_swap_answers=thursday_swap_answers,
thursday_map_word=thursday_map_word,
thursday_map_suggestions=[
"Words that sound the same", "Different spellings", "Different meanings",
"night/knight", "sea/see", "flower/flour",
],
thursday_para_prompts=thursday_para_prompts,
thursday_sort_answers={
"sentences": [
"The knight rode at night",
"I can see the sea",
"The sun is hot",
],
"correct_order": [
"knight (warrior) / night (dark time)",
"see (look) / sea (water)",
],
},
# Friday
friday_phonics_explanation=(
"Review week. Students complete the review story with correct homophones, "
"identify homophones in reading, and practice writing journal entries."
),
friday_review_story=FRIDAY_REVIEW_STORY,
friday_story_questions=friday_story_questions,
friday_story_answers=friday_story_answers,
)
print("\n" + "=" * 60)
print("Week 12 generation complete!")
print("=" * 60)