> 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>
