Python Tales - The Python Tutor Blog

A Python Programming Blog, from a Pythoneer to Pythoneers, created by The Python Tutor.

Sunday, July 23, 2017

Learning Python - Where to start?

Hello my friends in this entry I'm not going to code as usual but rather to talk about some of the common questions that Python enthusiastic ask when they want a fresh start in learning Python. I will give you my personal recommendations based on my own experience learning this beautiful language and what comes next.

Where do we start?

In my experience the best way to start learning Python is through a MOOC (Massive Online Open Course), the advantages of taking an online course start by stating that the best teachers that you could find have an online course, who are they? Well, I'm not sure if they are the best in the world but they must be the best in the U.S.A., teachers from the first top computer science schools in this country, another advantage is that these online systems you can manage yourself your learning experience, from when to attend to class (watch the lessons), and deliver the homework and tests at your own pace, with automated grading, and finally communities and discussion forums will the proper staff to attend your doubts and questions.

Which courses do I recommend?

Well I learnt in the first online edition of 600x from edX back then in 2012-2013, this was a six months online course of Computer Science from MIT, nowadays this course is split in two courses 600.1x and 600.2x but you can still find them in the edX platform, you can open an account and audit the courses for free, if you want to pursuit a certification some charges are applied. This course covers the basics on Computer Science but is taught using Python, for new learners this is the best recommendation that I can give you.
Another course you can take to complete your learning experience is the set of Python courses from the University of Michigan in the Coursera Platform called "Learn to Program and Analyze Data with Python"; this set has 5 courses, one after the other, in which they cover from the basics of Python to its applications in databases, web data access, processing and visualization, this set of courses belong to a coursera specialization which has a price for certification, but you can take each course individually for free, here I you have the list of links.
1.       edX
2.       Coursera
a.       Specialization
                                                               i.      Programming for Everybody (Getting Started with Python)
                                                             ii.      Python Data Structures
                                                            iii.      Using Python to Access Web Data
                                                           iv.      Using Databases with Python

What's next?

This set of courses will prepare you for becoming a ninja in Python, from now on you need to go further with your learning based on which field you want to pursue in Python, remember that Python is a general purpose language, meaning that you can do almost anything with Python, so it will depend of you what do you want to do next with Python, I can give you some hints, you can become a backend developer, data scientist, data engineer, forensics, database programmer, between several profiles that you can have.
But either way you choose you need to feed your mind with an broad source of knowledge, because there is no default way of learning any of these skills, so you need to mix several way of learning, from online courses, tutorials, blog articles, books, youtube videos; because from now on you will learn Python from the experience of others developers, you will become a member of the large Python community.
Most of these skills even that they have a background theory, most of the time you will learn the use of the best set of frameworks that are applied in a specific field, by this I mean that if you want to become a backend developer you will expend a lot of time learning django or flask (both Python frameworks and libraries), in data science there are several frameworks and libraries that we will cover in future entries.
And that's it, we have covered enough for now, o thanks for coming by my new entry and I hope you have enjoyed this as much as I enjoyed writing it, stop by the comments if you want to discuss about this. Don't forget to share this with your Python Peers. Cheers my friends.