Hello, All.
I've started documenting my experiences I've encountered be it a technical or non technical through my new series titled "My Personal Experiences". This article is written as a Task2 for #HashnodeBootcamp after a wonderful session by Ali Spittel.
In this article, I'll be sharing my learning journey with Python.
Python is a most versatile and productive language used in various fields such as data science, software engineering, embedded, automation, games and web development. It integrates effectively, easier to use and automates our works faster.
👇Learning Experience with Python
My curiosity to learn Python was through an article I had seen in towardsdatascience. This instantly triggered me to step my foot into the world of Pyzone. It was my stepping stone to this journey.
How to learn Python? Where to start from was the initial thought that was juggling my mind. Learning any new language isn't easy to be honest. There is no particular structure to learn it either and and all it needs is one's willingness and zeal to explore it.
Do you want to be called as pythonista? Do you want to automate? Do you want to develop practical applications on customized needs? Do you want to do web scraping or data science related projects. Then stick tight and know the resources which helped me be a one and would help you as well.
Let's go on a tour with few tips I have got to share:
🎯Have a Goal
Worst mistake one can ever make is learning without a goal. Goal sets you back on track when you get low in motivation. I divided my learnings into sub tasks and that made me feel confident in moving forward without being stuck. Don't learn it just for the sake of stating that I know a language, rather think of all practical uses cases or applications you can work upon. Stay in pace, go slow and make sure you understand what you learn. Fix your goal and think what brought you here. I can say this from my experience, that it brought me closer to mastering the language. I have learnt python to gain my working knowledge on it and implement it through applications on development board or real time products being an embedded engineer. I had a purpose to do it and that helped me in setting my initial goal.
💭Resources
There are tons of tutorials and videos online, lots of courses to pick from and many forums or communities to get updated. I strongly suggest to not just pick one. Maximize your learning experience through vast resources available and expand your knowledge as much as you could. The resources I've used are:
- Udemy
2021 Complete Python Bootcamp From Zero to Hero in Python covers the basics of python programming, object oriented programming, advanced python modules, web scraping and automation essential for having a good kickstart to python. This course comes in the form of video lectures and coding exercises on Jupyter Notebook as assignments and milestone projects.
- Interactive Coding Environment
For any beginer to get started with python, Jupyter Notebook and Google Colab are the most useful tools to familiarise yourself with coding and practice as you learn. Only way to learn a programming language is through constant practise. To install Jupyter Notebook, you can download Anaconda Navigator. It consists on wide rangs of tools and comes as a package. Google Colab is online coding tool which you can use and execute as you code (no installations required).
- Python documentation is the most reliable information to know about installation, tutorials, libraries, setups, language references etc.
💻Learn Syntax, the Right Way
This is most crucial step for building up any python project. Syntax defines the structure of code. Before you plunge further, you need to know the basics of Python syntax. This need good attention of time to master the language.
Here are some beneficial sources to help you learn the basics:
Python3 for Absolute Beginers by Tim Hall and J.P Stacey is a beginner friendly book well written in simple language. It covers all the required topics to get you started with Python3.
Automate the Boring Stuff with Python is other book I look upto when working on applications practically. It brought me good exposure on how to construct and work on the code.
Cognitive Class:Python for Data Science is a course to get hands on basic topics and gain strong fundamentals to write python scripts.
Learn Python is go to place for general syntaxes used. But don't give you maximum time. Once you got your basics right, you are good to go on working projects. Only when you work on projects, you can understand how well you could do your syntax proper. If you are stuck somewhere, you can refer back to the syntax. That's how you learn by correcting and progressing yourself. Don't spend more than a month here.
🗄️Work on Structured Projects
Once you had learnt syntax, you can make your porjects on your own. Projects enhance your learning experience and makes you apply the knowledge you have learnt. To retain the knowledge and keep it in practice, application of knowledge is very much useful. This will help you in learning new things,showcasing a portfolio and push your capabilities to explore more deeper. Creating projects on your own from scratch might be tougher at first, starting your coding experience with HackerRank or PracticeCoding. At first, you might stuck a lot or refer to documentation to do so. But mark my word, it would instill confidence within you when working on challenges and with coding practice you could perform well better without the need to refer in future. Once you are comfortable enough, you can start on you own personal projects.
🚀Work on Own Projects
Now it's the time to make your hands dirty on your own projects to progress your python learning efficiently. You'll still refer your resourcs and concepts you have learnt, but these are are your projects you work on own. Before you start working on your own projects, you should be comfortable enough to sort out debugging errors and exceptions you may get from your programs.
Here are few resources which can help you out:
StackOverflow - It's a community where you can put out your queries or get your answers related to programming and debugging issues. Python specific questions can be found here.
Google - the mostly used tool by everyone, when you want to resolve your errors like this.
Python documentation — a perfect place for reference materials on Python. Once you get a strong command on debugging the issues, you can finally get onto your projects. Start with a project that excites you. For example, my first projects on python were Digital Clock and Music Player.
Projects are definitely a wonderful add-on for your resume. It's a great way to assess your learnings of how far you have come. Applying practically is always a best way to learn a technical skill. Take a project of your own interest. This will let you know how much you have learnt and where you are lacking behind. Make sure to keep a track of your progress. That's how one can master and get better at it.
Small tips on how to find interesting projects:
- Go to python meetups in your area and know interesting projects to work on
- Attend technical conferences or webinars of python to get ideas
- You can check up on google or various resources to know different types of projects, beginers can attempt working on
- If you had projects you worked earlier, you can think of adding up more functionalities to the project
- Contribute to open source packages (like Github)
- You can collaborate with others by adding extra features to the project. Github is best place for it
- Look for any nonprofit organizations who are looking for developers to volunteer
- Skim through blog posts by other people to get interesting ideas on project
- Think of automating your tasks through python to make your life easier
- Start with small and simple projects to gain confidence.
- Find other person to work with for getting motivation
Increase the level and scope of your projects as you progress and challenge yourself. It will help you to get comfortable with python as long as you go. Keep practising consistently.
✍️Blogs and Podcast
You have various blogs that provides you with resources you need to learn python. Few blogs I follow are RealPython, TalkPython, GeeksforGeeks and AnalyticsVidhya. You can check them out and choose blogs that suits your learning style.
👨💻GitHub
Having you own GitHub profile is must if you want to make your mark in technical space. You can find sample codes for any application you want to build up and can as well contribute to interesting ones. But how would Github help in learning Python? It's everything. Programmers learn a lot from it as GitHub is a huge place to find code repositories.
Few ways to learn Python from GitHub:
- You can clone the codes from others to use it in your application
- Develop own python project for others and ask for feedback
- Contribute to existing projects by addressing the issues.
Python is evolving continously and there is lot to learn and explore. You have to constantly learn and work on projects. If you make this work for you, you can see your progress on how far you had come and what you had achieved. This will get your track set. I feel anyone can reach higher proficiency if they find right motivation to move forward.
Definitely indeed, Python is a valuable language and learning it was so fun to do. It's an amazing ride and my journey is still on.
I hope you found this article helpful. Drop me your comments and do share your valuable opinions, if it did. Also I would be happy to know about your learning experience with tech stack of your choice.
Thank you for reading, I would like to connect with you on Twitter | LinkedIn.🤝🏻
📖You should surely checkout my other blogs:
👀References
Thank You Edidiong Asikpo and Catalin's Tech for organizing this bootcamp.
See you in my next article, Take care.