default_max_attempts_per_step: 3 sections: - section_id: "section_1" title: "Introduction to Python" steps: - step_id: "step_1" title: "What is Python?" content_blocks: - "Welcome to the Python programming course." - "Python is a high-level, interpreted programming language known for its readability and versatility." tokens_for_ai: "Explain what Python is and its key features in a friendly and engaging manner." question: "What do you know about Python?" buckets: - correct - partial_understanding - off_topic - asking_clarifying_questions transitions: correct: content_blocks: - "Great! You have a good understanding of Python." ai_feedback: tokens_for_ai: "Provide positive reinforcement and encourage the user to continue learning." partial_understanding: content_blocks: - "You have a partial understanding of Python. Let's clarify a few points." ai_feedback: tokens_for_ai: "Provide additional information to clarify the user's understanding in a friendly and supportive manner." off_topic: content_blocks: - "It seems like your response is off-topic. Let's try to stay focused on Python." ai_feedback: tokens_for_ai: "Gently guide the user back to the topic of Python in a supportive manner." asking_clarifying_questions: content_blocks: - "I see you have some questions. Let's address them." ai_feedback: tokens_for_ai: "Answer the user's clarifying questions and provide additional information in a friendly and engaging manner." - step_id: "step_2" title: "Installing Python" content_blocks: - "To start coding in Python, you need to install it on your computer." - "You can download Python from the official website: https://www.python.org/downloads/" tokens_for_ai: "Explain how to install Python on different operating systems in a friendly and engaging manner." question: "Have you installed Python on your computer?" buckets: - correct - partial_understanding - off_topic - asking_clarifying_questions transitions: correct: content_blocks: - "Excellent! You are ready to start coding in Python." ai_feedback: tokens_for_ai: "Provide positive reinforcement and encourage the user to continue learning." partial_understanding: content_blocks: - "It seems like you have some issues with the installation. Let's go over the steps again." ai_feedback: tokens_for_ai: "Provide detailed installation steps to help the user in a friendly and supportive manner." off_topic: content_blocks: - "It seems like your response is off-topic. Let's try to stay focused on installing Python." ai_feedback: tokens_for_ai: "Gently guide the user back to the topic of installing Python in a supportive manner." asking_clarifying_questions: content_blocks: - "I see you have some questions. Let's address them." ai_feedback: tokens_for_ai: "Answer the user's clarifying questions and provide additional information in a friendly and engaging manner." - section_id: "section_2" title: "Basic Python Syntax" steps: - step_id: "step_1" title: "Writing Your First Python Program" content_blocks: - "Let's write your first Python program." - "Open a text editor and type the following code:\n```python\nprint('Hello, World!')\n```" - "Save the file with a `.py` extension and run it using the Python interpreter." tokens_for_ai: "Explain how to write and run a simple Python program in a friendly and engaging manner." question: "Were you able to run the 'Hello, World!' program?" buckets: - correct - partial_understanding - off_topic - asking_clarifying_questions transitions: correct: content_blocks: - "Great! You've written and run your first Python program." ai_feedback: tokens_for_ai: "Provide positive reinforcement and encourage the user to continue learning." partial_understanding: content_blocks: - "It seems like you had some issues. Let's go over the steps again." ai_feedback: tokens_for_ai: "Provide detailed steps to help the user run the program successfully in a friendly and supportive manner." off_topic: content_blocks: - "It seems like your response is off-topic. Let's try to stay focused on writing and running the Python program." ai_feedback: tokens_for_ai: "Gently guide the user back to the topic of writing and running the Python program in a supportive manner." asking_clarifying_questions: content_blocks: - "I see you have some questions. Let's address them." ai_feedback: tokens_for_ai: "Answer the user's clarifying questions and provide additional information in a friendly and engaging manner." - step_id: "step_2" title: "Variables and Data Types" content_blocks: - "In Python, you can store data in variables." - "Python supports various data types such as integers, floats, strings, and booleans." - "Here's an example:\n```python\nx = 5\npi = 3.14\nname = 'Alice'\nis_student = True\n```" tokens_for_ai: "Explain variables and data types in Python with examples in a friendly and engaging manner." question: "Can you create a variable and assign a value to it?" buckets: - correct - partial_understanding - off_topic - asking_clarifying_questions transitions: correct: content_blocks: - "Excellent! You have successfully created a variable." ai_feedback: tokens_for_ai: "Provide positive reinforcement and encourage the user to continue learning." partial_understanding: content_blocks: - "It seems like you have a partial understanding. Let's clarify a few points." ai_feedback: tokens_for_ai: "Provide additional examples and explanations to clarify the user's understanding in a friendly and supportive manner." off_topic: content_blocks: - "It seems like your response is off-topic. Let's try to stay focused on variables and data types." ai_feedback: tokens_for_ai: "Gently guide the user back to the topic of variables and data types in a supportive manner." asking_clarifying_questions: content_blocks: - "I see you have some questions. Let's address them." ai_feedback: tokens_for_ai: "Answer the user's clarifying questions and provide additional information in a friendly and engaging manner." - section_id: "section_3" title: "Control Flow" steps: - step_id: "step_1" title: "If Statements" content_blocks: - "If statements allow you to execute code based on certain conditions." - "Here's an example:\n```python\nx = 10\nif x > 5:\n print('x is greater than 5')\nelse:\n print('x is 5 or less')\n```" tokens_for_ai: "Explain if statements in Python with examples in a friendly and engaging manner." question: "Can you write an if statement to check if a number is positive?" buckets: - correct - partial_understanding - off_topic - asking_clarifying_questions transitions: correct: content_blocks: - "Great! You've written a correct if statement." ai_feedback: tokens_for_ai: "Provide positive reinforcement and encourage the user to continue learning." partial_understanding: content_blocks: - "It seems like you have a partial understanding. Let's clarify a few points." ai_feedback: tokens_for_ai: "Provide additional examples and explanations to clarify the user's understanding in a friendly and supportive manner." off_topic: content_blocks: - "It seems like your response is off-topic. Let's try to stay focused on if statements." ai_feedback: tokens_for_ai: "Gently guide the user back to the topic of if statements in a supportive manner." asking_clarifying_questions: content_blocks: - "I see you have some questions. Let's address them." ai_feedback: tokens_for_ai: "Answer the user's clarifying questions and provide additional information in a friendly and engaging manner." - step_id: "step_2" title: "For Loops" content_blocks: - "For loops allow you to iterate over a sequence of elements." - "Here's an example:\n```python\nfor i in range(5):\n print(i)\n```" tokens_for_ai: "Explain for loops in Python with examples in a friendly and engaging manner." question: "Can you write a for loop to print the numbers from 1 to 10?" buckets: - correct - partial_understanding - off_topic - asking_clarifying_questions transitions: correct: content_blocks: - "Excellent! You've written a correct for loop." ai_feedback: tokens_for_ai: "Provide positive reinforcement and encourage the user to continue learning." partial_understanding: content_blocks: - "It seems like you have a partial understanding. Let's clarify a few points." ai_feedback: tokens_for_ai: "Provide additional examples and explanations to clarify the user's understanding in a friendly and supportive manner." off_topic: content_blocks: - "It seems like your response is off-topic. Let's try to stay focused on for loops." ai_feedback: tokens_for_ai: "Gently guide the user back to the topic of for loops in a supportive manner." asking_clarifying_questions: content_blocks: - "I see you have some questions. Let's address them." ai_feedback: tokens_for_ai: "Answer the user's clarifying questions and provide additional information in a friendly and engaging manner." - section_id: "section_4" title: "Functions" steps: - step_id: "step_1" title: "Defining Functions" content_blocks: - "Functions allow you to encapsulate code into reusable blocks." - "Here's an example:\n```python\ndef greet(name):\n print(f'Hello, {name}!')\n\ngreet('Alice')\n```" tokens_for_ai: "Explain how to define and use functions in Python with examples in a friendly and engaging manner." question: "Can you define a function that takes two numbers and returns their sum?" buckets: - correct - partial_understanding - off_topic - asking_clarifying_questions transitions: correct: content_blocks: - "Great! You've defined a correct function." ai_feedback: tokens_for_ai: "Provide positive reinforcement and encourage the user to continue learning." partial_understanding: content_blocks: - "It seems like you have a partial understanding. Let's clarify a few points." ai_feedback: tokens_for_ai: "Provide additional examples and explanations to clarify the user's understanding in a friendly and supportive manner." off_topic: content_blocks: - "It seems like your response is off-topic. Let's try to stay focused on defining functions." ai_feedback: tokens_for_ai: "Gently guide the user back to the topic of defining functions in a supportive manner." asking_clarifying_questions: content_blocks: - "I see you have some questions. Let's address them." ai_feedback: tokens_for_ai: "Answer the user's clarifying questions and provide additional information in a friendly and engaging manner." - step_id: "step_2" title: "Calling Functions" content_blocks: - "Once you've defined a function, you can call it to execute the code inside it." - "Here's an example:\n```python\ndef add(a, b):\n return a + b\n\nresult = add(3, 4)\nprint(result)\n```" tokens_for_ai: "Explain how to call functions in Python with examples in a friendly and engaging manner." question: "Can you call a function that you've defined and print the result?" buckets: - correct - partial_understanding - off_topic - asking_clarifying_questions transitions: correct: content_blocks: - "Excellent! You've called the function correctly." ai_feedback: tokens_for_ai: "Provide positive reinforcement and encourage the user to continue learning." partial_understanding: content_blocks: - "It seems like you have a partial understanding. Let's clarify a few points." ai_feedback: tokens_for_ai: "Provide additional examples and explanations to clarify the user's understanding in a friendly and supportive manner." off_topic: content_blocks: - "It seems like your response is off-topic. Let's try to stay focused on calling functions." ai_feedback: tokens_for_ai: "Gently guide the user back to the topic of calling functions in a supportive manner." asking_clarifying_questions: content_blocks: - "I see you have some questions. Let's address them." ai_feedback: tokens_for_ai: "Answer the user's clarifying questions and provide additional information in a friendly and engaging manner." - step_id: "step_3" title: "The End." content_blocks: - "The End."