
Build ten tkinter apps on Windows, including a BMI with metric/imperial, a snake game, an iOS calculator with light mode, a paint app, and a weather app.
Install python on your computer or run it online to print hello world, then learn to add python to path and use a code editor for multi-line code.
Learn how to install and customize Sublime Text as a lightweight code editor for Python, configure it to run Python code via the path, and start writing multi-line programs.
Learn how Python executes code from top to bottom, using print statements to output words and numbers, observe whitespace effects, and organize simple programs before extending with loops later.
Explore Python math operators: plus, minus, multiply, divide, power, floor division, and remainder, with brackets and print examples, understand precedence, and practice averaging numbers 1 to 7.
Learn how variables store data, assign with =, print results, and reuse values for further operations. Master naming rules, snake_case, and augmented assignment operators like +=, -=.
Explore how to call Python functions with brackets and arguments, using print, len, abs, and max to compute values, assign results to variables, and compare numbers with min.
Explore how methods differ from functions by calling them on objects using dot notation. Practice with string methods like upper, title, strip, isalpha, and replace to clean, check, and modify.
Discover how return values glue Python operations, with functions and methods returning values you can combine to build more complex logic, using examples like len, upper, and replace.
Learn how Python comments explain code without affecting execution, using # for single lines and triple quotes for multi-line, and how to quickly comment out lines.
Learn how Python sees lines of code, that empty lines are ignored. Explore how indentation, whitespace, and line breaks affect execution; use semicolons and backslashes to manage multiple lines.
Explore Python data types like strings, integers, floating point numbers, and booleans. Learn how lists, tuples, sets, and dictionaries store data and differ in mutability, uniqueness, and type conversion.
Explore Python numbers by distinguishing integers and floating-point values, converting data types with int and float, and understanding arithmetic rules, rounding, truncation, and floating-point quirks.
Master Python strings by learning quote usage, escaping, multiline strings, and techniques like concatenation, string multiplication, format, and f-strings to insert variables and build text.
Learn lists and tuples in Python as versatile data containers, with tuples being immutable and lists mutable. Master indexing, slicing, and key methods like append, reverse, and clear.
Learn how to slice lists in Python to pick multiple elements using start, end, and step values, including negative directions and default behavior for lists and tuples.
Learn to unpack lists and tuples in Python, assign multiple variables in one line, and swap values, while understanding size matching and how brackets or commas create tuples.
Discover strings, lists, and tuples as interchangeable containers, and master indexing, slicing, and converting between types using split, join, list, tuple, and str methods, including a practical exercise.
Explore dictionaries as organized key-value containers, learn to create, access by key, avoid duplicate keys, and use common methods like keys, values, items, get, and update to manipulate data.
Learn how Python sets ensure unique values, perform union, intersection, and difference, and how to convert sets to lists for indexing while noting that sets do not support indexing.
Master booleans in Python by using comparison operators, membership tests, and truthy-falsy rules; learn how booleans control flow, convert values with bool, and apply to lists and strings.
Explore Python's data types, focusing on the major ones and type conversion, while noting none and sequence and that rarely used types like bytes and memory view won't be covered.
Explore how Python uses indentation to group code and control flow with if/elif/else, match, while, and for loops, including break and continue concepts.
Learn to control code flow with if statements using boolean values, indentation, and else/elif branches, illustrated by a money-based eating decision exercise.
Master complex Python if statements by combining conditions with and and or, nesting them, and applying checks like money available, hungry, and board to decide when to eat something fancy.
Explore Python's match case, a readable alternative to many if statements for checking a single value among many, with default handling via case underscore and practical mood examples.
Learn how Python while loops repeat code while a condition stays true, using break and continue to control flow, with examples printing 0–9 and collecting even numbers 0–100.
Master Python for loops by iterating over lists, tuples, dictionaries, sets, and strings, using range for numbers, and controlling flow with break, continue, and nested loops.
Master flow and line breaks in Python by using one-line statements and ternary operator. Learn when to indent and how to use for, if, while, and match case for readability.
Explore how to define and call functions in Python, reuse code, and build simple calculators using parameters and arguments, with proper indentation to create clean, modular programs.
Explore parameters and arguments, including positional, keyword, and default values, and see how Python maps arguments to function parameters with practical examples.
learn how to handle unlimited function arguments with list unpacking and keyword arguments using *args and **kwargs, turning inputs into tuples and dictionaries for flexible calls.
Explore Python scope basics, including local and global variables, and how to use function parameters and return values to manage and share data without globals.
Explore lambda functions as single-line Python tools that automatically return values. See practical uses in simple calculators, as arguments to functions like sort, and in graphical user interface button actions.
Explain how to document functions in Python using doc strings and type hints to clarify parameters and return values, improving code readability and collaboration.
Explore more advanced data operators in Python, including looping, sorting, and list comprehension, and master data handling with import and export to support data science and machine learning.
Learn to pair two lists with zip, unpack tuples in for loops, and use enumerate for indices, then format results with f-strings while managing inventory data.
Learn Python list comprehension, turning for loops into one-line lists, filtering with if, and combining nested comprehensions. Use a chessboard example to demonstrate practical data structures.
Explore Python comprehensions beyond lists by using set, dictionary, and tuple (generator) forms, with examples of curly and square brackets, keys and values, and a practical exercise.
Learn how to sort data in Python by passing functions as arguments to sorted, using key and reverse, and using lambda expressions for sorting tuples and string lengths.
Explore map and filter in Python, compare them to list comprehension, and see how lambdas simplify applying functions to each item in a list.
Explore file handling in Python by opening, reading, and writing txt files. Learn manual open/close and the with statement, and understand read vs write vs append, with relative paths.
Learn how to delete data in Python using the del keyword, by index, by value with remove, or with pop, and how to clear a list.
Explore objects and classes in Python, including attributes, methods, dunder methods, and inheritance, and apply them by creating interacting game objects like monsters and a player.
Learn Python classes by building a Monster with health and energy, define attack and move methods using self, instantiate objects, and apply camel case class naming versus snake_case variables.
Explore dunder methods in Python, especially __init__, by building a Monster class that customizes health and energy, and see how len, abs, dir, __call, and __add integrate with objects.
Explore how in Python every entity is an object, including functions and methods; learn the function vs method distinction and how to pass, store, and call function objects within classes.
Explore scope in Python by using classes and self to modify object attributes, avoiding globals, with hero and monster interactions that lower health via methods.
Explore simple inheritance by deriving a shark from monster, inheriting health, energy, and methods, and overriding move while using super to initialize and share code across monsters.
Understand complex inheritance with multiple parents in Python, exploring method resolution order, super init calls, and keyword unpacking to manage init arguments.
Explore private attributes using underscore naming, and use has utter and set utter to inspect and add attributes in a Python class, illustrated with a monster and a doc string.
Explore Python modules to extend functionality, from the standard library to third‑party packages, and master import techniques using random, choice, math, Tkinter, and date time to build apps.
Discover how external modules extend Python with extra functionality for GUI, data analysis, and games, installed with pip via PowerShell or terminal, using examples like pi auto gooey and Matplotlib.
Create custom modules to organize Python code across multiple files, import and reuse variables, functions, and classes, and implement a sum calculator that accepts unlimited arguments.
Understand how Python assigns dunder main to the executing file and how imported modules keep their own name, so you guard code with an if statement.
Explore pass and input in python, showing how pass acts as a placeholder and how input captures user data, and how to run scripts in PowerShell or terminal.
Learn to handle Python errors with try, except, else, and finally, including zero division and name errors, plus raising custom errors and using assert and index error handling.
Learn how eval and exec convert strings into Python code. Eval evaluates expressions, while exec executes arbitrary code, including creating variables; understand safety risks and practical uses.
Explore Python decorators that wrap functions to run code before and after, add functionality without changing the original, including timing, parameterized, and class property usage.
Learn Tkinter fundamentals by building a miles-to-kilometers app that uses widgets, layout and style, with an entry, label and button, and dynamic output via text variables.
Learn the world's most popular programming language by making 10 apps!
This course includes an incredibly comprehensive, yet easy to follow, introduction to Python and uses that knowledge to create 10 sophisticated apps using tkinter. By the time you finish these projects you will have a strong understanding of Python and of coding in general. You will also have amazing projects for your portfolio.
The course contains over 150 videos and includes a huge amount of exercises so you can practice while you code along. You can also find the code for every video attach in the course. The course will start completely from scratch and I will begin by installing Python on Windows or MacOS; or you can use an online code editor.
This course is going to cover every topic of Python, for example:
All of the datatypes (integers, strings, floats, booleans, lists, tuples, dictionaries etc)
You will learn classes and object-oriented programming
Inheritance, both simple and complex will be covered in detail
You will learn how to control the flow of the code using if, while, for and match
You will learn about functions and how to pass information around
There are many sections on scope to keep your code organized
Decorators will be covered in depth
File handling will be used
Using that knowledge, you will learn how to create:
a responsive weather app
the ios Stopwatch and Calculator
a paint app
a stock market tracker
a maps viewer
a bmi app
a snake game
an image editor
a qr code generator
Python is one of the most desirable features on the job market and can get you into well-paying and interesting jobs. It is also a very easy to learn language that you can use as a starting point in your coding career. I am looking forward to seeing you in the course!