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