> For the complete documentation index, see [llms.txt](https://cs-kickstart.gitbook.io/expansion/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cs-kickstart.gitbook.io/expansion/curriculum/python/python-2.md).

# Python 2

## Day 2: Deeper Dive into Python

### Session Outline

1. Recap of Day 1
2. Review of Data Types, Arithmetic and Comparison Operators
3. Introduction to Functions
4. Writing, Defining, and Calling Functions
5. Exploring Built-in Functions
6. Nested Expressions and Examples
7. Understanding While Loops
8. While Loop Exercises
9. Python Practice with Example Problems

### Detailed Agenda

1. Recap of Day 1:
   * Briefly review the key topics covered on Day 1, including data types, arithmetic and comparison operators, variables, conditionals, and basic Python syntax.
   * Address any questions or concerns from the previous session to ensure everyone is up to speed.
2. Review of Data Types, Arithmetic, and Comparison Operators:
   * Recap the various data types covered, such as integers, strings, booleans, and lists.
   * Revisit arithmetic operators, including regular division (/), integer division (//), and modulus (%).
   * Review comparison operators, such as less than (<), less than or equal to (<=), and not equal to (!=).
   * Reinforce the difference between the assignment operator (=) and the equality operator (==).
3. Introduction to Functions:
   * Explain the concept of functions, their purpose, and when to use them in programming.
   * Discuss the idea of inputs and outputs in functions, emphasizing how functions can manipulate data.
   * Demonstrate how to write, define, and call a function in Python.
   * Encourage students to think about how functions can be used to organize code and make it more reusable.
4. Writing, Defining, and Calling Functions:
   * Provide step-by-step guidance on writing, defining, and calling functions in Python.
   * Illustrate the syntax and structure of function definitions, including parameter declarations.
   * Guide students through practical examples of creating and using functions to solve specific problems.
5. Exploring Built-in Functions:
   * Introduce built-in functions available in Python to perform common tasks.
   * Present examples of built-in functions and explain their usage and parameters.
   * Encourage students to explore the Python documentation and discover additional built-in functions.
6. Nested Expressions and Examples:
   * Illustrate nested expressions by chaining multiple built-in functions together.
   * Provide examples of increasingly complex nested expressions and challenge students to solve them.
   * Foster problem-solving skills by encouraging students to break down nested expressions into smaller steps.
7. Understanding While Loops:
   * Introduce the concept of while loops as a control flow structure.
   * Provide a visual flowchart of a while loop and explain its components.
   * Present example code and demonstrate how while loops work, including the condition, body, and loop termination.
8. While Loop Exercises:
   * Engage students in while loop exercises to reinforce their understanding.
   * Examples may include counting numbers, determining the number of digits in a number, or any other suitable exercise that utilizes while loops.
9. Python Practice with Example Problems:
   * Provide example problems that require the use of concepts covered during the session, such as writing a countdown program or generating a triangle of stars.
   * Encourage students to apply their knowledge and problem-solving skills to tackle the example problems.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cs-kickstart.gitbook.io/expansion/curriculum/python/python-2.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
