Python Course Curriculum

Module 1: Programming (Python + Web Scraping)

Duration: 40 Hours

Topic 1.1: Python Fundamentals

Theory:

  • Variables and Data Types

  • Operators: Arithmetic, Logical, Comparison

  • Conditional Statements (if/else)

  • Loops: for, while Lab:

  • Write Python programs using variables, loops, and conditions

  • Create a mini ATM interface using control statements Scenarios:

  • Calculate transaction charges based on balance and account type

  • Generate alerts for low account balances

Tasks:

  • Develop a Python script to classify transactions as 'low', 'medium', or 'high'

  • Calculate interest on savings using loop-based logic Challenges:

  • Handle input validation and type errors

  • Optimize nested loops for processing large lists of transactions

Topic 1.2: Functions, Modules, and Classes

Theory:

  • ·Defining Functions and Parameters

  • Lambda Functions

  • Modular Programming (using import)

  • Object-Oriented Concepts: Classes, Objects, Inheritance Lab:

  • Build a reusable function to compute EMI

  • Create a class Customer with attributes and methods Scenarios:

  • Reuse a class to represent various loan types

  • Modularize a financial calculator Tasks:

  • Design a class for Bank Account with deposit, withdraw, balance_check methods

  • Build and test a Python module for tax computation Challenges:

  • Manage inheritance for different account types (savings, current)

  • Handle class-based exceptions for transaction errors

Topic 1.3: Decorators, Multithreading, Async Programmin

Theory:

  • Decorators and their use in logging/authorization

  • Multithreading vs. Multiprocessing

  • Asynchronous functions using async/await

  • Performance and concurrency Lab:

  • Decorator to log transaction details

  • Use threading to simulate parallel account updates

  • Async call to simulate multiple loan API responses Scenarios:

  • Run multiple credit score checks in parallel

  • Delay fraud detection alerts using async functions Tasks:

  • Create a decorator for transaction authorization

  • Use threads to simulate concurrent fund transfers

  • Implement async call for fetching stock prices Challenges:

  • Race conditions in shared data updates

  • Debugging asynchronous errors in real-time pipelines

Topic 1.4: Type Annotations and MyPy

Theory:

  • Static typing in Python

  • Benefits of MyPy for large codebases

  • Lab:

  • Add type hints to transaction processing functions

  • Run mypy on a banking script and fix issues Scenarios:

  • Validate developer-written ETL scripts before deployment Tasks:

  • Refactor old code to include type annotations

  • Use MyPy in CI/CD for ETL validation Challenges:

  • Compatibility issues in legacy codebases

  • Managing strict vs. flexible type rules

Topic 1.5: Web Scraping with Beautiful Soup Theory:

  • HTML structure, Tags, Classes

  • Extracting elements with Beautiful Soup

  • Handling dynamic content Lab:

  • Scrape exchange rate data from financial websites

  • Extract loan interest rates from competitor sites Scenarios:

  • Automate scraping of gold/silver rate for bank products

  • Monitor changes in government bank policies Tasks:

  • Build a scraper for live bank news

  • Store scraped data into MongoDB Challenges:

  • Handle JavaScript-loaded pages (use Selenium if needed)

  • Avoid scraping bans by using proxies and headers.