> 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-1.md).

# Python 1

## Day 1: Introduction and Basics

### Session Outline

1. Overview of Computer Science and Programming
2. Introduction to CS Kickstart and TAs
3. Real-World Examples of Computer Science Applications
4. Understanding Data Types
5. Exploring Arithmetic and Comparison Operators
6. Expressions and Practice Problems
7. Introduction to Variables
8. Conditional Statements and Real-World Examples
9. Python Practice with Example Problems

### Detailed Agenda:

1. Overview of Computer Science and Programming:
   * Provide a clear definition of computer science and its relevance in various fields.
   * Discuss the importance of programming as a fundamental skill in computer science.
   * Emphasize the problem-solving aspect of programming and its applications in real-world scenarios.
2. Introduction to CS Kickstart and TAs:
   * Introduce the CS Kickstart program and the role of TAs and helpers.
   * Allow each TA to briefly introduce themselves and share their background in computer science.
   * Explain the overarching goal of CS Kickstart, which is to provide a better understanding of computer science and programming concepts.
   * Describe the format of labs, emphasizing their focus on teaching basic programming concepts.
   * Encourage students to actively engage with TAs, helpers, and classmates by asking questions and sharing knowledge.
3. Real-World Examples of Computer Science Applications:
   * Explore various sub-areas of computer science, such as health informatics, biotech, astronomy, and cybersecurity.
   * Provide everyday examples that demonstrate the impact of computer science, such as self-driving cars, facial recognition, and GPS navigation systems.
   * Explain the definition of programming, including programming languages, platforms, syntax, and the concept of whiteboard coding.
4. Understanding Data Types:
   * Introduce different data types, including integers, strings, booleans, and lists.
   * Provide clear explanations and examples for each data type to ensure understanding.
5. Exploring Arithmetic and Comparison Operators:
   * Explain and demonstrate the use of arithmetic operators, including addition, subtraction, multiplication, regular division, integer division, and modulus.
   * Discuss comparison operators, such as less than, less than or equal to, greater than, greater than or equal to, not equal to, and equal to.
   * Clarify the difference between the assignment operator (=) and the equality operator (==).
6. Expressions and Practice Problems:
   * Discuss expressions and how they are formed using data types and operators.
   * Provide practice problems involving arithmetic and comparison operators to reinforce understanding and problem-solving skills.
7. Introduction to Variables:
   * Explain the concept of variables and their role in storing and manipulating data.
   * Provide examples and analogies, such as containers or boxes, to illustrate how variables work.
8. Conditional Statements and Real-World Examples:
   * Introduce conditional statements and their structure, including conditions and bodies.
   * Use diagrams and real-world examples to help students grasp the concept of conditional statements.
   * Encourage students to think about logical conditions and the corresponding actions in different scenarios.
9. Python Practice with Example Problems:
   * Engage students in Python programming practice by solving example problems.
   * Examples may include checking if something satisfies certain conditions or generating output based on a random number.
