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

# Programming Fundamentals using Python

**Course Description**

Learn Python through a practical, hands-on approach that takes you from writing your first program to building object-oriented applications. Whether you're interested in automation, data science, AI, or software development, this course provides a strong foundation for future learning.

**Course Duration:** 8 Weeks

**Class Schedule:**

* 3 Classes per Week
* 1.5 Hours per Class

**Batch Timings:** Multiple batches available.

**Seat Availability:** Limited seats per batch.

**Contact:** Contact the institute for batch timings, seat availability, and enrollment details.

***

### Detailed Course Curriculum

<details>

<summary><strong>Module 1: Python Foundations</strong></summary>

Build a solid understanding of how computers work, how Python executes code, and the core concepts of programming.

Topics Included:

* Computer Basics (CPU, Memory, and I/O Devices)
* Computer Architecture & Operating Systems
* Purpose of Programming Languages
* Getting Started with Python
* Python Standards and Implementations
* Python Program Execution Process
* Essential Python Terminology
* Installing Python & Setting Up the Environment
* Creating Your First Python Program
* Using Comments in Python

</details>

<details>

<summary><strong>Module 2: Variables and Data Types</strong></summary>

Understand how Python stores and manages data through variables, data types, and conversion methods.

Topics Included:

* Working with Variables
* Variable Assignment and Value Swapping
* Understanding `id()`
* Using the `type()` Function
* Introduction to Tuples
* Type Casting and Conversion
* Python's Data Model Basics

</details>

<details>

<summary><strong>Module 3: Input and Output Operations</strong></summary>

Learn how to take user input and display information effectively in Python programs.

Topics Included:

* Using the `print()` Function
* Taking Input with `input()`
* Formatting Console Output

</details>

<details>

<summary><strong>Module 4: Operators in Python</strong></summary>

Explore Python operators while solving practical mathematical and logical problems.

Topics Included:

* Arithmetic Operators
* Logical Operators
* Identity Operators
* Membership Operators
* Bitwise Operators
* Finding the Last Digit of a Number
* Calculating Days Before N Days
* Arithmetic Progression
* Geometric Progression

</details>

<details>

<summary><strong>Module 5: Decision Making and Conditional Logic</strong></summary>

Strengthen problem-solving skills by implementing conditional statements in Python.

Topics Included:

* `if`, `elif`, and `else`
* Even and Odd Number Programs
* Finding the Largest of Three Numbers
* Leap Year Checker
* Basic Calculator Program

</details>

<details>

<summary><strong>Module 6: Loops and Pattern Problems</strong></summary>

Learn iterative programming techniques and practice solving algorithmic challenges using loops.

Topics Included:

* `while` Loop
* `for` Loop
* The `range()` Function
* `break` and `continue`
* Nested Loops
* Multiplication Tables
* Square, Triangle, and Inverted Triangle Patterns
* Fibonacci Series
* GCD and LCM
* Practice Exercises

</details>

<details>

<summary><strong>Module 7: Functions</strong></summary>

Write reusable and organized code by mastering Python functions and different parameter-passing techniques.

Topics Included:

* Introduction to Functions
* Real-world Uses of Functions
* Function Execution Flow
* Default Parameters
* Keyword Arguments
* Variable-Length Arguments
* Returning Multiple Values
* Parameter Passing Concepts
* Global Variables
* Number-based Programming Exercises

</details>

<details>

<summary><strong>Module 8: Lists and Sequence Manipulation</strong></summary>

Learn to work efficiently with Python's most versatile collection type and sequence operations.

Topics Included:

* Introduction to Lists
* How Lists Work Internally
* Slicing Lists, Tuples, and Strings
* Finding the Average of a List
* Checking if a List is Sorted
* Filtering Smaller Elements
* Separating Even and Odd Numbers
* List Comprehensions

</details>

<details>

<summary><strong>Module 9: Strings</strong></summary>

Develop strong text-processing skills through Python's powerful string manipulation features.

Topics Included:

* String Basics
* Escape Characters
* Raw Strings
* Formatted Strings (f-Strings)
* Common String Operations
* String Comparison
* Pattern Searching
* Reversing a String
* Palindrome Detection
* Decimal and Binary Conversion
* String-based Practice Problems

</details>

<details>

<summary><strong>Module 10: Built-in Functions and Functional Programming</strong></summary>

Take advantage of Python's built-in utilities and modern functional programming features.

Topics Included:

* Lambda Functions
* `zip()`
* `map()`
* `filter()`
* Special (Magic) Methods
* Basics of Operator Overloading
* Python Coding Standards (PEP 8)

</details>

<details>

<summary><strong>Module 11: Exception Handling</strong></summary>

Write robust Python programs by understanding and handling runtime errors effectively.

Topics Included:

* Understanding Errors and Exceptions
* Common Exception Types
* Exception Handling Techniques
* Best Practices for Error Handling

</details>

<details>

<summary><strong>Module 12: OOP Fundamentals</strong></summary>

Topics Included:

* Introduction to Object-Oriented Programming
* Classes and Objects
* Class vs. Instance Attributes

</details>

<details>

<summary><strong>Module 13: Encapsulation</strong></summary>

Topics Included:

* Understanding Encapsulation
* Accessing Class Members
* Protecting Data within Classes

</details>

<details>

<summary><strong>Module 14: Abstraction</strong></summary>

Topics Included:

* Principles of Abstraction
* Working with Abstract Classes

</details>

<details>

<summary><strong>Module 15: Inheritance</strong></summary>

Topics Included:

* Introduction to Inheritance
* Different Types of Inheritance
* Multiple Inheritance

</details>

<details>

<summary><strong>Module 16: Polymorphism</strong></summary>

Topics Included:

* Understanding Polymorphism
* Method Overriding
* Operator Overloading
* Real-world Applications of Polymorphism

</details>


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://thesigmaschool.gitbook.io/home/course-curriculum/programming-fundamentals-using-python.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
