Even as the demand for software engineers continues to soar, more people – especially kids – are now learning coding than ever before. And although there are many coding languages out there, Python continues to reign supreme. The last few years in particular have seen Python become very popular. With its syntax similar to English, not only is it easy to learn Python but it also boasts a cross-industry appeal today. Indeed, Python’s versatility means it is used today in mobile and desktop applications, hardware programming, web development, and even emerging fields such as Big Data Analytics, Internet of Things (IOT), Computer Vision, Machine Learning and Artificial Intelligence.
How can one go about learning Python? Today, there is no dearth of resources available for learning Python. This article, however, is about trying to understand how one can go about learning Python. With coding languages evolving and becoming more complex, it is more crucial than ever before to know the how of things. Shared below are key strategies one can adopt in order to ace coding with Python!
Coding Every Day
This is a rather obvious strategy but an important one nevertheless. Python is like any other subject or language; it can be learnt well only by regularly working with it. It doesn’t have to be long hours of daily coding but a serious commitment to coding for even 20 minutes every day will do, to begin with. It will help develop muscle memory at the very least. So being disciplined is key here.
Taking Notes (By Hand, Yes!)
This is another exercise whose appeal and utility transcends the field of one’s work. So, you could be learning any subject and taking down notes is bound to help you. Even research says that taking notes by hand – be it on paper or a board – boosts long-term retention and helps one think more clearly. Also bear in mind that full-time developers often do have to write code on whiteboards, so this is a practice worth inculcating for kids too. In fact, many programmers make a habit of writing out their notes (code, especially functions and classes one is likely to use).
Experienced educator and technologist Suchin Ravi, who teaches computer science as the lead instructor at YoungWonks, says that he usually suggests making a handwritten cheat sheet for all key concepts that make up the foundation of coding in Python. Think concepts such as data types, variables, if conditions, for loops, while loops, lists, dictionaries, functions, file operations and also the time and the random module. “Students can compile one mother cheat sheet for these concepts or even make individual ones for each, sort of like flash cards one can refer to whenever one wishes,” he says.
Do Not Let Bugs Get To You
Bugs are a part of a programmer’s life, more so once one begins to write complex programs. So do not let them get to you. Here again, it is important to think clearly and have a systematic approach even as things do not work as planned. Stay calm and revisit your code; break it down into smaller sections and go in order so you can tackle the bugs more easily. After identifying the problem and the cause, use the Python debugger by inserting this line of code import pdb; pdb.set_trace() and run it.
Too much of anything is eventually going to overwhelm you and it is the same with learning Python. While it is important to consistently make progress, it is equally crucial to take breaks in between; the idea is to stop and see if you have actually understood the concepts you’ve learnt so far. The Pomodoro Technique can come in handy here; you break down your schedule into 25-minute intervals, all separated by short breaks. This is even more helpful when one is learning a new concept as one is more likely to need more time to process new information. Even while debugging, one can take a step back, take a quick break and then come back to address the problem with a fresh mind. As long as your code is following the rules of a language and logic, you will be back on track.
While one doesn’t always need to be around a bunch of people to code, it doesn’t have to be a solo activity either. Especially if you are learning Python, it is extremely helpful to do so in the company of people who are also learning the coding language. This fosters a sense of community which can go a long way in aiding a stronger understanding of the subject. It paves the way for team work even as you share the tips and tricks with others and they do the same with you; this is how you collaborate and learn along the way. Even if there aren’t many in your immediate circle who are learning Python, you can meet people online using local events, Meetups or PythonistaCafe, a peer-to-peer learning community for Python enthusiasts.
Another tried and tested strategy is that of pair programming. This is when two programmers work together at one workstation. One is the driver typing the code while the other, the observer or navigator, reviews each line of code as it is keyed in. Typically, the two programmers keep switching roles and help each other out.
The best way to learn is by doing. So, unless and until you are actually applying the knowledge of concepts to build something, you are not really doing justice to all that you’ve learnt. Nor will you be able to truly assess how far you’ve come. For those just starting out, it is recommended to try small exercises that actually help one gain confidence. And after one has established one’s solid grasp over basic data structures and object-oriented programming, it’s time to actually put that to the test by making something. No course or article can ever substitute what you’ll learn by doing. There are many simple Python projects one can pick from, including making a simple teleprompter, an emotion/ smile detector, a weather station or even a musical instrument!
Remember that at the initial stage, it doesn’t matter what you make, what matters is how you make it and how you solve the problems you face in the process.
Taking the making story ahead, one can learn even more by participating in an open-source project. An open-source project, as the name suggests, is a project with an open source, so anyone can freely use, study, modify, and distribute the project for any purpose. So, contributing to an open-source Python project is indeed a great way to learn. It gives you an insider’s view into how such projects come together. Bear in mind that often these projects are large scale ones so that POV becomes so much valuable for anyone looking to pursue a career with Python.
Soft skills are in high demand today – everybody seems to be needing them for… Read More