Autoplay
Autocomplete
Previous Lesson
Complete and Continue
100 Days of Code
TODO: Welcome!
TODO: Introduction to the Course
TODO: Join the Student Community
TODO: The BIG List of Course RESOURCES
TODO: Goal Setting & How to Ace this Course (1:24)
Day 1 - Beginner š”Working with Variables in Python to Manage Data
Day 1 Goals: what we will make by the end of the day (2:19)
Printing to the Console in Python (9:52)
[Interactive Coding Exercise] Printing (8:27)
String Manipulation and Code Intelligence (9:46)
[Interactive Coding Exercise] Debugging Practice (6:33)
The Python Input Function (8:49)
[Interactive Coding Exercise] Input Function (7:39)
Python Variables (6:43)
[Interactive Coding Exercise] Variables (4:06)
Variable Naming (3:58)
Variable Naming Quiz
Day 1 Project: Band Name Generator (5:49)
Congratulations! Well done! (0:52)
Any Feedback?
Day 2 - Beginner š” Understanding Data Types and How to Manipulate Strings
Day 2 Goals: what we will make by the end of the day (1:46)
Python Primitive Data Types (7:58)
Data Types Quiz
Type Error, Type Checking and Type Conversion (7:19)
[Interactive Coding Exercise] Data Types (6:22)
Mathematical Operations in Python (8:27)
[Interactive Coding Exercise] BMI Calculator (7:20)
Number Manipulation and F Strings in Python (8:10)
[Interactive Coding Exercise] Life in Weeks (6:35)
Mathematical Operations Quiz
Day 2 Project: Tip Calculator (16:06)
You are already in the top 50% (0:29)
Any Feedback?
Day 3 - Beginner š” Control Flow and Logical Operators
Day 3 Goals: what we will make by the end of the day (1:22)
Control Flow with if / else and Conditional Operators (10:24)
[Interactive Coding Exercise] Odd or Even? Introducing the Modulo (5:13)
Nested if statements and elif statements (6:28)
[Interactive Coding Exercise] BMI 2.0 (7:37)
[Interactive Coding Exercise] Leap Year (10:56)
Multiple If Statements in Succession (9:29)
[Interactive Coding Exercise] Pizza Order Practice (6:24)
Logical Operators (5:58)
[Interactive Coding Exercise] Love Calculator (14:24)
Day 3 Project: Treasure Island (18:12)
Share and Show off your Project (0:43)
Feedback Time!
Day 4 - Beginner š” Randomisation and Python Lists
Day 4 Goals: what we will make by the end of the day (1:31)
Random Module (13:45)
[Interactive Coding Exercise] Random Exercise (7:12)
Understanding the Offset and Appending Items to Lists (13:14)
[Interactive Coding Exercise] Banker Roulette - Who will pay the bill? (11:52)
IndexErrors and Working with Nested Lists (5:25)
List and IndexError Quiz
[Interactive Coding Exercise] Treasure Map (11:36)
Day 4 Project: Rock Paper Scissors (18:34)
Programming is like going to the Gym (1:04)
Thumbs Up or Thumbs Down?
Day 5 - Beginner š” Python Loops
Day 5 Goals: what we will make by the end of the day (3:13)
Using the for loop with Python Lists (7:32)
[Interactive Coding Exercise] Average Height (8:53)
[Interactive Coding Exercise] High Score (7:21)
for Loops and the range() Function (5:21)
[Interactive Coding Exercise] Adding Even Numbers (4:47)
[Interactive Coding Exercise] The FizzBuzz Job Interview Question (5:29)
Day 5 Project: Create a Password Generator (16:10)
Hard Work and Perseverance beats Raw Talent Every Time (1:08)
Feedback & Final Thoughts?
Day 6 - Beginner š”Python Functions & Karel
Day 6 Goals: what we will make by the end of the day (1:01)
Defining and Calling Python Functions (15:50)
The Hurdles Loop Challenge (10:37)
Indentation in Python (9:14)
Code Indentation Quiz
While Loops (12:42)
Hurdles Challenge using While Loops (6:57)
Jumping over Hurdles with Variable Heights (8:12)
Final Project: Escaping the Maze (7:16)
Why is this *so* Hard?! Can I really do this? (1:25)
Day 7 - Beginner š” Hangman
Day 7 Goals: what we will make by the end of the day (1:59)
How to break a Complex Problem down into a Flow Chart (5:13)
Challenge 1 - Picking a Random Words and Checking Answers (2:05)
Challenge 1 Solution - How to Check the User's Answer (6:45)
Challenge 2 - Replacing Blanks with Guesses (2:55)
Challenge 2 Solution - How to Replace the Blanks (10:46)
Challenge 3 - Checking if the Player has Won (3:25)
Challenge 3 Solution - How to Check if the Player Won (3:51)
Challenge 4 - Keeping Track of the Player's Lives (2:16)
Challenge 4 Solution - How to Keep Track of the Player's Lives (5:47)
Challenge 5 - Improving the User Experience (4:23)
Challenge 5 Solution - How to Add ASCII Art and Improve the UI (6:33)
The Benefits of Daily Practice (1:12)
Day 8 - Beginner š” Function Parameters & Caesar Cipher
Day 8 Goals: what we will make by the end of the day (2:15)
Functions with Inputs (9:32)
Positional vs. Keyword Arguments (8:51)
The Wall Painting Parameters Challenge (8:02)
Prime Number Checker Challenge (8:54)
Caesar Cipher Part 1 - Encryption (14:41)
Caesar Cipher Part 2 - Decryption (6:29)
Caesar Cipher Part 3 - Reorganising our Code (8:17)
Caesar Cipher Part 4 - User Experience Improvements & Final Touches (13:55)
How You Can *Stay* Motivated (1:06)
Day 9 - Beginner š” Dictionaries, Nesting and the Secret Auction
Day 9 Goals: what we will make by the end of the day (2:29)
The Python Dictionary: Deep Dive (14:13)
Dictionaries Code Exercise - Grading Program (6:13)
Nesting Lists and Dictionaries (9:55)
Travel Log Challenge - Nesting Dictionaries in Lists (5:38)
Python Dictionaries Quiz
The Secret Auction Program Instructions and Flow Chart (4:29)
Solution and Complete Code for the Secret Auction Program (18:17)
Motivation and the Accountability Trick (1:02)
Day 10 - Beginner š” Functions with Outputs
Day 10 Goals: what we will make by the end of the day (1:34)
Functions with Outputs (12:57)
Multiple return values (3:31)
Days in the Month Coding Challenge (6:49)
Docstrings (3:42)
TODO: Functions Quiz
Calculator Part 1: Combining Dictionaries and Functions (8:43)
Print vs. Return (4:29)
While Loops, Flags and Recursion (7:49)
Calculator Finishing Touches and Bug Fixes (3:47)
How to Get a Good Night's Sleep (1:32)
Day 11 - Beginner š” The Blackjack Capstone Project
Day 11 Goals: what we will make by the end of the day (2:15)
Blackjack Program Requirements and Game Rules (8:34)
Hint 4 & 5 Solution Walkthrough (6:49)
Hint 6-8 Solution Walkthrough (5:06)
Hint 9 Solution Walkthrough: Refactoring and calling calculate_score() (5:08)
Hint 10-12 Solution Walkthrough (5:24)
Hint 13 Solution Walkthrough (8:43)
A Solid Foundation goes a Long Way (1:37)
Day 12 - Beginner š” Scope & Number Guessing Game
Namespaces: Local vs. Global Scope (7:51)
Does Python Have Block Scope? (2:50)
How to Modify a Global Variable (4:43)
Python Constants and Global Scope (1:46)
TODO: Scope Quiz
Introducing the Final Project: The Number Guessing Game (4:58)
Solution & Walkthrough to the Number Guessing Game (23:41)
Day 13 - Beginner š” Debugging: How to Find and Fix Errors in your Code
Describe the Problem (4:51)
Reproduce the Bug (3:34)
Play Computer and Evaluate Each Line (3:51)
Fixing Errors and Watching for Red Underlines (3:29)
Squash bugs with a print() Statement (4:39)
Bringing out the BIG Gun: Using a Debugger (5:52)
Final Debugging Tips (5:09)
Debugging Exercise 1 - Fix the Odd or Even Code (2:59)
Debugging Exercise 2 - Fix the Leap Year Code (3:22)
Debugging Exercise 3 - Fix the Fizz Buzz Code (7:45)
Day 14 - Beginner š” Higher Lower Game Project
Introduction & Program Requirements for the Higher Lower Game (7:37)
Solution & Walkthrough of the Higher Lower Game (30:17)
Day 15 - Intermediate š§ Local Development Environment Setup & the Coffee Machine
Installing Python Locally on Your Computer (4:38)
Download PyCharm for Windows or Mac (1:59)
PyCharm's Charming Features (while you wait for the download to finish) (13:04)
How to Install PyCharm on Windows (2:38)
Installing PyCharm on Mac (2:53)
Introduction & Requirements for the Coffee Machine Project (10:35)
Solution & Walkthrough for the Coffee Machine Code (28:58)
Day 16 - Intermediate š§ Object Oriented Programming (OOP)
Why do we need OOP and how does it work? (7:21)
How to use OOP: Classes and Objects (4:08)
Constructing Objects and Accessing their Attributes and Methods (15:56)
How to Add Python Packages and use PyPi (5:56)
Practice Modifying Object Attributes and Calling Methods (8:29)
Python Objects Quiz
Building the Coffee Machine in OOP (7:11)
Walkthrough and Solution for the OOP Coffee Machine (15:46)
Day 17 - Intermediate š§ The Quiz Project & the Benefits of OOP
Day 17 Goals: what we will make by the end of the day (1:08)
How to create your own Class in Python (4:45)
Working with Attributes, Class Constructors and the __init__() Function (11:08)
Adding Methods to a Class (4:26)
Quiz Project Part 1: Creating the Question Class (5:47)
Quiz Project Part 2: Creating the List of Question Objects from the Data (7:48)
Quiz Project Part 3: The QuizBrain and the next_question() Method (7:51)
Quiz Project Part 4: How to continue showing new Questions (4:45)
Quiz Project Part 5: Checking Answers and Keeping Score (8:08)
The Benefits of OOP: Use Open Trivia DB to Get New Questions (5:35)
Day 18 - Intermediate š§ Turtle Graphics and GUIs
Day 18 Goals: what we will make by the end of the day (1:03)
Understanding Turtle Graphics and How to use the Documentation (9:56)
Turtle Challenge 1 - Draw a Square (2:28)
Importing Modules, Installing Packages, and Working with Aliases (8:09)
Turtle Challenge 2 - Draw a Dashed Line (3:00)
Turtle Challenge 3 - Drawing Different Shapes (6:37)
Turtle Challenge 4 - Generate a Random Walk (7:21)
Python Tuples and How to Generate Random RGB Colours (7:42)
Turtle Challenge 5 - Draw a Spirograph (9:26)
The Hirst Painting Project Part 1 - How to Extract RGB Values from Images (13:50)
The Hirst Painting Project Part 2 - Drawing the Dots (12:24)
Day 19 - Intermediate š§ Instances, State and Higher Order Functions
Day 19 Goals: what we will make by the end of the day (1:48)
Python Higher Order Functions & Event Listeners (7:13)
Challenge: Make an Etch-A-Sketch App (7:26)
Object State and Instances (3:25)
Understanding the Turtle Coordinate System (13:14)
TODO: Turtle Coordinate Quiz
Aaaand, we're off to the races! (10:02)
Day 20 - Intermediate š§ Build the Snake Game Part 1: Animation & Coordinates
Day 20 Goals: what we will make by the end of the day (4:39)
Screen Setup and Creating a Snake Body (7:59)
Animating the Snake Segments on Screen (17:19)
Create a Snake Class & Move to OOP (7:26)
How to Control the Snake with a Keypress (10:53)
Day 21 - Intermediate š§ Build the Snake Game Part 2: Inheritance & List Slicing
Day 21 Goals: what we will make by the end of the day (1:06)
Class Inheritance (6:47)
TODO: Inheritance Quiz
Detect Collisions with Food (11:48)
Create a Scoreboard and Keep Score (10:21)
Detect Collisions with the Wall (3:52)
Detect Collisions with your own Tail (6:19)
How to Slice Lists & Tuples in Python (7:40)
Day 22 - Intermediate š§ Build Pong: The Famous Arcade Game
Day 22 Goals: what you will make by the end of the day (3:44)
Set up the Main Screen (1:43)
Create a Paddle that responds to Key Presses (6:21)
Write the Paddle Class and Create the Second Paddle (7:37)
Write the Ball Class and Make the Ball Move (4:44)
Add the Ball Bouncing Logic (7:01)
How to Detect Collisions with the Paddle (6:16)
How to Detect when the Ball goes Out of Bounds (4:02)
Score Keeping and Changing the Ball Speed (9:25)
Day 23 - Intermediate š§ The Turtle Crossing Capstone Project
Day 23 Goals: what you will make by the end of the day (1:27)
Choose Your Difficulty
How to use the Starter Code (3:29)
Step 1 - Check out how the game play works
Step 2 - Break down the Problem
Solution to Step 3 - Create the Player Behaviour (4:43)
Solution to Step 4 - Create the Car Behaviour (9:13)
Solution to Step 5 - Detect when the Turtle collides with a Car *squish* (2:29)
Solution to Step 6 - Detect when the Player has reached the other side (4:28)
Solution to Step 7 - Add the Scoreboard and Game Over sequence (7:52)
Day 24 - Intermediate š§ Files, Directories and Paths
Day 24 Goals: what you will make by the end of the day (2:08)
Add a High Score to the Snake Game (10:45)
How to Open, Read, and Write to Files using the "with" Keyword (9:32)
Challenge: Read and Write the High Score to a File in Snake (6:02)
Understand Relative and Absolute File Paths (15:26)
TODO: File Paths Quiz
Introducing the Mail Merge Challenge (4:44)
Solution & Walkthrough for the Mail Merge Project (11:36)
Day 25 Intermediate š§ Working with CSV Data and the Pandas Library
Day 25 Goals: what we will make by the end of the day (1:51)
Reading CSV Data in Python (13:19)
DataFrames & Series: Working with Rows & Columns (17:25)
The Great Squirrel Census Data Analysis (with Pandas!) (9:52)
U.S. States Game Part 1: Setup (10:18)
U.S. States Game Part 2: Challenge with .csv (16:04)
U.S. States Game Part 3: Saving Data to .csv (5:26)
Day 26 Intermediate š§ List Comprehension and the NATO Alphabet
Day 26 Goals: what you will make by the end of the day (1:24)
How to Create Lists using List Comprehension (15:49)
List Comprehension Challenge 1: Squaring Numbers (2:17)
List Comprehension Challenge 2: Filtering for Even Numbers (2:42)
List Comprehension Challenge 3: Find Overlap in Data (4:55)
Apply List Comprehension to the U.S. States Game (2:42)
How to use Dictionary Comprehension (8:55)
Dictionary Comprehension Challenge 1: Word Length (4:15)
Dictionary Comprehension Challenge 2: Convert Ā°F to Ā°C (3:25)
How to Iterate over a Pandas DataFrame (4:56)
Introducing the NATO Alphabet Project (5:29)
Solution & Walkthrough for the NATO Alphabet Project (5:53)
Day 27 Intermediate š§ Tkinter, *args, **kwargs and Creating GUI Programs
Day 27 Goals: what we will make by the end of the day (2:04)
History of GUI and Introduction to Tkinter (5:22)
Creating Windows and Labels with Tkinter (9:34)
Setting Default Values for Optional Arguments inside a Function Header (5:43)
TODO: Default Values Quiz
*args: Many Positional Arguments (5:58)
**kwargs: Many Keyword Arguments (9:50)
TODO: Optional Arguments, *args and **kwargs Quiz
Buttons, Entry, and Setting Component Options (9:48)
Other Tkinter Widgets: Radiobuttons, Scales, Checkbuttons and more (7:19)
Tkinter Layout Managers: pack(), place() and grid() (11:03)
Mile to Kilometers Converter Project (11:10)
Day 28 Intermediate š§ Tkinter, Dynamic Typing and the Pomodoro GUI Application
Day 28 Goals: what we will make by the end of the day (2:41)
How to work with the Canvas Widget and Add Images to Tkinter (23:54)
Add a Count Down Mechanism (17:46)
Dynamic Typing Explained (6:58)
Adding Checkmarks and Resetting the Application (9:19)
Setting Different Timer Sessions and Values (8:00)
Day 29 Intermediate š§ Building a Password Manager GUI App with Tkinter
Day 29 Goals: what we will make by the end of the day (3:32)
Challenge 1 - Working with Images and Setting up the Canvas (5:03)
Challenge 2 - Use grid() and columnspan to Complete the User Interface (4:54)
Solution to the Creating the Grid Layout (6:35)
Challenge 3 - Saving Data to File (13:25)
Dialog Boxes and Pop-Ups in Tkinter (9:08)
Generate a Password & Copy it to the Clipboard (12:47)
Day 30 - Intermediate š§ Errors, Exceptions and JSON Data: Improving the Password
Day 30 Goals: what you will make by the end of the day (1:41)
Catching Exceptions: The try catch except finally Pattern (15:32)
Raising your own Exceptions (4:14)
Code Exercise: IndexError Handling (2:47)
Code Exercise: KeyError Handling (3:29)
Code Exercise: Exception Handling in the NATO Phonetic Alphabet Project (6:31)
Write, read and update JSON data in the Password Manager (13:20)
Challenge 1 - Handling Exceptions in the Password Manager (6:19)
Challenge 2 - Search for a Website in the Password Manager (17:56)
Day 31 - Intermediate š§ Flash Card App Capstone Project
Day 31 Goals: what you will make by the end of the day (10:06)
Step 1 - Create the User Interface (UI) with Tkinter
Solution & Walkthrough for Creating the UI (11:48)
Step 2 - Create New Flash Cards
Solution & Walkthrough for Creating New Flash Cards (8:07)
Step 3 - Flip the Cards!
Solution & Walkthrough for Flipping Cards (8:53)
Step 4 - Save Your Progress
Solution & Walkthrough for Saving Progress (9:31)
Day 32 - Intermediateā Send Email (smtplib) & Manage Dates (datetime)
Day 32 Goals: what we will make by the end of the day (2:31)
How to Send Emails with Python using SMTP (14:28)
Working with the datetime Module (6:12)
Challenge 1 - Send Motivational Quotes on Mondays via Email (8:37)
Automated Birthday Wisher Project Challenge (5:40)
Solution & Walkthrough for the Automated Birthday Wisher (17:27)
Run Your Python Code in the Cloud! (6:10)
Day 33 - IntermediateāAPI Endpoints & API Parameters - ISS Overhead Notifier
Day 33 Goals: what you will make by the end of the day (1:05)
What are Application Programming Interfaces (APIs)? (4:06)
API Endpoints and Making API Calls (7:43)
Working with Responses: HTTP Codes, Exceptions & JSON Data (8:55)
Challenge - Build a Kanye Quotes App using the Kanye Rest API (4:40)
Understand API Parameters: Match Sunset Times with the Current Time (15:08)
ISS Overhead Notifier Project - Challenge & Solution (10:06)
Day 34 - Intermediateā API Practice - Creating a GUI Quiz App
Day 34 Goals: what you will make by the end of the day (2:19)
Trivia Question API Challenge (5:48)
Solution & Walkthrough for getting Trivia Questions (3:33)
Unescaping HTML Entities (4:02)
Class based Tkinter UI (14:28)
Python Typing & Showing the Next Question in the GUI (6:56)
Python Typing: Type Hints and Arrows -> (5:13)
Check the Answer (3:34)
Give Feedback to the Player, Keep Score and Fix the Bugs =) (8:38)
Day 35 - Intermediateā Keys, Authentication & Environment Variables: Send SMS
Day 35 Goals: what you will make by the end of the day (1:35)
What is API Authentication and Why Do We Need to Authenticate Ourselves? (4:28)
Using API Keys to Authenticate and Get the Weather from OpenWeatherMap (13:04)
Challenge - Check if it Will Rain in the Next 12 Hours (18:58)
Sending SMS via the Twilio API (9:11)
Use PythonAnywhere to Automate the Python Script (7:35)
Understanding Environment Variables and Hiding API Keys (10:13)
Day 36 - Intermediateā Stock Trading News Alert Project
Day 36 Goals: what you will make by the end of the day (9:30)
Choose Your Destiny!
Solution & Walkthrough for Step 1 - Check for Stock Price Movements (15:15)
Solution & Walkthrough for Step 2 - Get the News Articles (6:47)
Solution & Walkthrough for Step 3 - Send the SMS Messages (8:17)
Day 37 - Intermediateā Habit Tracking Project: API Post Requests & Headers
Day 37 Goals: what you will make by the end of the day (2:45)
HTTP Post Requests (8:21)
Advanced Authentication using an HTTP Header (10:52)
Challenge: Add a Pixel to the Habit Tracker using a Post Request (5:55)
Autofilling today's date using strftime (6:34)
How to use HTTP Put and Delete Requests (4:17)
Day 37 Goals: what you will make by the end of the day
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock