Curriculum

Topic Subtopic Basic Intermediate Advanced Industry-ready
Introduction to Python
Introduction to Python βœ“ βœ— βœ— βœ“
Python Syntax and Structure βœ“ βœ— βœ— βœ“
Comments βœ“ βœ— βœ— βœ“
Docstrings βœ“ βœ— βœ— βœ“
Variables βœ“ βœ— βœ— βœ“
Data Types βœ“ βœ— βœ— βœ“
Integers βœ“ βœ— βœ— βœ“
Floats βœ“ βœ— βœ— βœ“
Strings βœ“ βœ— βœ— βœ“
Booleans βœ“ βœ— βœ— βœ“
Input and Output βœ“ βœ— βœ— βœ“
Type Conversion and Casting βœ“ βœ— βœ— βœ“
Python Operators
Arithmetic Operators βœ“ βœ— βœ— βœ“
Assignment Operators βœ“ βœ— βœ— βœ“
Comparison Operators βœ“ βœ— βœ— βœ“
Logical Operators βœ“ βœ— βœ— βœ“
Bitwise Operators βœ“ βœ— βœ— βœ“
Membership Operators (in, not in) βœ“ βœ— βœ— βœ“
Identity Operators (is, is not) βœ“ βœ— βœ— βœ“
Conditional Statements
if βœ“ βœ— βœ— βœ“
elif βœ“ βœ— βœ— βœ“
else βœ“ βœ— βœ— βœ“
Loops
for Loops βœ“ βœ— βœ— βœ“
while Loops βœ“ βœ— βœ— βœ“
Nested Loops βœ“ βœ— βœ— βœ“
Loop Control Statements
break βœ“ βœ— βœ— βœ“
continue βœ“ βœ— βœ— βœ“
pass βœ“ βœ— βœ— βœ“
Data Structures in Python
String Methods βœ“ βœ— βœ— βœ“
Slicing βœ“ βœ— βœ— βœ“
Indexing βœ“ βœ— βœ— βœ“
String Formatting βœ“ βœ— βœ— βœ“
Lists βœ“ βœ— βœ— βœ“
List Methods and Slicing βœ“ βœ— βœ— βœ“
List Comprehensions βœ“ βœ— βœ— βœ“
Using Lists as Stacks βœ“ βœ— βœ— βœ“
Using Lists as Queues βœ“ βœ— βœ— βœ“
Nested List Comprehensions βœ“ βœ— βœ— βœ“
The del statement βœ“ βœ— βœ— βœ“
Tuples βœ“ βœ— βœ— βœ“
Immutability βœ“ βœ— βœ— βœ“
Tuple Methods βœ“ βœ— βœ— βœ“
Dictionaries (Basic) βœ“ βœ— βœ— βœ“
Key-Value Pairs βœ“ βœ— βœ— βœ“
Dictionary Methods βœ“ βœ— βœ— βœ“
Dictionary Comprehensions βœ“ βœ— βœ— βœ“
Sets βœ“ βœ— βœ— βœ“
Set Methods βœ“ βœ— βœ— βœ“
Set Operations βœ“ βœ— βœ— βœ“
Arrays βœ“ βœ— βœ— βœ“
Functions
Defining Functions βœ“ βœ— βœ— βœ“
Positional and Keyword Arguments βœ“ βœ— βœ— βœ“
Default Arguments βœ“ βœ— βœ— βœ“
Arbitrary Arguments (*args, **kwargs) βœ“ βœ— βœ— βœ“
Return Statement βœ“ βœ— βœ— βœ“
Lambda Functions (Anonymous Functions) βœ“ βœ— βœ— βœ“
Scope and Lifetime of Variables (Local, Global, nonlocal) βœ“ βœ— βœ— βœ“
Classes and Objects
Creating Classes βœ— βœ“ βœ— βœ“
Creating Objects βœ— βœ“ βœ— βœ“
Attributes and Methods βœ— βœ“ βœ— βœ“
Inheritance
Single Inheritance βœ— βœ“ βœ— βœ“
Multiple Inheritance βœ— βœ“ βœ— βœ“
Multilevel Inheritance βœ— βœ“ βœ— βœ“
Overriding Methods βœ— βœ“ βœ— βœ“
Using super() βœ— βœ“ βœ— βœ“
Polymorphism
Method Overloading (conceptual; Python doesn’t support this directly) βœ— βœ“ βœ— βœ“
Method Overriding βœ— βœ“ βœ— βœ“
Encapsulation
Encapsulation βœ— βœ“ βœ— βœ“
Reading and Writing Files
Opening Files (open()) βœ— βœ“ βœ— βœ“
Modes: r, w, a, r+, etc. βœ— βœ“ βœ— βœ“
Reading: read(), readline(), readlines() βœ— βœ“ βœ— βœ“
Writing: write(), writelines() βœ— βœ“ βœ— βœ“
Working with binary files (rb, wb) βœ— βœ“ βœ— βœ“
Working with File Paths
Using os and pathlib modules. βœ— βœ“ βœ— βœ“
File Iterators
Reading files line by line with for loops. βœ— βœ“ βœ— βœ“
Handling Exceptions in File Operations
Handling Exceptions in File Operations βœ— βœ“ βœ— βœ“
Working with CSV and JSON Files
csv module for reading and writing CSV files. βœ— βœ“ βœ— βœ“
json module for JSON serialization and deserialization βœ— βœ“ βœ— βœ“
Try-Except Blocks
Single except block βœ— βœ“ βœ— βœ“
Multiple except blocks βœ— βœ“ βœ— βœ“
Exception Handling
Using else and finally βœ— βœ“ βœ— βœ“
raise statement. βœ— βœ“ βœ— βœ“
Built-in Modules
Popular modules: math, os, sys, time, random, re, itertools, collections. βœ— βœ“ βœ— βœ“
Creating Custom Modules
Creating Custom Modules βœ— βœ“ βœ— βœ“
Working with Packages
__init__.py and structuring packages. βœ— βœ“ βœ— βœ“
Importing
Importing βœ— βœ“ βœ— βœ“
Iterators
Creating custom iterators using __iter__ and __next__. βœ— βœ“ βœ— βœ“
Generators
Using yield in functions. βœ— βœ“ βœ— βœ“
Generator expressions βœ— βœ“ βœ— βœ“
Function Decorators
Creating and using decorators. βœ— βœ“ βœ— βœ“
Using multiple decorators on a single function βœ— βœ“ βœ— βœ“
Class Decorators
Class Decorators βœ— βœ“ βœ— βœ“
Regular Expressions
re.match, re.search, re.findall, re.split, re.sub βœ— βœ“ βœ— βœ“
Literal characters, special characters. βœ— βœ“ βœ— βœ“
Quantifiers (*, +, ?, {}) βœ— βœ“ βœ— βœ“
Character classes and sets ([a-zA-Z], \d, \w, etc.) βœ— βœ“ βœ— βœ“
Anchors (^, $) βœ— βœ“ βœ— βœ“
Functional Programming
Using map() for transformations. βœ— βœ“ βœ— βœ“
Filtering sequences with filter(). βœ— βœ“ βœ— βœ“
Aggregating data with functools.reduce() βœ— βœ“ βœ— βœ“
Lambda Functions βœ— βœ“ βœ— βœ“
List, Set, and Dictionary Comprehensions βœ— βœ“ βœ— βœ“
Working with Dates and Times
datetime.date, datetime.time, datetime.datetime. βœ— βœ“ βœ— βœ“
Formatting with strftime. βœ— βœ“ βœ— βœ“
Parsing with strptime βœ— βœ“ βœ— βœ“
Time functions: time(), sleep(), ctime() βœ— βœ“ βœ— βœ“
Introduction to Threads
What is threading? βœ— βœ— βœ“ βœ“
Difference between threads and processes. βœ— βœ— βœ“ βœ“
Using the threading Module
Creating and starting threads. βœ— βœ— βœ“ βœ“
Using join() and is_alive() methods. βœ— βœ— βœ“ βœ“
Daemon threads and their use βœ— βœ— βœ“ βœ“
Thread Synchronization
Avoiding race conditions using Lock, RLock, Semaphore. βœ— βœ— βœ“ βœ“
Thread-safe data structures (e.g., queue.Queue). βœ— βœ— βœ“ βœ“
Introduction to Multiprocessing
Why use multiprocessing over threading? (Global Interpreter Lock - GIL) βœ— βœ— βœ“ βœ“
Creating and managing processes βœ— βœ— βœ“ βœ“
Using the multiprocessing Module
Process, Pool, and Manager. βœ— βœ— βœ“ βœ“
Sharing data using Value and Array. βœ— βœ— βœ“ βœ“
Unit Testing
Writing tests using unittest. βœ— βœ— βœ“ βœ“
Using assertions (assertEqual, assertRaises, etc.). βœ— βœ— βœ“ βœ“
Test Discovery
Using unittest or pytest to find and run test cases βœ— βœ— βœ“ βœ“
Debugging
Using pdb (Python Debugger) for step-by-step debugging βœ— βœ— βœ“ βœ“
Advanced File Operations
Reading and writing large files efficiently. βœ— βœ— βœ“ βœ“
Working with temporary files using tempfile. βœ— βœ— βœ“ βœ“
Directory Operations
Managing directories with os and shutil. βœ— βœ— βœ“ βœ“
Walking through directories using os.walk() βœ— βœ— βœ“ βœ“
Error Handling
Catching and handling file-related exceptions (FileNotFoundError, PermissionError). βœ— βœ— βœ“ βœ“
Data Analysis with Pandas
DataFrame and Series objects. βœ— βœ— βœ“ βœ“
Pandas
Reading and writing data from various formats (CSV, Excel, SQL, JSON). βœ— βœ— βœ“ βœ“
Handling missing values (fillna, dropna). βœ— βœ— βœ“ βœ“
Data type conversions. βœ— βœ— βœ“ βœ“
String operations on columns. βœ— βœ— βœ“ βœ“
Filtering and indexing. βœ— βœ— βœ“ βœ“
Grouping and aggregations (groupby, pivot_table). βœ— βœ— βœ“ βœ“
Sorting and ranking. βœ— βœ— βœ“ βœ“
Joining and merging DataFrames. βœ— βœ— βœ“ βœ“
Cloud-Lab Support
Cloud-Lab Support βœ— βœ— βœ“ βœ“
Click Here to Explore PyTraining