Last week I began describing how I forced myself to step outside my comfort zone earlier this summer to begin learning Python on my journey into the world of data science. Ironically enough after I wrote the article, I saw a Harvard Business Review article about how doing this will help me grow in my job. This week I want to take a look at some of the tools I used to get started.
I definitely had a pretty impatient attitude about learning how to code. All I wanted to do was get to the solution by modifying someone else’s code from GitHub. I wanted to be able to scrape data from Twitter and I wanted to do it yesterday! Staying with the language learning metaphor, I realized I was not learning Python by relying on someone else’s code to solve problems. It’s like trying to write a paragraph in another language without knowing the alphabet. I experimented with some code on GitHub without much luck or understanding so I decided I should begin learning the Python alphabet. Maybe learning a computer language is in some ways like learning Spanish after all.
I went to my local library to check out a “Python for Dummies” book and thought I could get the information I needed by skimming through the chapters. The concepts were pretty abstract for me so I next tried a computer programming book written for kids thinking that if a 9-year old could program, so could I. Neither one of these books gave me quick enough results as my impatience and desire to become a coding master overnight reared their ugly heads again.
Next I decided I probably needed a more interactive way to learn Python than reading a book. I checked out some free online tutorials and even a “Programming for Everybody” Coursera online course. I even went to a local coding meetup group for some tips but everyone at the meeting was so much more advanced than I was and they had trouble explaining in more beginner terms what I needed to do to get started. After a few weeks of experimenting with these tutorials, I was annoyed at how difficult learning was and needed to take a break from Python.
After my break from the online classes I was reminded by my best friend (who happens to also be my husband who codes daily) that I would need tenacity to learn a programming language, especially if it was a skill that didn’t come naturally to me. He also said that I should stay focused on incremental learning and not worry about becoming an expert coder. He said not to let my perfectionism keep me from trying.
I thought about how many years it took me to learn Spanish ‘fluently’. It took about 3 years of high school Spanish before I could speak at an elementary level and two study abroad stints in Peru and Spain + more undergrad classes before becoming more proficient. I finally admitted that there are still times I learn something new about the grammar, culture or Spanish idioms even after 20 years in the subject. And since I don’t speak it everyday, there’s always room for improvement. So I guess learning Python was a bit like learning Spanish even if the languages themselves were different.
Two weeks ago as I realized the summer was winding down and classes would begin in about a month, I knew I couldn’t procrastinate any longer. I finally found a great free Coursera course by Rice University that I dove into and began sloshing through. I chose Coursera as my educator since I had completed Data Visualization and Data Scientist’s Toolbox Intro classes last fall.The class is taught by John Greiner, Stephen Wong, Scott Rixner and Joe Warren. The instructors in this course are engaging, humorous and they go at a slow enough pace for me with enough practice examples. I also really love that they themselves make coding errors during the lessons and then show how to debug those. I think their teaching style makes learning Python more approachable. Now if there was at least woman professor teaching the class…ah, well – there’s always room for improvement. Stay tuned as I show you some of what I learned soon.