100 Days of Code
Day 1 - Working with Variables in Python to Manage Data
- TODO: Download the Course Syllabus
- Create an account on Repl.it
- Day 1 - Project Goal
- Fork Your Copy of the Day 1 Starting Code
- Sign Up for Interactive Code Exercises on Our Repl.it Classroom
- Printing to the Console End
- Thonny.org - A Beginner Friendly Python IDE
- Python Variables Start
- Python Variables End
- Band Name Generator Start
- Band Name Generator Completed Code
Day 2 - Understanding Data Types and How to Manipulate Strings
- Day 2 - Project Goal
- Fork Your Copy of the Day 2 Starting Code
- Interactive Code Exercises on Repl.it
- BMI Explanation
- Tim Urban's Life in Weeks
- Tip Calculator Start
- Further reading on Floating Point numbers
- Tip Calculator Completed Code
Day 3 - Control Flow and Logical Operators
- Day 3 - Project Goal
- Rollercoaster Ticketing Flow Chart Version 1 - if else statements
- Fork Your Copy of the Day 3 Starting Code
- More info on the % Modulus
- Rollercoaster Ticketing Flow Chart Version 2 - Nested if-else statements
- Rollercoaster Ticketing Flow Chart Version 3 - if-elif-else statements
- Nested if and elif End
- For the more curious - how leap years work
- Leap Year Flow Chart
- Rollercoaster Ticketing Flow Chart Version 4 - Multiple if statements
- Multiple if statements End
- Rollercoaster Ticketing Flow Chart Version 5 - with Midlife Crisis
- Treasure Island Starting Code
- Treasure Island Flow Chart
- Add your own ASCII art
- Treasure Island Completed Code
Day 4 - Randomisation and Python Lists
- Day 4 - Project Goal
- The Mersenne Twister
- Random vs Pseudorandom Numbers
- Fork Your Copy of the Day 4 Starting Code
- AskPython's Documentation on Random
- Mouse Pointer Random Generator
- Iowa Lottery Fraud Mystery
- Python List Documentation
- Things that lists can do in Python
- Using Split to convert a String to a List
- Documentation on random.choice()
- List of States and Veg
- Dirty Dozen List of Foods
- The World Rock Paper Scissors Association
- Rock Paper Scissors Starter Code
- Rock Paper Scissors Completed Code
Day 5 - Python Loops
- Day 5 - Project Goal
- Have I been pwned?
- Fork Your Copy of the Day 5 Starting Code
- For loop Lesson End
- Day 5 Ending Code
- Password Generator Start
- Password Generator Completed Code
Day 6 - Python Functions & Karel
- Built-in Python Functions
- Fork Your Copy of the Day 6 Starting Code
- Reeborgs World Start
- Reeborgs World Hurdles Challenge
- PEP 8 - The Python Style Guide
Day 7 - Hangman
- Day 7 - Project Goal
- How the Hangman Game works
- Play Hangman with Friends Online
- Hangman Program Flow Chart
- Challenge 1 Starting Code
- Challenge 1 Target Behaviour
- Hint - Python List Documentation
- Challenge 1 Completed Code
- Challenge 2 Starting Code
- Challenge 2 Target Behaviour
- Hint - Python Lists and Range()
- Challenge 2 Completed Code
- Challenge 3 Starting Code
- Challenge 3 Target Behaviour
- Challenge 3 Completed Code
- Challenge 4 Starting Code
- Challenge 4 Target Behaviour
- Flow Chart for Hangman
- Challenge 4 Completed Code
- Challenge 5 Starting Code
- Challenge 5 Target Behaviour
- Hint - Importing Modules
- Challenge 5 Completed Code
- Final Code
Day 8 - Function Parameters & Caesar Cipher
- Day 8 - Project Goal
- Fork Your Copy of the Day 8 Starting Code
- Primer on Prime Numbers
- Day 8 - Ending Code
- Caesar Cipher 1 Start
- Python List index() Method
- Caesar Cipher 1 End
- Caesar Cipher 2 Start
- Caesar Cipher 2 End
- Caesar Cipher 3 Start
- Caesar Cipher 3 End
- Caesar Cipher 4 Start
- Caesar Cipher 4 End
Day 9 - Dictionaries, Nesting and the Secret Auction
- Day 9 - Project Goal
- Fork Your Copy of the Day 9 Starting Code
- Challenge 1 Solution
- Challenge 2 Solution
- Day 9 Ending Code
- Secret Auction Starting Code
- Hint - Flowchart of Program
- Python Tutor
- Secret Auction Completed Code
Day 10 - Function Return Values and the Calculator Project
- Day 10 - Project Goal
- Fork Your Copy of the Day 10 Starting Code
- How to Convert Strings to Title Case
- Leap Year Challenge Solution
- Day 10 Ending Code
- Calculator Starting Code
- Calculator Completed Code
Day 11 - Blackjack Capstone Project
- Day 11 - Project Goal
- Try out an online Blackjack game
- Fork Your Copy of the Blackjack Starting Code
- Python sum() Function
- Python list methods
- Blackjack Completed Code
Day 12 - Scope and Namespacing in Python
- Day 12 - Project Goal
- Fork Your Copy of the Day 12 Starting Code
- Day 12 Ending Code
- Get your own ASCII Text from Patorjk
- Guess the Number Completed Code
- Using Python Tutor to Step Through your Code
Day 13 - Debugging: How to Find and Fix Errors in your Code
- Fork Your Copy of the Day 13 Starting Code
- Day 13 Ending Code
- Debug your code online with Python Tutor
- Search Stack Overflow for Errors
Day 14 - Higher Lower Game Project
- Day 14 - Project Goal
- Fork Your Copy of the Day 14 Starting Code
- Try out the Online Higher Lower Game
- Day 14 Ending Code
Day 15 - Local Development Environment Setup & the Coffee Machine Project
- Step 1: Install Python 3 on your Machine
- Step 2: Download & Install Pycharm
- Python PEP8 Style Guide
- Day 15 - Project Goal
- Download or Fork the Day 15 Starting Code
- Coffee Machine Program Specifications PDF Download
- PyCharm Keyboard Shortcuts
- Add a Coffee Emoji from Emojipedia.org
- How to bring up the Emoji Keyboard on Windows 10
- How to bring up the Emoji Keyboard on Mac
- Day 15 Ending Code
Day 16 - Object Oriented Programming (OOP)
- Turtle Graphics Documentation
- Turtle Colours
- Pokemon Pokedex
- Python Package Index
- PrettyTable Package
- PrettyTable Package Documentation
- Steve Jobs on Object Oriented Programming
- OOP Coffee Machine Project Starting Code
- Download the .zip for the OOP Coffee Machine Project Starting Code
- Coffee Machine Classes Documentation
- Coffee Machine Project Requirements
- OOP Coffee Machine Project Final Code
Day 17 - The Quiz Project & the Benefits of OOP
- Day 17 - Project Goal
- Download or Fork the Quiz Game Starting Code
- Download .zip for Quiz Game Starting Code
- Open Trivia Database
- Quiz Project Final Code
Day 18 - Turtle Graphics and GUIs
- Turtle Graphics Documentation
- Turtle Colours
- Trinket Turtle Colours
- Challenge 1 - Draw a Square - Starting Code
- Solution to Challenge 1
- Challenge 2 - Draw a Dashed Line - Starting Code
- Solution to Challenge 2
- Challenge 3 - Drawing Different Shapes - Starting Code
- Solution to Challenge 3
- Challenge 4 - Generate a Random Walk - Starting Code
- Random Walk Wikipedia Page
- Solution to Challenge 4
- RGB Tool from W3Schools
- Challenge 5 - Create a Spirograph - Starting Code
- Solution to Challenge 5
- Day 18 Ending Code
- Colorgram Package
- Hirst Painting Colour Extraction Code
- Hirst Painting Project Final Code
Day 19 - Instances, State and Higher Order Functions
- The listen() method
- Download the .zip for the Etch-A-Sketch Challenge Starting Code
- Solution to the Etch-A-Sketch Challenge
- Starting code for the Turtle Race
- Completed code for the Turtle Race
Day 20 - Build the Snake Game Part 1: Animation & Coordinates
Day 21 - Build the Snake Game Part 2: Inheritance & List Slicing
- Inheritance Repl.it Example Code
- The shape() and shapesize() methods
- The write() method
- Piano Keys List Slicing Repl.it
- Completed Code for Snake Part 2
Day 22 - Build Pong: The Famous Arcade Game
Day 23 - The Turtle Crossing Capstone Project
- Download the .zip for the Starting Code for the Turtle Crossing Game
- Solution Code to the Capstone Project
Day 24 - Files, Directories and Paths
- Snake Project Code from Day 21
- The open() method
- Snake After Adding High Score Management
- Day 24 Ending Code
- Download the Mail Merge Project Starting Files
- Hint 1
- Hint 2
- Hint 3
- Mail Merge Project Completed Code
Day 25 - Working with CSV Data and the Pandas Library
- Sample Weather Data as .csv
- Downlod the Weather Data Day 25 Starting Code
- Pandas Documentation
- Pandas API Reference
- Central Park Squirrel Census Data
- Day 25 End Code
- Sporkle Name the States Game
- Download .zip for the U.S. States Game Starting Files
- U.S. States Game Completed Repl
Day 26 - List Comprehension & the NATO Pilot's Alphabet
- Don't have a repl.it account yet? Register here
- Didn't join our repl.it classroom yet? Sign Up for our Interactive Code Exercises here
- Day 26 End Code
- Download .zip for the NATO Alphabet Starting Files
- NATO Alphabet Starting Code & TODOs
- Completed Code NATO Alphabet Project
Day 27 - Tkinter, *args, **kwargs and Creating GUI Programs
- Python Docs: The Packer
- TCL tk Docs: pack()
- Playground.py Completed Code
- TCL tk Docs: Entry()
- Tkinter Widget Example Code Palette
- Day 27 End Code
Day 28 - Tkinter, Dynamic Typing and the Pomodoro GUI Application
- Download the .zip for the Pomodoro Starting Files
- Use Color Hunt to Choose a Nice Colour
- TCL tk Docs: after()
- Python as a Strongly and Dyamically Typed Programming Language
- How to Make Tkinter window go to the front
- Pomodoro Completed Project
Day 29 - Building a Password Manager GUI App with Tkinter
- Download the .zip for the Password Manager Starting Files
- Tkinter Canvas Widget Docs - create_image() method
- Tkinter Grid columnspan Demo Repl
- w3schools Python Writing to File Documentation
- Tkinter Entry Widget Docs
- Day 5 Password Generator Project Code
- w3schools Python join() method Documentation
- Pyperclip documentation on PyPi
- Password Manager End Code
Day 30 - Errors, Exceptions and JSON Data: Improving the Password Manager
- Download the .zip file for the Password Manager (End of Day 29)
- Don't have a repl.it account yet? Register here
- Didn't join our repl.it classroom yet? Sign Up for our Interactive Code Exercises here
- Download the .zip file for the NATO Phonetic Alphabet for the Code Exercise
- Solution to the Improved NATO Phonetic Alphabet Project
- Python JSON Module Documentation
- Day 30 End Code
- Improved Password Manager Project End Code
Day 31 - Capstone Project - Flash Card App
- Download the .zip for the Flash Card Program Starting Files
- Wikitionary Frequency Lists
- 2018 Frequency Lists from Hermit Dave
- Open Subtitles
- Google Sheets
- View Only - French Words Google Sheet
- Google Translate for Google Sheets
- Google Translate Language Codes
- Flash Card Program End Code
Day 32 - Send Email (smtplib) & Manage Dates (datetime): The Automated Birthday Wisher
- Download the .zip for the SMTP Starting Files
- Python smtplib Documentation
- Python datetime Documentation
- 101 Monday Motivational Quotes from the Positivity Blog
- Day 32 End Code
- Normal Difficulty Birthday Wisher Project Starting .zip File
- Hard Difficulty Birthday Wisher Project Starting .zip File
- Extra Hard Difficulty Birthday Wisher Project Starting .zip File
- Host your Code in the Cloud with pythonanywhere
- Birthday Wisher Project Completed Code
Day 33 - API Endpoints and API Parameters - ISS Overhead Notifier
- Application Programming Interface Wikipedia Entry
- International Space Station (ISS) Wikipedia Entry
- ISS Current Location API Documentation
- HTTP Status Codes
- Python Requests Module Documentation
- JSON Viewer Awesome Chrome Plugin
- Latitude and Longitude to Address Tool
- Kanye Quotes API
- Download the .zip for the Kanye Quotes Starting Files
- Kanye Quotes Completed Project Code
- Sunrise and Sunset Times API
- Find Your Current Latitude and Longitude Tool
- Python split() method Documentation
- ISS Overhead Notifier Final Code
Day 34 - API Practice - Creating a GUI Quiz App
- The Open Trivia Database
- Download the .zip for the Quiz App Starting Files
- How to Get TKinter Canvas Text to Wrap
- Documentation on HTML Entities
- FreeFormatter - HTML Unescape Tool
- StackOverflow Answer on Unescaping HTML Entities in Python
- How to Disable Tkinter Buttons
- Quiz App Completed Code
Day 35 - API Keys & Authentication, Sending SMS and Environment Variables
- Create a free count on OpenWeatherMap
- OpenWeatherMap Current Weather API Documentation
- Link to Your OpenWeatherMap API Key req. login
- Find Your Latitude/longitude
- Online JSON Viewer
- Find a Place that's raining using Ventusky
- OpenWeatherMap OneCall Api Documentation
- Python Slice Function
- Python Slice Operator with Square Brackets
- Signup for Twilio
- Twilio SMS Quickstart Documentation for Python
- PythonAnywhere
- how to Get Twilio to Work on PythonAnywhere Free Accounts
- Environment Variables Wikipedia Entry
- Other APIs to Explore
- Completed Code for Rain Alert Project