Playbook: Learn Python

Made with ❤️ by Liam and Aadil, TKS Toronto

Everything listed below is free.

Learn the basics of Python:

Start with Scrimba's Python course

  • This course should take you 1 to 2 weeks to complete (~15 hours)
  • You don't need to complete the last 14 lessons (42-55) if you don't want to
  • Python is a good first programming language to learn. It's also widely used (quantum computing, deep learning etc)
🔑
The one skill that separates bad programmers from good programmers is attention to detail. In fact, it’s what separates the good from the bad in any profession. You must pay attention to the tiniest details of your work or you will miss important elements of what you create.

Build some small projects

Setting Up Basics

  • Figure out how to install Python 3.8
  • Install VScode as your code editor
  • Figure out how to run python files from terminal (powershell on windows)
  • You'll learn how to use Google and StackOverflow to figure things out
  • Look into Google Collab

Tips

  • Use Stackoverflow and learn how to master it
  • Googling how to do parts of your project is fine, should be specific, but don't copy without understanding
  • GOOD: "How to implement proof of work with python"
  • BAD: "How to build a blockchain with Python"
🚨
If you copy and paste, you will not learn. The point of practicing is to train your hands, your brain, and your mind how to read, write, and see code. If you copy-paste, you are cheating yourself out of learning.

Build a small project that is interesting to you

Examples of good projects

  • Choose your own adventure or hangman (well defined, text only)
Auto Bitcoin price notifications
Automatically scrape your favorite subreddits and email yourself the results (useful and not too complicated)

Examples of bad projects:

  • Making a video game (will take way too long)
  • Recreating Twitter (you'd have to learn web and server side programming)

Build 2 to 3 small projects

  • You'll learn way more from building then from following a course
  • You'll learn how to figure stuff out

Optional: Design of Computer Programs (Course)

https://www.udacity.com/course/design-of-computer-programs--cs212

  • Exercises are hands off, try your best before looking at the answers
  • Teaches you how to mental models for problem solving with programming
  • Taught by Peter Norvig (head of AI at Google)