If you are planning to start your journey into the world of programming, you should remember these points:
- Most programmers are self taught and learning to programme is somewhat a solo task.
- Most of the materials that are required to learn programming are available online for free.
Having said so, courses have their own advantages,primary because of the structure they provide. Without a proper structure, it is very difficult to learn anything.
Now, choosing a programming language can be tricky. But if you are someone who has never programmed before or have basic knowledge of programming, Python is a great language to pick.
Although the best way to learn programming is your own way, here is a method which can help you to make the most out of your learning:
- One book – This will act as your reference material and you can use it even when you are not using your phone or computer.
- One course/playlist – This will be the main source of your learning.
- One Website – to get the up to date information about various things happening in the world of Python.
- One community – Peer to peer learning really helps you to strengthen your knowledge further. It helps you to identify your strengths and weak points.
Now how to start?
Well I have consolidated plenty of good resources in a structured manner, that will definitely help you to become good at python programming. Most of these resources are available for free except for the books which you have to buy. You do not need to buy all the books. Just one would be enough. But it is recommended to buy at least one book.
Books and Other Reading Materials
Books really help you to learn a topic in depth. But it is best to use them as supplementary materials.
- Learn Python the hard way by Zed A .Shaw ( A great book to have in your collection)
- Beginning Programming with Python For Dummies by John Paul Mueller
- Data Structures and algorithmic thinking with Python by Narasimha Karumanchi (A great book to prepare for campus placements)
- Automate the Boring Stuff with Python: Practical Programming for Total Beginners by by Al Sweigart
- Core Python Programming by R. Nageswara Rao
- Python for Everybody: Exploring Data in Python 3 by Charles Severance
In order to make the best use of an online course, supplement the course materials with a few good books.
- Introduction to Python: Fundamentals by Microsoft
- Python for Everybody By University of Michigan
- Programming for Everybody by University of Michigan
- Python for Data Science by IBM
- Complete Python bootcamp by Jose Portilla, Pierian Data International
Websites should not be the primary source to learn the topics. But they can help you to learn additional topics and help you to brush up your knowledge.
- Codeacademy python tutorial
- Python.org Documentation
- W3schools python tutorial
- Geeks for geeks Python Tutorial
- Tutorials point Python
Playlists are also a great resources to brush up your knowledge. If you are a beginner, it would be advisable to start with a course first. And use a playlist as reference material.
- Python Tutorial for beginners by Programming with Mosh
- Free code camp Python tutorial
- Python for beginners by Telusko
- Free code camp Python Django framework
- Edureka Python programming
Peer to peer learning is the best way to gain knowledge in any topic. These communities will help you to keep yourself updated with the latest information.
Still confused regarding from where to start?
Here is my recommendation.
- Start with Python for Everybody By University of Michigan
- Keep this book Learn Python the hard way by Zed A .Shaw
- Once you master the basics start following this book Data Structures and algorithmic thinking with Python by Narasimha Karumanchi
- Whenever you face any query, post them on ckoverflow Python Community
- Plus with whatever knowledge you have gained, try to help resolve the issues faced by other members of the community. Remember that peer to peer learning in one of the best ways to become specialised in anything
- After that you can start moving towards the areas of your interest like Machine learning, Web development, app development, etc.
This is just my personal approach to learning Python. You can always follow your own approach to learn this programming language.
You can connect with me on various social media platforms: