The second course in Johns Hopkins Data Science Specialization on Coursera is R Programming. I took this class concurrently with The Data Scientist’s Toolbox, which was more of a “warm up” class. If you don’t have much of a programming background, you’d better get warm quickly, because this class gets hot in a hurry for the uninitiated. R Programming is substantially more challenging than The Data Scientist’s Toolbox.
R Programming is taught by Roger Peng, who, based on forum feedback, seems to be a student favorite in the data science sequence. I have to concur that Dr. Peng did a good job explaining the highlights of introductory R functions as well as providing examples throughout the course. He lays things out in a way that’s clear and concise.
That said, if you are thinking of signing up for R Programming with zero programming experience (and it was clear that some people had done this), it’s going to be a rough go. I hadn’t done any significant programming in nearly over 15 years, but I did have some algorithmic knowledge to draw on from my days in the 90’s working with GW-Basic, Fortran, and Scheme. That experience was invaluable, but I still felt like parts of my brain that hadn’t been worked out in a long time were really being stretched.
I’ve completed 7 of the 9 courses in the sequence (minus the capstone) at this point, and it’s become increasingly clear that there are a couple of bottlenecks in the sequence. R Programming is a stumbling block for people without significant programming experience. I’ll talk about the other, Statistical Inference, in a later post.
If you lack that programming knowledge, you might consider spending some time working through some exercises at Codecademy before enrolling in R Programming. It’s a free way to get some experience with algorithmic thinking. I’ve been using their Python track to get additional experience in another language and am finding it very helpful. R Programming consists of quizzes as well as programming assignments. When I took the class in May, a couple of the assignments were automatically evaluated by computer, and another was peer evaluated. The real challenge was the second programming assignment. Many people on the course forum said they dropped out in frustration during this assignment. Be sure to set aside sufficient time to complete it, particularly if you are a programming beginner.
I would also advise anyone taking R Programming to pay special attention to R’s apply functions. Each of the courses in the Data Science Specialization will throw a lot of material at you, and you probably won’t master all of it. Sometimes I find myself having to make decisions about where to spend my study time, but those apply functions become critical as you progress through the sequence. Do yourself a favor and lock yourself in a room practicing them until you understand them.
In summary, R Programming is quite a challenge for those without significant programming experience in another language or who have been out of the loop for a while. Those that already have significant programming experience seemed to adapt a lot more quickly. We were pushed to do some independent thinking that went beyond the lectures, and it is a good thing that we were in an early course in the sequence because that is an expectation for the rest of the Data Science Specialization.
- Getting and Cleaning Data Coursera Review
- Data Scientist’s Toolbox Review
- Exploratory Data Analysis Coursera Review