In a competitive job market, learning to code is a useful way to stand out from the crowd and gain access to career paths which are both interesting and lucrative. If you’re just beginning your coding journey, Python is probably a good programming language to start with — it’s high-level, widely used, and a user-friendly introduction to important concepts in coding. Possibly most importantly for a prospective learner, a wealth of resources is available to help you learn Python and use it well.
A lot of Python beginners probably want to figure out if Python will suit their needs, and, fortunately, paying for an expensive course at this stage isn’t necessary when there so many free resources are available. Unless you’re specifically planning to work with legacy code, you should find a course which teaches Python 3, the most up-to-date version of Python.
Tons of free resources are available, but a good place to start is “Python 101,” a book by Michael Driscoll on pythonlibrary.org. The book is broken up into a series of parts covering the basics of Python, including step-by-step guides to test each concept yourself. It advises downloading a Python installation and starts out with editing simple scripts in Python’s built-in editor, IDLE, which is an easy way to get started. The book is a thorough overview of the basics of Python but also gives clear examples of how to write the kind of scripts you might actually want to use.
It delves into some more intermediate topics but in a way that users will find easy to follow. Python 101 should feel accessible even to those very new to programming, but if you want an overview of the ‘whats and whys’ of programming in general, head to Free Code Camp and follow their ‘Gentler Introduction to Programming’ course. This simple write-up should help clarify some of the jargon and buzzwords that get used with programming. Other useful resources include Python for Everybody (Py4E), which has a data analytics focus, and the Code Academy, which has some great modules for those interested in delving deeper into the mathematics behind programming.
If you’ve established that Python is the language for you, it might be worth investing in a more in-depth course to accelerate your skills. With so many free resources, it’s important to focus on the added value you can get from a paid-for course.
An obvious advantage is certification. If finding a job is part of your reason for learning python, formal courses can be a great addition to your CV. Many online learning platforms offer certificates for the completion of courses, but it’s worth balancing the course content with the name recognition of the platform.
It’s also worth checking if local universities offer access to individual modules for students not enrolled in a full course. If that’s not an option, platforms like Coursera and edX are a way of accessing courses from universities and institutions around the world.
Another possible advantage of paid-for courses is feedback. Courses on platforms such as Udemy and Code Academy usually have a ton of programming exercises and projects to test your understanding. EdX and Coursera usually have reviewed assignments and peer assessments which can give more personalized ways to improve your coding. Another advantage of paid courses is specialization. Everyone uses Python differently, so as you progress beyond the basics, it’s important to consider which skills are right for the kind of programming you want to do.
The platforms listed above have Python courses well suited to many coding areas, from user interface design to data science. In many specialized areas, there’s a lot of background learning to be done. Well-designed, specialized courses can help guide your understanding and grow your expertise.
One of the most challenging parts of getting to grips with Python is setting up an editor and environment that suits your needs and getting used to installing packages. If you follow a few different tutorials, you’ll probably find that each one suggests a different ‘simple’ way to get started. Figuring out what suits you is an important part of becoming a competent user of Python, but in the beginning, complicated package management can be a distraction from getting to grips with the language itself.
Fortunately, many ‘sandbox’ tools exist which allow you to jump in and start testing code. Jupyter notebooks are a popular browser-based environment, which means you can start running simple code very quickly, and many tutorials will start there. Google Colab is a hosted Jupyter notebook server that allows you to write and execute code without any setup at all. You won’t even need to install Python. And because you run code on external resources, including GPUs, it’s particularly well suited to learning to use machine learning in your code.
The final and most important tip for learning Python is to write Python! It doesn’t matter what you write, but the more you use the language, the more your confidence will grow. While online exercises are useful, actually writing code that contributes towards your own projects is the best way to improve. Google is your best friend when it comes to solving problems you don’t know how to tackle. There’s likely to be someone who experienced the problem before you. Remember that even experienced programmers ask for help.