I’ve decided that its time to learn Python. While I feel very comfortable using R to scrape data from the internet, bring together different datasets, clean, analyze, and visualize data, there are a few things that R isn’t totally super at. For example, sometimes I think that my R programs are running slow (especially when they require loops).
At any rate, I love R, and I am by no means leaving R behind (this is starting to feel like the “it’s not you it’s me” talk) but I want to try new things. This can only add to my appreciation of R. At least, that’s what I’m telling some weird anthropomorphized version of R in my head. Apparently I’m trying to break it to R gently.
So enough of that foolishness! Here’s what I am doing to learn Python:
First I’m going through Python for Informatics book by Charles Severance. It is very clearly written, easy to follow, but a little basic. I have programmed before in Quick Basic and Turbo Pascal in high school, and then C++ in college, so while I’m kind of rusty, this book is a little slow for me. It is an excellent reference though, and I have gone back to it a few times to clarify some sticking points.
I’m also taking myself through the online self-paced Problem Solving with Algorithms and Data Structures course which was created by Brad Miller and David Ranum. So far this has been excellent and at the right level for me. There are examples interspersed throughout, which let you test out your programming as you follow along. I’m having a fun time learning all of the different capabilities of Python, and it is pretty amazing how something you learned 20 years ago can come back to you so fast! I haven’t been doing a lot of recursive programming in R, but I am really pumped to get back into that. Another reason to love this resource is that the examples are really fun. I’m about to learn how to write a Python problem that solves Soduku puzzles. As a lover Sodoku (and puzzles in general) this is the kind of problem I am excited to work on!
I’m also taking another self-paced course called Up and Running with Python on Lynda.com. This course has also been great, and I am excited to get to the point in the course where I will be able to use Python to get and analyze web data.
I have tried out the free version of Booz Allen Hamilton’s Explore Data Science course. This course gamifies learning Python, which is an approach that I love, have I mentioned that I love games? However the down-side is that it costs a few hundred dollars to go beyond the trial membership. Since there are so many free resources out there, it is hard for me to justify shelling out the cash for this.
Lastly, I have also just joined the Twin Cities Python Meetup group. It’s been great for me to get my feet wet with these books and online classes and tutorials, but actually being able to talk with other people who are grappling with the same questions you are can be extremely helpful. I’m looking forward to attending a meet up soon!
I will upload some Python code soon so that I can share in my progress.