🗺️ Course Syllabus Overview
Module 1: Getting Started
Setting up your environment, editor workspaces, and learning to manage packages and virtual environments safely.1.1 Python Setup & Platform Guides
- What is Python?
- Dynamic Typing vs. Static Typing
- Python Interpreter & Runtime Engine
- Installing Python
1.2 Code Editor & Workspaces
- VS Code Introduction & Setup
- Installing extension bundles (Python, Pylance, Jupyter)
- Virtual folder architectures & writing your first
.pyfile
1.3 Python Environments
- Virtual Environments
- Creating environments (
python -m venv .venvanduv venv) - Activation mechanics across shells (Bash, zsh, PowerShell)
- Creating environments (
- Packages & pip
- Installing packages from PyPI
- Interactive Python
- REPL interface & Jupyter Notebooks (
.ipynb) setup
- REPL interface & Jupyter Notebooks (
Module 2: Python Basics
Laying down the core procedural and object-oriented foundations of Python.2.1 Basic Core Syntax
- Introduction to Programming
- Flowcharts & algorithmic structures
- Python Syntax
- Block indentation limits & statements
- Python Errors
- Syntax vs. Runtime exceptions
- Code Formatting
- PEP 8 styling rules & auto-formatters (Black, Ruff)
- Variables
- Declaration, dynamic typing, and memory assignment
- Comments
- Single-line (
#), Multi-line, and docstrings (""")
- Single-line (
2.2 Operators & Data Types
- Operators
- Arithmetic, Comparison, Logical, Assignment, Membership, and Identity operators
- Core Data Types
- Scalar types: Integers, Floats, Strings, Booleans
- Number Manipulation
- Type Casting & basic math built-in utilities (
round(),abs())
- Type Casting & basic math built-in utilities (
- String Manipulation
- Slicing indexes (
[start:stop:step]), string methods, and f-strings
- Slicing indexes (
2.3 Control Flow & Data Structures
- Conditionals
- If-elif-else statements & indentation scoping
- Match Case
- Pattern Matching, wildcards (
_), and guard conditions
- Pattern Matching, wildcards (
- Loops & Loop Control
forloops (iterables,range()) andwhileloops- Loop control statements:
break,continue,pass
- Lists
- Ordered arrays: indexing, slicing, mutation, and list methods
- Tuples
- Immutable sequences & packing/unpacking signatures
- Dictionaries
- Key-value hashing maps & dictionary methods
- Sets
- Unordered collections of unique values & set operations
- Queues
- Double-ended queues (
collections.deque) & FIFO operations
- Double-ended queues (
- Packing & Unpacking
- Positional star args (
*args) & keyword double-star args (**kwargs)
- Positional star args (
2.4 Structural Foundations
- Functions
- Defining reusable blocks, parameters, return values, and variable scope
- Modules & Packages
- Custom module files &
__init__.pybindings
- Custom module files &
- Classes & OOP
- Blueprint class schemas, instance creation, self bindings, and attributes
- Error & Exception Handling
- Try-except-finally blocks & custom exception classes
Advanced Python
Deep-diving into language internals, functional styles, dynamic type checking, and external API services.3.1 Advanced Concepts
- Python Internals
- CPython memory management, reference counting, and garbage collection
- Advanced Functions
- First-class objects, closures, and decorators (
@decorator)
- First-class objects, closures, and decorators (
- Comprehensions
- List, Dictionary, and Set comprehensions, and generator expressions
- Functional Programming
- Declarative vs. Imperative programming, and
map(),filter(),reduce()
- Declarative vs. Imperative programming, and
- Advanced OOP
- Abstract Base Classes (ABC),
@abstractmethod, and dunder methods
- Abstract Base Classes (ABC),
- Pydantic & Data Validation
3.2 Extending Python & Libraries
- Working with Built-in Modules
math,random,datetime(formatting and parsing), andosaudits
- Working with Data
- Text files, JSON loading/dumping, and CSV file reading/writing
- Working with External Modules
- PyPI library repository, package installs with
pip/uv, andrequirements.txt
- PyPI library repository, package installs with
- Working with APIs
- HTTP GET requests, parsing payloads, and calling Open-Meteo weather API
- Working with Environment Variables
- Secure API key storage,
.envfiles,.gitignore, anddotenvreloads
- Secure API key storage,
Module 4: Developing Projects
Structuring production-grade applications, managing package paths, and organizing modules.4.1 Project Architecture
- Project Structure
- Standard project folder setups (
src/,tests/,configs/)
- Standard project folder setups (
- Python Paths
- Environment sys path boundaries & import resolutions
- Organizing Code
- Refactoring complex scripts into reusable files
- Weather Data Analysis Project
- Build a weather analysis program using APIs and data files
Module 5: Streamlit Fundamentals
Creating interactive web applications, dashboards, and data interfaces in pure Python.- Introduction to Streamlit: App architecture and Tornado web servers.
- Application Structure: The script rerun execution model.
- Displaying Content: Text, markdown, dataframes, and charts.
- User Input Widgets: Buttons, inputs, sliders, and uploaders.
- Layout Management: Sidebars, columns, expanders, and tabs.
- Session State: Persisting variables across top-to-bottom runs.
- Forms: Grouping inputs to prevent premature reruns.
- Data Handling: Reading and uploading CSV and JSON datasets.
- Caching: Speeding up apps using @st.cache decorators.
- Navigation & Multipage Apps: Multi-page structures and shared sidebars.
- Working with APIs: Fetching REST API data and showing spinners.
- Building Interactive Dashboards: KPIs, charts, filters, and dynamic tables.
- File Handling: Upload/download utilities and media previews.
- Deployment: Community Cloud, Docker, and Render hosting.
Module 6: Data Analysis
Building the mathematical and data manipulation foundations needed for Machine Learning and AI.6.1 NumPy
- NumPy Arrays
- Creating NDArrays, slicing, indexing, vectorization, and broadcasting
6.2 Pandas
- Pandas DataFrames
- Data Wrangling, handling missing values, cleaning, merging, and aggregating
6.3 Data Visualization
- Matplotlib
- Plotting lines, scatter plots, bar charts, custom axes, and subplots
- Seaborn
- Statistical plots, heatmaps, joint/pair distributions, and styling guides
- Visualization Guide
- Comprehensive review of end-to-end dataset plotting pipelines