
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
A brief overview of the entire course for those who are curious.
You can download the course resources as a zip file.
It contains three folders:
Complete (the finished code for the lectures and for the projects)
Student (the code for you to fill in as you follow along the lectures and projects.
Section_overview_presentations (the power point presentation section overviews)
Recommend you do the following to maximize your learning:
Open Anaconda Prompt (command terminal) you can type in your computer's search bar.
In the Anaconda prompt, you'll see (base) C:\Users\Your_name>
Navigate to the folder where you have the Complete and Student folders in the Anaconda prompt.
Type and enter jupyter lab or jupyter lab --port=8888
So now you can navigate in Jupyter lab between the Student and Complete folders.
A brief overview of what Anaconda and Conda are, how we'll install them, what we'll cover in the next section of this course, how to use Jupyter, pip installing various Python packages, and virtual environments.
How to install Anaconda on Windows. It's essentially the same process for those on Mac computers.
How to install Anaconda on Ubuntu with Windows, which is essentially the same on a Linux computer.
What is Pip, how to install Python packages using pip on windows and Mac.
Create and manage python virtual environments with conda, list and switch between base and test one, install python versions 3.10.10 and 3.11, activate envs, install packages, and remove environments.
How to run Jupyer Notebook and Jupyter lab using Windows and Mac computers.
What is Pip, how to install Python packages using pip on Linux.
How to run Jupyer Notebook and Jupyter lab using Linux.
Learn how to run Jupyter notebook, run cells, multi-line cursor, write and upload files, short-cut buttons, pip and conda install, and much more.
Learn how to run Jupyter lab, run cells, multi-line cursor, write and upload files, short-cut buttons, pip and conda install, and much more.
Explore variables and data types in python, including integers, floats, strings, booleans, convert between types, use operators including mathematical, boolean, and comparison chaining, and complete a quiz and coding exercise.
In our first Python lecture, we'll cover the following:
Variables and syntax
Mathematical operators and numbers
Boolean operators
Comparison operators
We'll cover the following:
Strings, adding strings and converting to a string.
String functions
Formatting strings
You'll learn the following:
How to index
Slices
Join build-in function
Explore lists, tuples, sets, and dictionaries, learn built-in functions min, max, sum, and sorted to master data structures. Complete the quiz and coding exercise to reinforce these concepts.
Explore working with lists and range in Python, mastering mutability, indexing, and common methods such as append, extend, insert, remove, pop, clear, and sort.
Create and modify dictionaries in Python using string or integer keys; access values and items, update nested data, and convert lists and tuples with zip and dict.
Explore tuples and their immutability, learn tuple creation, indexing, and unpacking with nested tuples and the asterisk operator, and perform simple concatenation and repetition.
Learn how Python sets ensure unique elements and how to convert a list to a set. Explore union, difference, and intersection, plus key methods like add, update, discard, and pop.
Explore Python's built-in functions, including sum, abs, round, min, max, and sorted, through practical list examples, and learn about isinstance, type, len, any, and all.
Explore Python control flow and loops with conditional statements (if, elif, else), for and while loops, and break and continue, using lists, dictionaries, and strings, with quizzes and coding exercises.
Master Python conditionals using if, elif, and else with correct indentation and nested blocks. Explore dictionary lookups with in and get to find pets across multiple dictionaries.
Master for loops by iterating over lists, dictionaries, tuples, sets, and nested lists; apply range-based loops, list appends, arithmetic operations, dictionary updates, and nested loops to generate formatted outputs.
Create a simple Python guessing game that provides hints (greater/less than and odd/even), uses the random module, and supports ten attempts in a configurable range.
Build a python guessing game for beginners using the random module to generate number, with a while loop for guesses and dictionary logic, saving and running scripts in the terminal.
Master the fundamentals of git and GitHub, from local and remote repositories and push/pull to branching, merging, and resolving merge conflicts, plus SSH keys and gitignore.
Master essential git commands by initializing a local repository, staging with git add, committing, renaming with git mv, and removing with reset, while checking status and logs on master.
learn how to create a GitHub account, generate an RSA SSH key with Git Bash, add the public key to GitHub, and securely push code from a local repo.
Push local work to a remote GitHub repository using git add, git commit, and git push, then pull to update. Master the git workflow and ssh authentication on remote origins.
Generate and manage multiple ssh keys for GitHub pushes, assign identities like Naruto, Hinata, and Boruto, and configure ssh config to select the correct key for each push.
Learn to create and manage git branches, switch between them, and merge feature branches into main, demonstrated on a simple flask web app.
Resolve local and remote merge conflicts in a real world project by managing branches, editing css and html for a footer and sidebar, and pushing and pulling changes on GitHub.
Resolve a remote merge conflict by comparing sidebar variations in two branches, then merge via GitHub, resolve HTML and CSS changes, and delete the unused branch.
Fork public GitHub repositories to copy the master branch onto your profile. Clone the code locally with git clone in git bash, choosing a new folder or a dot path.
Update your GitHub profile with a readme featuring emojis, image, lists, and Python/JavaScript code, plus a language dropdown and links; create two repositories for profile and a guessing game project.
Copy the code from the PROFILE_README.txt file, paste in Jupyter lab and save as a README.md file on your local computer.
Learn to manage a profile README on GitHub by editing locally, committing changes, and pushing to the remote repository; resolve conflicts with git pull.
Explore list and dictionary comprehension, convert for loops into concise expressions, and master the walrus operator in Python 3.8 for compact list and dictionary building.
Explore how to convert for loops to Python list comprehensions, apply conditional logic, and compare performance across practical examples from string processing, trading, and using built-in functions.
Explore Python data tools by examining the random, OS, DateTime module, pickle, json, and CSV modules, plus the file context manager for reading and writing text, pickle, and CSV data.
Learn practical randomness in Python by importing the random module, generating integers and floats, shuffling, sampling, seeding for reproducibility, and weighted choices.
Discover three context manager file examples in Python: writing, reading, and formatting lines using open and with open, plus close behavior.
Discover how to use the os module to create, rename, move, and delete folders and files, list directories, check existence, generate random bytes with os. urandom, and manage environment variables.
Explore pickle vs JSON data handling by serializing Python objects with pickle dumps and JSON dumps, saving and loading files, and noting pickle’s speed and unpickling security risks.
This course is designed to for:
complete beginners
intermediates
those from another programming background (e.g. JavaScript)
Throughout this course, you'll having a growing portfolio of Python apps and advance code that you've built and put on your personal GitHub account for the whole world to see!
Every time you complete a project, we'll push it to GitHub.
We'll cover the fundamentals of Python with lectures, projects, quizzes and coding exercises.
This includes:
Variables and operators
Data structures (lists, dictionaries, tuples, and sets)
Control flow, while loops and for loops
List comprehension and dictionary comprehension
Functions, scope, lambda expressions, and decorators
Handling errors
Python modules (csv, random, datetime, OS, pickle, JSON)
OOP (Object-Orientated Programming)
Completely master Git and GitHub for version control
PyPI for publishing Python modules
Beautiful Soup for Web scraping the internet
Speech to Text
GUI apps
CLI apps
SQLite3 for handling databases and tables
Encrypt and decryption
You'll build the following applications:
Create a guessing game app running in the command terminal (great for beginners)
Speech to text app to perform basic calculations.
Create a local anagram module.
Build and deploy GUI Python Editor app.
CLI app encrypting and decrypting zip files.
Create and deploy a Python package on the internet with PyPI.
Create an ETL (Extract, Transform, Load) process with SQLite3 for sorting book data.
Create an ELT (Extract, Load, Transform process with SQLite3 with real world movie data.
Data visualization of the number of lines of code for different files.
Web scraping the National Lotto, save the and display the results with data visualization.
I'll be on hand to help you with any questions or issues you may have.