TFA Curriculum for Welcome to Python Basics (WPB) Program
- Pankaj Maheshwari
- Jan 1, 2024
- 10 min read
Hey there, future Pythonist! š
I know diving into a new programming language can be both thrilling and a little overwhelming. But, guess what? We're in this together. I've mapped out this Python journey, considering each step, each challenge, and each triumph you might face.
This isn't just a course; it's a shared adventure!
Each recording, each page of our financial books, is like a conversation between us. I genuinely hope that as you go through them, you feel not just the knowledge seeping in but also the enthusiasm and dedication I've poured into creating this for you.
We'll tackle challenges, celebrate the 'aha!' moments, and sometimes, yes, we might feel a bit stuck. but that's okay. Remember, every coder, no matter how experienced, has been there. And the beauty is in pushing forward, together. So, pull up your sleeves and get that coder's hat on. Let's make Python not just a language you know but a journey you cherish.
Here's what I've set out for you. Below is a step-by-step guide detailing what we'll tackle each week. In each module, each topic has been chosen to give you the skills and the insights you need. But remember, while this roadmap will guide you, your curiosity will drive you. So, ask questions, be hands-on, and embrace every 'aha!' and 'uh-oh' moment.
Day 1: Setting the Foundation
It's about setting up your development environment. You'll familiarize yourself with Anaconda Navigator, which acts as a central tool for managing your data science tools, and Jupyter Notebook, a powerful interactive tool for coding, visualization, and presenting your Python projects. By the end of the day, you'll have your tools in place and be ready to start your journey.
Installation Guide: Get Started with Anaconda Navigator: Installation
Watch: Anaconda Navigator Application
Everything You Need To Get Started On Your Machine | Installation Process | Integrated Development Environment vs. Code Editor vs. Compiler Learnings | Python Libraries & Packages | Recommendations.
Watch: Jupyter Notebook
Open-Source Web-Based Interactive Computing Platform Launching Application | Default Directories | Creating a New Jupyter Notebook | Menu Options & Toolbar | Keyboard Shortcuts | Code Cell.
Week 1: Python Data Types and Variables
Python, like any programming language, has various data types to store information. This week, you'll delve into the world of strings, integers, floats, and Booleans. Furthermore, you'll explore the foundation of programming ā variables. You'll learn how to declare, assign, and manipulate these to store and recall data.
Strings and Numbers
Watch: Introduction to Python DataTypes | Functions
Python DataTypes - String | Integer | Float | Boolean | Functions - Print | Type | Python Comments
Read: Write Your First Python Code ā 'Hello World!'
Read: The String Datatype in Python: A Hands-On Guide
Read: The Fundamentals of Integers in Python: A Beginner's Guide
Read: Beyond Integers: Advanced Techniques for Working with Floats in Python
Read: Maximizing Your Workflow with Boolean Data Type
Exploring & Manipulating Variables
Watch: Basic Fundamentals of Python ā Variables
Python Concepts - Variables | Functions - Type | Casting Functions - Str | Int | Float | Rule of Indentation
Read: Understanding Variables in Python: Declaration, Assignment, and Naming Conventions
Watch: Example 1.1.2 | Let's Understand How!
Creating Variables | Concatenation of String DataType | Tagging Print Content
Watch: Modifying Variables in Python
Creating Variables | Modifying Variables using Python Built-In Methods - Upper, Lower, Replace
Week 2 and 3: Python Operations and Data Structures
You'll learn about manipulating variables using different operations. From basic arithmetic to comparison operations, understanding these is crucial for developing algorithms. Additionally, you'll dive deep into lists, tuples, sets, and dictionaries, which allow you to store multiple related data points together as these structures offer unique functionalities and optimizations for different use cases.
Understanding Operators
Watch: Perform Operations in Python
Operators - Arithmetic | Assignment | Logical | Comparison
Read: Mastering Operators in Python: A Comprehensive Guide
Data Structures: Lists, Tuples, Sets, and Dictionaries
Watch: Applications of Python List
Creating Python List | List of Multiple Lists | Indexing Python List
Read: Python Lists: A Powerful and Versatile Data Structure
Watch: Extensions of Python List
Methods - Append | Insert | Extend | Remove | Reverse | Sort
Read: Techniques for Manipulating Python Lists
Watch: Applications of Python Tuple
Creating Python Tuple | Tuple of Multiple Tuples | List of Multiple Tuples | Indexing Python Tuple | Functions - Type | Length | Casting Functions - List | Tuple | Methods - Count | Index
Read: Python Tuples: A Faster and Secure Data Structure
Read: Lists vs. Tuples: Which One Should You Use?
Watch: Applications of Python Set
Python Set - Creating | List of Multiple Sets | Tuple of Multiple Sets | Functions - List | Set | Methods - Add | Union | Intersection | Difference
Read: Mastering Python Sets: A Comprehensive Guide
Watch: Applications of Python Dictionary
Key-Value Pair Concept | Python Dictionary - Static DataTypes I Sequential DataTypes | Nested Dictionary | Methods - Items | Keys | Values | Clear Dictionary
Read: Maximizing Your Productivity with Dictionaries
Week 4: Python Statements and Dynamics
As you continue your Python journey, this week will be centered around mastering Python's rich variety of statements and understanding the dynamic nature of the language. From simple conditional statements that allow your programs to make decisions, to iterative loops that repeat actions, mastering these constructs will empower you to script more complex logic with ease. Furthermore, Python's way of handling unexpected situations - or 'exceptions' - will be another pivotal skill you'll acquire. Just aim to strengthen your foundation and pave the way for more advanced coding adventures ahead.
Statements in Python
Watch: Dynamic Statements in Python ā Part 1
Performing Operations - Comparison Operators | Logical Operators | Python Statements - IF Statement - Static & Sequential DataTypes | IF-ELSE Statement | IF-ELIF Statement | IF-ELIF-ELSE Statement
Watch: Nested Statements in Python ā Part 1
Nested Statements - Nested IF Statement | Nested IF-ELSE Statement | Nested IF-ELIF-ELSE Statement
Watch: Dynamic Statements in Python ā Part 2
FOR LOOP Statement | WHILE LOOP Statement | Conditional Loop Statements | Range Function | Break Statement | Comprehension - List | Set | All Possible Combinations
Watch: Nested Statements in Python ā Part 2
Watch: Exception Handling in Python
Input Function | TRY-EXCEPT Statements | TRY-EXCEPT-FINALLY Statements | Nested TRY-EXCEPT Statements | Python Exceptions/Errors - ZeroDivisionError | ValueError
Read: Python Exception Handling: Built-In Exceptions & Best Practices
Week 5: From Functions to Object-Oriented Programming
Functions are the building blocks of any program, allowing for modular and organized code. You'll explore how to create and utilize functions. Transitioning, you'll be introduced to Object-Oriented Programming (OOP). OOP allows you to model real-world entities and relationships, making your code more intuitive and scalable.
Understanding Functions
Watch: Python Functions & Methods
Python Class | Functions | Methods | Parameters/Arguments | Attributes/Variables ā Return Statement ā Global vs. Local Variable
Object-Oriented Programming
Watch: Object-Oriented Programming (OOP) ā Constructor & Python Object
Class - Functions & Methods | Constructors & Objects | OOP Concepts - Inheritance | Encapsulation | Polymorphism | Abstraction
Watch: Object-Oriented Programming (OOP) ā Inheritance | Encapsulation | Polymorphism
Week 6: An Object-Oriented Finance Project
In this project, you will be required to design and develop a Bank Account Management System using Python which should allow users to create a bank account, deposit and withdraw funds from it, transfer funds between accounts, and display the balance of a particular account.
Read: Bank Account System: An Object-Oriented Finance Project
In this project, you will be required to design and develop a Bank Account Management System using Python which should allow users to create a bank account, deposit and withdraw funds from it, transfer funds between accounts, and display the balance of a particular account.
Watch: Developing a Bank Account System
Bank Account System: An Object-Oriented Finance Project | New Account Creation | Deposit Funds | Withdraw Funds | Transfer Funds Between Accounts | Update & Print Balance on Screen

Week 7 and 8: Data Analysis with Python Libraries
Python boasts a rich ecosystem of libraries. This week, you'll start with Pandas, a quintessential library for data manipulation and analysis. Transitioning from data manipulation, you'll explore NumPy for numerical operations and dive into MatPlotLib, a library to bring your data to life through visualization.
Pandas and DataFrames
Watch: Pandas Data Series ā Part 1
Introduction to Pandas Library | Installation | Import | Pandas Data Structures - Data Series | DataFrames Methods - Describe | Append | Drop Duplicates | Difference | Fill NaN | Head | Tail Data | Filter - Single Condition
Read: Exploring Pandas Data Series From Basics
Watch: Pandas Data Series ā Part 2
Watch: Pandas DataFrames ā Part 1
Pandas Data Structures - DataFrames | Dynamics of Creating DataFrames - Single Column | Multiple Columns | Indexing - loc | iloc | Slicing DataFrame | View DataFrame
Read: Slicing and Dicing Data with Pandas
Watch: Pandas DataFrames ā Part 2
Data Source - Import | Export | Data Summary - Info | DataTime | Unique | Min | Max | Sum | Data Cleaning - Drop Columns/Rows | Sorting - Index/Values | Ascending/Descending | Ā | Data Operation/Calculations
Watch: Pandas DataFrames ā Part 3
Data Analysis -Ā Data Aggregation - GroupBy, Sorting - Ascending/Descending, Filtering - Single/Multiple Conditions | GroupBy - MultiIndex DataFrames | Data Restructuring - Resampling | PivotTables | Data Visualization
Applied Numpy and Data Visualization
Watch: Numpy Library ā Part 1
Watch: Numpy Library ā Part 2
Read: Beyond Lists: An Introduction to Arrays in Python
Watch: MatPlotLib for Data Visualization ā Part 1
Plotting Charts & Sub-Charts - Line | Histogram | Scatter | Bar | Pie | SubPlots | 3-Dimensional (3D) Plots | Title | Axis Labels | Data Labels | Legends
Watch: MatPlotLib for Data Visualization ā Part 2
Week 9 and 10: Basic Python for Finance
Given the course's financial focus, these two weeks will pivot toward financial analysis using Python. You'll understand the core concepts of financial systems and how Python plays a pivotal role in modern financial analysis. The practical sessions will lead you through real-world financial projects, enhancing your grasp of the topic.
Foundations of Financial Python
Read: The Financial Pythonist: An Introduction
Watch: Building Block 1.0 - Python for Finance
Extract Historical & Intraday Time-Series Data - Stocks - Single | Multiple - Open | High | Low | Close | Adjusted Close | Volume | Data Visualization - Price Chart
Read: Extract Historical Stock Data using Libraries
Watch: Historical Time-Series Data & Equity Shocks
Absolute Returns/Shocks | Proportional/Relative Shocks - Discrete | Continuous | ShockType Use | Comparison
Watch: US Treasury Rates & Yield Curve
Treasury Yield Curve - Normal | Inverted | Humped/Flat | Historical Time-Series of Interest Rates | 2007-08 & 2022-23 Interest Rate Profiles | Market Sentiments
Read: Normal, Inverted, and Humped Interest Rate Curve
Watch: Introduction to Call Option Derivative
Definition | Bullish & Bearish Belief - Buyer & Seller | Long & Short Positions | Option Premium | Payoff & Profit Profile | Use Case
Read: Call Option Explained: A Step-by-Step Guide
Watch: Introduction to Put Option Derivative
Definition | Bullish & Bearish Belief - Buyer & Seller | Long & Short Positions | Option Premium | Payoff & Profit Profile | Use Case
Read: Put Option Explained: A Step-by-Step Guide
Read: The Moneyness of Options
Options, Stock Data, and Financial Tools
Watch: Building Block 2.0 - Python for Finance
Extract EOD and Historical Time-Series Data - Multiple Options | Option Chain for Calls & Puts at Multiple Strikes for Multiple Expiries | Important Dates
Watch: Building Block 3.0 - Python for Finance
Extract Historical Time-Series Data - Multiple FX Rates, Interest Rates, Commodities, and Cryptocurrencies | Extract Financial Statements - Balance Sheets, Income Statements, Cashflow Statements, and Analyst Reports
Read: How Quantitative and Computational Finance are Changing the Game
Read: Maximizing Productivity with Python at the Office
Week 11: Building a Stock Screening and Ranking Tool Project
In this project, you will build a stock screener that will calculate various statistical measures such as mean return, standard deviation, beta, Sharpe ratio, and more to help investors make informed decisions about which stocks to invest in.

Read: Building a Stock Screening and Ranking Tool
Undertake the python-finance-groundbreaking project to revolutionize stock selection and analysis, enhancing your Python skills and enabling you to think like a true programmer.
Python is becoming increasingly popular in the field of finance due to its versatility and powerful libraries. One of the most common tasks in finance is screening stocks to find the most promising ones to invest in. A stock screener is a tool that allows you to filter stocks based on various criteria such as price, market capitalization, industry sector, and more.
In this project, you will build a stock screener that will calculate various statistical measures such as mean return, standard deviation, beta, Sharpe ratio, and more to help investors to make informed decisions about which stocks to invest in.
Watch: Building a Stock Screening ā Initial Framework
Initial Framework Design | Object-Oriented Functional Class - Stock Screener - Import Data | Returns Data
Watch: Building a Stock Screen ā Statistics
Statistics Screen 004 | Statistical Indicators - Price | Mean Return | Market Mean Return | Standard Deviation | Market Standard Deviation | Downside Deviation | Correlation
Watch: Building a Stock Screen ā Performance Metrics
Performance Metrics Screen 009 | Performance Indicators - Active Return | Tracking Error | Beta | Sharpe Ratio | Sortino Ratio | Treynor Ratio | Jensen Ratio | M Squared | Information Ratio

Week 12: Assessment and Interview Preparation
After an intense study regimen, it's essential to test your newfound skills. This phase will offer comprehensive assessments to gauge your proficiency. Additionally, for those aiming to transition into Python-based roles, the interview guide will provide insights and preparation tactics to ensure you stand out in interviews.

Read: Ace Your Python Programming Interview: A Comprehensive Guide
This comprehensive guide covers all the key concepts and topics you need to know to succeed in a Python programming interview, including data types, operators, loops, functions, object-oriented programming, modules, and exception handling. With clear explanations, numerous examples, and hands-on exercises, this guide will help you prepare for real-world programming challenges and solve problems efficiently.
Assess: Challenge Yourself: Python Programming Skills with Our 25-Question Assessment
Unleash your Python programming expertise with our comprehensive 25-question assessment. This assessment features objective-type multiple-choice questions designed to test your understanding of the language and its applications.
Assess: Push Your Limits: Python Programming Skills with Our 15-Question Assessment
Unleash your Python programming expertise with our comprehensive 15-question assessment. This assessment features objective-type multiple-choice questions designed to test your understanding of the language and its applications.
As you follow this plan, not only will you grasp the nitty-gritty of Python but also its vast applications in financial analysis. And yes, the recordings and our financial Books will be there to add layers to your understanding and will ensure a balanced approach to theoretical understanding and practical applications.
And always remember, while tools and resources are essential, it's the spirit of inquiry and consistent practice that will truly turn you into a Pythonist. happy learning, future Pythonist! š
Comments