Review: Computing for Data Analysis

My first contact with the R programming language has been in the Statistics One course I took in September. But since the things we did there with R only scratched the surface, I joined Coursera's Computing for Data Analysis course for learning a bit more about it. The course was taught by Roger Peng from Johns Hopkins University, one of the authors from the Simply Statistics Blog. Here's my take on the course.

My background: For me, like for most computer scientists, learning a new programming language isn't such a big deal. My bookshelf contains books on 11 different programming languages, but I've played with at least twice as many. While I can do basic things in many languages, my main expertise is in Java and Python. I've never learned a programming language from a course before, not even back in university.

Content: On more than 300 slides, the course covered the basics of the R programming language including R's impressive plotting features. Except for vector-based math and the fancy indexing/subsetting (which looks familiar to someone who knows numpy), there wasn't a lot that surprised me. I think for people with little programming experience this may have been a really tough course; digesting things like closures or regular expressions takes time for a beginner.

Lecture videos: The videos consisted of content-heavy slides with audio commentary that was easy to understand for non-native speakers. Concepts were presented in a clear, structured way with good examples to illustrate them. It was really great that all videos were on YouTube, too, so I could watch them from my tablet PC or my TV while doing something else. The great thing about the slides is that they are self-contained; you can use them for reference.

Quizzes and assignments: There were quizzes at the end of each week which were fairly easy and two large programming assignments. The assignments were the best thing about this course; they took me a couple of hours each because outside of quizzes and assignments I didn't experiment much with R and I had to look things up. Usually when learning a programming language, I experiment with it heavily, but since the lectures explained everything so well there was little need for that. In the end it was no problem getting a perfect score on all quizzes and assignments (that's what kept me motivated).

Community: The instructor actively participated in the forums and was very responsive to questions. Great! I only browsed the forums occasionally but it seemed to me that the community was much more friendly and less whiny than the Statistics One people.

R: R is an interesting domain specific language that looks a bit quirky to software developers, but I can see its appeal for statisticians. I still prefer Python along with scipy because I'm much more fluent with it and as a general purpose programming language it has a lot more to offer.

Conclusion: I liked Computing for Data Analysis a lot; learning R has never been easier than with this course. To me, it was pretty close to perfect, but I'm sure that based on feedback from the forums, there may be a few parts that could be improved to make it easier for beginners.

social