If you are new to programming or want to improve your empirically acquired skills, I would highly recommend the Python Specialization offered by the University of Michigan on Coursera.org This has been by far the best MOOC experience I have ever had, offered by an instructor who is well versed in the subject as well as an outstanding educator: Prof. Charles “Chuck” Severance.
A few months ago I was browsing through the course catalog in Coursera.org and found out they started offering Specializations. These are series of related courses offered by an institution aimed at developing a certain set of related skills, wrapped up by a Capstone project. Since I wanted to improve my Computer Science related skills, Coursera recommended me the recently added “Learn to Program and Analyze Data with Python“.
Coursera has several modes for taking courses. In the case of specializations, you can choose to pay for the whole package, with a discount of about 15% as compared to purchasing all the courses in the series. You can also choose to purchase each course separately. Both of these modes offer verified certificates, which you can print or electronically share. Sometimes, it also “unlocks” some parts of the study materials which are graded, peer-reviewed, or have higher level of complexity.
But if you are on a budget, you can audit the courses as well. I have found that its becoming more frequent that audited MOOCs do not provide all of the practice assignments, nor graded or peer-reviewed materials. This is a drawback, considering that evaluation is an important element of learning. Another limitation is that you can not audit the Capstone project; understandably, since it will require personalized attention to evaluate your work. However, this is not the case of UMich’s Python Series, which offers all materials but the Capstone, available to auditing participants.
As if this wasn’t enough, Prof. Severance (UMich’s profile, personal website)is probably the best instructor I have ever had in a MOOC. He is skillful not only in Python programming, but in a range of other technologies and platforms. His lectures are aimed at delivering Python’s key concepts, with enough practice to make these concepts stick. After taking this series courses, I highly recommend anyone interested in learning how to program, learning the Python language, or Python’s core applications.
The courses are self-paced, so you can decide how much time you invest and when you take the courses. Coursera offers suggested deadlines to keep you on track, so you don’t take 1 month to complete a one-week module. And the assignments are auto-graded, with the exception of peer-reviewed ones, making this the ideal scenario for any self-learner. For anyone interested in taking these courses, these are the direct links in the recommended order to gradually build up your skills:
- Programming for Everybody (Getting Started with Python)
- Python Data Structures
- Using Python to Access Web Data
- Using Databases with Python