Want to learn Python as a beginner in 2021 for free?

Here's everything you need to know to get started with updated resources and a proper roadmap!

🧵 👇🏻
A bit of backstory, I wrote my first piece of Python code in 2015 but eventually gave it up for several years because of two main reasons:

A. I had no internet
B. No guidance

You have the power of the internet and I don't want the same to happen to you, hence this guide.
All of this is based on my experience of successfully teaching 300+ students the basics of how to code using Python.

Feel free to modify this roadmap to your liking!

Now onto the guide.
Why learn Python as a beginner?

• Comparatively easier to learn than other languages
• Several use cases
• Has an awesome community
The list of topics you need to cover 👇🏻

1️⃣ Basics

• Basic terminal commands
• Basic arithmetic (+,-,/,*)
• Accepting user input
• For & While loops
• Exception handling
• If/Else statements
• Functions, modules & Imports
2️⃣ Intermediate concepts

• Object oriented programming in Python:Classes, Objects, Methods
• PIP (Pypi)
• List slicing
• String formatting
• Dictionaries & Tuples
• Managing environments
• Dunder methods like __init__
3️⃣ Advanced concepts

• Lambda functions
• Built in libraries like CSV, requests, Sqlite
• Map and Filter
• *args and **kwargs
• Async
• Decorators
From what I've observed, most beginners find it really difficult just to get the Python environment setup and then using the terminal becomes an even bigger nightmare for them.

Let's tackle this issue.
You need to install 2 things:

• Anaconda for managing environments (different versions of Python)
• Python3
Here are the anaconda installation guides for 👇

MacOS: 🔗docs.​anaconda.​com/anaconda/install/mac-os/
Windows: 🔗docs.​anaconda.​com/anaconda/install/windows/
Linux: 🔗docs.​anaconda.​com/anaconda/install/linux/
MacOS and Linux have Python pre-installed, for windows you'll have to install it yourself and it is really easy to mess up the install.

Here's a guide with step by step instructions which will help you.
🔗 bit.​ly/3rbDoyl
After you do all of that, you need a place to write your code which is called a code editor.

Here are some popular ones

• VS Code: Feature-rich (my fav)
• Sublime: Light and simple
• Jupyter: For machine learning
• Pycharm: Full-blown IDE i.​e has loads of features.
I'll be honest, VS code is objectively the best code editor out there for most languages and Python is no exception.

You can install lots of plugins and themes to make it feel just the way you want it to.

Go for VS code in my opinion, but...
If all of that seems complicated to you, I suggest you use something Google colab, Kaggle notebooks or repl.​it

These are online editors which have everything set up for you.

Not to mention colab and kaggle notebooks give you a free GPU for your machine learning workloads.
Links for these editors

Collab : 🔗colab.​research.​google.​com
Kaggle Notebooks : 🔗kaggle.​com/notebooks/welcome
Repl : 🔗repl. it
Whatever editor you choose, just remember that it does not really matter where you write you code.

It should just get the job done comfortably for your needs.

Now that you have a place where you can write your code, lets see how you can begin to actually learn how to write it.
The Basic & Intermediate Python course on freecodecamp go over pretty much all Python concepts you need for machine learning which I have mentioned above.

Basics: 🔗youtube.​com/watch?v=rfscVS0vtbw
Intermediate: 🔗youtube.​com/watch?v=HGOBQPFzWKo
Another thing which most beginners skip is knowing how to use the terminal properly and the know-how of navigating around folders.

Here's a brilliant website which gives you an overview of the windows command prompt, enough for you to get started.

🔗bit.​​ly/34tmnGd
The story is a bit different on Linux and Mac, their terminals are extremely powerful and packed to the brim with features, here's a tutorial which will help you get started with the basics 👇

🔗youtube.​com/watch?v=oxuRxtrO2Ag
Keep in mind that you should learn how to use the linux terminal because at some point in your machine learning journey you will have to deal with linux.

It is not important to learn it at the start but I do recommend it.
This tutorial will help you in knowing how to work with folders, this is important!

Windows: 🔗youtube.​com/watch?v=HDmwiJxzIrw
Mac: 🔗youtube.​com/watch?v=3TAEC-1YUZw
Linux: 🔗youtube.​com/watch?v=HbgzrKJvDRw
All of this knowledge will help you pursue whatever it is that you want to do with Python🔥

If you found this thread useful, retweet it and follow @PrasoonPratham.

I even have more informational content coming.
Your support keeps me going!💪🏻

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Pratham

Pratham Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @PrasoonPratham

29 Sep
Hi 👋 if you are interested in:

🐍 Python
📈 Data Science
🤖 Machine Learning
🐼 pandas

Follow me. ✔️

I'm planning on using Twitter to share a lot of content that you won't want to miss. 🎉
👽👌
The twitter algorithim is a joke😂

I'll explain what happened sometime soon, this went pretty unexpected.
Read 5 tweets
28 Sep
The mean squared error is probably one of the very first evaluation metrics that you might've used when making machine learning models.

Yet most people don't have a clear intuition about how it works, let's fix that today!

🧵 👇🏻
📍 The mean squared error (MSE) is a common loss function used for 'regression' problems.

Regression models are used for predicting quantitave values based on data like the prices of houses in an area, future height growth of a plant etc.
📈 MSE is calculated as the sum of the squared difference between the predicted and actual values of the target variable.

Let us break this down with the help of an example 👇🏻
Read 16 tweets
26 Sep
This image sold for $69.3 million as an 'NFT', one of the most fascinating applications of blockchains.

You must've already heard about it but do you know what NFTs really are and how they work?

Here's an explanation in under 5 minutes.
(+ how you can make your own!)
🧵 👇🏻 Image
📖 NFT is short for 'Non-Fungible Tokens'.

When we say something is fungible, that means that it can replaced by something that is exactly the same value.

For example you can you take a 100 dollar bill and another one, they have the same value and are interchangable. Image
💵 There's nothing unique about a specific 100 dollar bill, there are probably millions of them in circulation.

When we say something is non-fungible it means that it is unique and cannot be exchanged for something else.

You cannot exchange the Mona Lisa for something else. Image
Read 18 tweets
25 Sep
Solidity smart contract developers are being paid $145,000/year on AVERAGE right now, and rightfully so.

There is extreme demand for smart contract code and not enough supply, but what even is a smart contract?

The thread will explain everything in less than 5 minutes.

🧵 👇🏻
📜 The term "smart contract" was first used by Nick Szabo, a computer scientist and cryptographer, back in 1997.

Just like contracts in the real world, smart contracts are contracts but in the digital world.

Today, they're used on the blockchain.
🖥️ It's a program just like your Python or JavaScript code that runs on the blockchain.

Let's understand this with an example 👇🏻
Read 17 tweets
23 Sep
Web3 is all the rage right now, it is not hard to find solidity developers that are being paid as much as $160k/year.

I've been waiting to dive into it for a while, so here's a structured online curriculum that I have hacked together.

The best part, it's 100% free.

🧵 👇🏻
First of all, wtf even is web3? 🌐

Web3 is the next stage of evolution of the web that will * most probably * be powered by blockchain at its core.

The modern web that we know today is 'web2' and mostly controlled by large corporations like Google, FB etc.
Web3 changes that, it decentralizes the power from these corporations to users and creators.

Today big companies own our data and profit from it, in the web3 world, nobody owns the data, its public and this is possible because of the blockchain ⛓️
Read 13 tweets
23 Sep
Dictionary methods are one of the most powerful and useful topics that I use almost everyday in Python 🐍

You learn all of them in less than 5 minutes with this thread.

🧵 👇🏻
📌 Copy
📌 Clear
Read 13 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(