Introduction to Python
History & features of Python
Installing Python & setting up environment
Writing your first Python program (print)
Comments in Python (#)
Basic syntax & indentation
Running Python scripts
Data Types
Primitive types: int, float, bool, str
Type casting: int(), float(), str()
type() function & NoneType
Variables & assignment
Input from user: input()
Operators
Arithmetic: +, -, *, /, //, %, **
Comparison: ==, !=, >, <, >=, <=
Logical: and, or, not
Assignment: =, +=, -=, etc.
Bitwise operators & precedence
Control Statements & Maths
if, else, elif — nested conditions
Boolean logic & indentation blocks
Basic decision-making programs
math module: sqrt(), pow(), ceil(), floor()
Modulo, absolute value, order of operations
Loops — While & For
while loop syntax, infinite loops
break and continue
Digit sum, factorials using loops
for loop with range()
Nested for loops, looping in reverse
for vs while comparisons
Functions 1 & 2
Defining functions with def
Parameters, arguments, return values
Scope: local vs global variables
Positional vs keyword arguments
Default params, *args, **kwargs
Recursion basics & modular programming
Lists — 1D, Slicing & 2D
Creating & accessing lists
append(), insert(), pop(), remove()
List slicing: list[start:stop:step]
Negative indexing & reversing
2D lists (nested lists), double indexing
Row/column ops, transpose
Strings 1 & 2
String declaration, indexing & slicing
lower(), upper(), strip(), find(), replace()
Immutability of strings
f-strings, format(), % formatting
split(), join(), string comparison
Palindrome, anagram, frequency count