| 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 |
โ |
โ |
โ |
โ |
| Introduction to Web Scraping |
| What is web scraping, use cases, ethics & legality |
โ |
โ |
โ |
โ |
| Python Refresher |
| Variables, loops, functions, exception handling |
โ |
โ |
โ |
โ |
| Working with HTTP |
| HTTP methods, headers, status codes, intro to requests library |
โ |
โ |
โ |
โ |
| Parsing HTML with BeautifulSoup |
| DOM structure, navigating and searching HTML trees (find, select) |
โ |
โ |
โ |
โ |
| Data Extraction Techniques |
| Extracting text, attributes, handling tables and lists, writing to CSV/JSON |
โ |
โ |
โ |
โ |
| Handling Real-World Pages |
| Dynamic content, user agents, headers, cookies, session handling |
โ |
โ |
โ |
โ |
| Selenium Basics |
| Webdriver setup, locating elements, clicking, inputting, screenshots |
โ |
โ |
โ |
โ |
| Headless browsing, wait strategies (WebDriverWait, expected_conditions) |
โ |
โ |
โ |
โ |
| Authentication & Pagination |
| Login handling, infinite scroll, "Next Page" navigation |
โ |
โ |
โ |
โ |
| Captchas & Anti-Bot Measures |
| IP rotation, proxies, CAPTCHAs overview, handling bot protection basics |
โ |
โ |
โ |
โ |
| Introduction to Scrapy |
| Scrapy project structure, items, pipelines, spiders |
โ |
โ |
โ |
โ |
| Scrapy Advanced Features |
| Middlewares, logging, exporting, working with APIs |
โ |
โ |
โ |
โ |
| Storing Data |
| Storing in MySQL, SQLite, MongoDB, file system |
โ |
โ |
โ |
โ |
| Real-World Projects |
| Build 2 projects: e.g., Product price tracker, Job listing scraper |
โ |
โ |
โ |
โ |
| Regex in Scraping |
| Matching complex patterns in HTML/text |
โ |
โ |
โ |
โ |
| APIs vs Scraping |
| When to use an API, how to call and parse JSON responses |
โ |
โ |
โ |
โ |
| Scheduling & Automation |
| Using cron, Python scripts with schedule, deployment strategies |
โ |
โ |
โ |
โ |
| Data Cleaning |
| Using pandas or custom scripts for cleaning scraped data |
โ |
โ |
โ |
โ |