File size: 4,317 Bytes
ce5b5d6 bdeb397 a4d9997 8ff790f af15398 a4d9997 473130e a4d9997 473130e a4d9997 dd6ab30 a4d9997 dd6ab30 a4d9997 473130e a4d9997 473130e 77fc725 c93e57e 20f40f0 dd6ab30 473130e a4d9997 473130e 77fc725 c93e57e 20f40f0 dd6ab30 473130e a4d9997 473130e 77fc725 c93e57e 20f40f0 dd6ab30 a4d9997 dd6ab30 b0c71de a4d9997 b0c71de dd6ab30 b0c71de dd6ab30 b0c71de b732d7e dd6ab30 b0c71de b732d7e a4d9997 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
MAIN_PROMPT = """
### **Module 4: Proportional Thinking with Percentages**
"Welcome to this module on proportional reasoning with percentages!
Your goal is to solve a real-world problem using different representations:
1๏ธโฃ **Bar Model**
2๏ธโฃ **Double Number Line**
3๏ธโฃ **Equation-Based Approach**
๐ **Hereโs the problem:**
Orrin and Damen decided to invest money in a local ice cream shop. Orrin invests $1,500, which is 60% of their total investment. How much do Orrin and Damen invest together?
๐ **Steps to follow:**
โ
**Step 1:** Choose a method.
โ
**Step 2:** **Explain your reasoning before receiving guidance.**
โ
**Step 3:** AI will provide **feedback on your explanation** before offering hints or solutions.
๐ **Which method would you like to use first?**
(Type 'Bar Model,' 'Double Number Line,' or 'Equation' to proceed.)
"""
# Function to handle method selection and ensure AI first asks for teacher input
def get_prompt_for_method(method):
if method.lower() == "bar model":
return """
### **Bar Model Approach**
Great choice! The Bar Model is a useful way to visualize proportions and percentages.
๐ **Now, please apply the Bar Model and explain your approach.**
- How would you represent the total investment in the bar model?
- How would you use it to find the unknown amount?
โ๏ธ **Go ahead and describe your approach first. I will provide feedback after hearing your reasoning.**
"""
elif method.lower() == "double number line":
return """
### **Double Number Line Approach**
Great choice! The Double Number Line helps align percentage values with real-world quantities.
๐ **Now, please apply the Double Number Line and explain your approach.**
- What values would you place on each line?
- How would you determine the total investment using this method?
โ๏ธ **Explain how you would use this approach first. I will provide feedback after hearing your reasoning.**
"""
elif method.lower() == "equation":
return """
### **Equation-Based Approach**
Great choice! Setting up an equation is a powerful way to solve proportional problems.
๐ **Now, please apply the Equation approach and explain your reasoning.**
- What proportion or equation would represent the situation?
- How would you solve for the total investment?
โ๏ธ **Explain how you would approach it first. I will provide feedback after hearing your reasoning.**
"""
return "I didnโt understand your choice. Please type 'Bar Model,' 'Double Number Line,' or 'Equation' to proceed."
# Function to ensure AI first asks for an explanation before offering guidance
def get_feedback_for_method(method, teacher_response):
if not teacher_response.strip():
return "๐ **Before receiving guidance, please explain your thought process.** How are you approaching this problem using the selected method?"
if method.lower() == "bar model":
if "divide" in teacher_response.lower() and "60%" in teacher_response.lower():
return "โ
Great start! You recognized that the bar should be divided into parts representing percentages. Now, can you calculate how much each part represents?"
return "๐น It looks like you might need some help. Try dividing the bar into 10 equal parts, with 6 parts representing Orrinโs 60%. How much does one part represent?"
elif method.lower() == "double number line":
if "label" in teacher_response.lower() and "percentages" in teacher_response.lower():
return "โ
Nice work! Youโve set up the number line correctly. Can you now align the percentage values with the corresponding dollar amounts?"
return "๐น No worries! Try labeling your number line with 0%, 60%, and 100% on one side and the corresponding dollar amounts on the other. How do the values align?"
elif method.lower() == "equation":
if "60/100" in teacher_response.lower() and "$1500/x" in teacher_response.lower():
return "โ
You're on the right track! Now, how can you solve for x in your equation?"
return "๐น Try writing the proportion as (60/100) = (1500/x). What steps would you take to solve for x?"
return "Interesting approach! Could you clarify your reasoning a bit more?"
|