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.