
Although a basic knowledge of the Windows command prompt (or Mac/Linux shell) is a pre-requisite for this course, here is a quick primer for Windows users who may not be entirely familiar with basic usage of the Windows command prompt.
Install python by copying its files into a single directory with the executable and standard library, enabling multiple versions and future virtual environments; two videos cover Windows and Mac installations.
Visit python.org to download and install Python on Mac or Linux, selecting the latest 3.9.1 or a specific release, then install and verify via the shell.
Explore how Python objects have state and functionality by building a custom account object with balance and deposit and withdrawal; see integers and floats as objects with operations.
Master declaring variables with the assignment operator, using meaningful snake_case names, avoiding reserved words and built-ins, and improving readability with clear prints and labeled code.
Learn how Python arithmetic operators work on integers and floats, including unary minus and plus, and binary addition, subtraction, multiplication, division, and power, with operator overloading concepts.
Explore operator precedence in Python by examining expressions like two times ten plus five and two to the power of three. Use parentheses to remove ambiguity and ensure explicit evaluation.
Master operator precedence in Python by learning how plus, minus, multiplication, division, exponentiation bind, and when to use parentheses, including unary minus.
Explore Python's relational operators, including equality and ordering, and learn how is versus equals and in and not in affect booleans and membership decisions.
Explore Python's comparison operators, distinguishing value equality from identity equality, using equals equals and is. See how memory addresses, floats, and custom types define equality and ordering with vectors.
Explore boolean operators not, and, or and how they combine with comparison operators to form evaluations. Learn operator precedence and short-circuiting with practical bank withdrawal and division examples in Python.
Discover how Python if-else statements use colons and indentation to control code execution, apply boolean operators, and nest conditions with price-based examples.
Explore using elif and single-line if to replace nested ifs, improving readability. See grade thresholds and withdrawal logic as examples.
Manipulate mutable sequences by inserting, deleting, and replacing elements in Python lists, including slice assignments and negative steps. Learn when to use append, extend, and insert for efficient list operations.
Learn how Python unpacking assigns sequence elements to variables, swaps values without a temp variable, and handles mismatched sizes while highlighting right-hand side evaluation and sequence flexibility.
Learn sequence unpacking in Python to assign tuple, list, or string elements to individual variables, swap values, and handle multiple return values, with care for mismatched lengths.
Explore unicode concepts, code points, and the relationship to ascii, plus common encodings like utf-8, utf-16, and utf-32, with Python examples.
Explore Python's range function, its range objects, and converting them to lists or tuples; learn start, end (exclusive), step, length, and using range for repeated operations.
Learn to iterate dictionaries in Python by looping over keys, values, and items, and unpack key value pairs for clean output. Understand how insertion order influences iteration and updates.
Learn how Python comprehensions transform iterables into new ones, using concise syntax to compute vector magnitudes from x,y coordinates and emphasize readability over complex code.
Learn dictionary and set comprehensions, build dicts with widget sales data, filter with if, and use Counter for frequency analysis in Python.
This course teaches you to actually understand Python, not just copy code.
Most tutorials show you what to type. You follow along, it works, and then you're stuck the moment you try to do something on your own. That's because they never explain why things work the way they do. This course is different. I explain the reasoning behind every concept so you can think through problems yourself instead of constantly Googling for answers. If you want real understanding that sticks, not just syntax you'll forget next week, you're in the right place.
What makes this course different? You get over 30 hours of video instruction, but that's just the start. Every section includes fully annotated Jupyter notebooks that read like a textbook, complete with explanations, examples, and code you can run and modify. You also get all course slides as reference material. Between the videos, notebooks, and slides, you're getting a complete learning package, not just someone coding on screen.
What You'll Learn
Write clean, readable Python code following professional best practices
Master Python's core data structures: strings, lists, tuples, dictionaries, and sets
Create well-organized programs using functions, modules, and packages
Understand how Python actually works (variables, memory, scope) so debugging becomes intuitive
Handle files, errors, dates/times, and external APIs
Structure your code like a professional, not a beginner copying examples
What's Included
30+ hours of video instruction with clear explanations of both "how" and "why"
Fully annotated Jupyter notebooks for every topic, essentially a complete textbook you can run and experiment with
All course slides as downloadable reference material
Challenging exercises with solutions at the end of each section
Lifetime access to learn at your pace and revisit anytime
Direct Q&A support where I personally respond to questions
Topics Covered
Python Foundations, Numeric Types, Strings, Lists, Tuples, Dictionaries, Sets, Conditionals, Loops, Functions, File I/O, Exception Handling, Modules & Packages, Classes and OOP Basics, Working with APIs (requests library), Dates and Timezones.
Prerequisites
No prior Python experience required. You should be comfortable with basic computer tasks and have some familiarity with the command line. If you've never used a terminal, spend 20 minutes on a beginner tutorial first and you'll be ready.
Ready to learn Python the right way?
Enroll now and build the foundation that will serve your entire programming career.