Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Johns Hopkins University

R Programming

Johns Hopkins University via Coursera


In this course you will learn how to program in R and how to use R for effective data analysis. You will learn how to install and configure software necessary for a statistical programming environment and describe generic programming language concepts as they are implemented in a high-level statistical language. The course covers practical issues in statistical computing which includes programming in R, reading data into R, accessing R packages, writing R functions, debugging, profiling R code, and organizing and commenting R code. Topics in statistical data analysis will provide working examples.


  • Week 1: Background, Getting Started, and Nuts & Bolts
    • This week covers the basics to get you started up with R. The Background Materials lesson contains information about course mechanics and some videos on installing R. The Week 1 videos cover the history of R and S, go over the basic data types in R, and describe the functions for reading and writing data. I recommend that you watch the videos in the listed order, but watching the videos out of order isn't going to ruin the story.
  • Week 2: Programming with R
    • Welcome to Week 2 of R Programming. This week, we take the gloves off, and the lectures cover key topics like control structures and functions. We also introduce the first programming assignment for the course, which is due at the end of the week.
  • Week 3: Loop Functions and Debugging
    • We have now entered the third week of R Programming, which also marks the halfway point. The lectures this week cover loop functions and the debugging tools in R. These aspects of R make R useful for both interactive work and writing longer code, and so they are commonly used in practice.
  • Week 4: Simulation & Profiling
    • This week covers how to simulate data in R, which serves as the basis for doing simulation studies. We also cover the profiler in R which lets you collect detailed information on how your R functions are running and to identify bottlenecks that can be addressed. The profiler is a key tool in helping you optimize your programs. Finally, we cover the str function, which I personally believe is the most useful function in R.

Taught by

Roger Peng


2.8 rating, based on 245 Class Central reviews

4.5 rating at Coursera based on 22185 ratings

Start your review of R Programming

  • Dennis Meier
    There seems to be little coordination between the lectures and the programming assignments. If you are an absolute beginner in R, you'll spend hours just trying to figure out what is required for each assignment. Not a good course for a beginner, but it's the only thing available on Coursera right now. I've learned some, but a true beginner's course is still needed.
  • Anonymous
    For someone like me who is completely new to R programming, the programming assignments are really hard.. The slides or the lecture doesnt prepare you at all for the programming assignments .
  • Anonymous
    This course is missing its target audience. Most of the people enrolled have minimum to none previous knowledge of R, but there is a BIG gap between the theorical explainations provided in the lectures and the level required to complete programming assigments.
    The lectures are not particularly engaging, but they do the job. The staff community is very good and quick in replying in discussion forums.

    Overall, not the best course to learn R or basic statistics.
  • Anonymous
    I want to like this course, because I think R is a neat language with a vast potential for practical application. However, the course itself is poorly designed and implemented, and I feel like I am learning R in spite of, rather than because of, the…
  • Anonymous
    There's almost no need to add to what has already been said by the vast number of reviewers here - and yet the course is so bad that I feel compelled to anyways. For what it's worth, I had very minimal exposure to programming before this course, as…
  • Profile image for Aron Hsiao
    Aron Hsiao
    Just completed this course, passed with 100% score—but only because I have extensive previous programming experience. Contrary to what is implied in the course descriptions for this sequence, you should probably not attempt this course (or at least…
  • Anonymous
    Like many of the previous reviews have stated, this course is extremely difficult to a beginner programmer. In fact, I would recommend that anyone who hopes to have any amount of success in this course first starts with an intro programming course…
  • Anonymous
    The course is helpful only to the point that it pushes you to look all over the internet to figure out how to understand/complete assignments . The downside is that if you're going everywhere else to learn, why are you enrolled in a class?? Typicall…
  • Jck326
    Anyone who can successfully complete this course will have good competency with R.

    However, from a learning perspective, this is a poorly designed course, with exercises and lectures not suitable to serve as a true introduction to R.

    Task-based walkthroughs available on the web are far superior to this course.

    The optional "swirl" assignment is one of the few useful features of the course, and should instead be the first mandatory assignment.
  • If you would like to learn R this is not the place. Try for example Data Analysis and Statistical Inference of the Duke on Coursera or even better The Analytics Edge MIT, on Edx.
  • Anonymous
    videos are free on youtube, programming assignments are insanely hard, instructor is not very good. Overall, this is NOT something you should pay for.
  • Finished this. Got a distinction. Hated it. One reason was it's simply badly designed: going from lecture, via (frankly perfunctory, "oh, we need to give them a quiz on something, so let's ask anything vaguely relevant") quiz, to quite complicated p…
  • Anonymous
    Lecturer is monotonous and talks really fast even when you reduce the speed of the video to 0.75. It would be better to keep the audience actually engaged by having interactive examples, not just a slide on a screen. The course isn't very "hands on" as programming courses should be. He just explains what functions are for the most part and barely anything about how to use them.
    The assignments have barely anything to do with the material and you need to constantly google bits and bobs. The 3-5 hours it says on the tin are vast underestimate to someone who is relatively new to programming.

    tip: buy a book instead if this course.
  • Anonymous
    I have spent entire days and nights working on the assignments. The course assumes that you know how to program in R - why, I don't know. Actually, let me go as far as to say that the course assumes that you are an outstanding R programmer. And if s…
  • David Clark
    If this is a requirement for the data science certificate, the completion rate is sure to be abysmal. It is not a way to learn R at all, but probably a way for someone versed in R to get the certificate. I am not unexperienced in programming, but found the exams impossible to do, so disconnected from the lectures. This course alone is a full-time job for anyone who takes it without already being an accomplished programmer. If it is so critical to becoming a data scientist, perhaps two or more courses in it, might be needed. But whomever designed the course seems to be oblivious as to how incomprehensible the presentation and exams are to all but experienced programmers.
  • Anonymous
    As a background, I have NO programming experience.

    I started this course because it was supposed to be an introdution to R. The videos are fairly appropriate for the introductory level, and the SWIRL tutorials are very good. But, the assignments are far too hard for their intended audience! I spent hours trying to figure out assignment 1. In the end I gave up, which is sad as was so optimistic when I signed up. At least I didn't pay for it!!
  • Anonymous
    I am a 20+ year data analytics professional. My objective is to learn R in order to supplement my SAS, SPSS, SQL, C skills. Also - R has emerged as the tool du jour and I need to speak the same language as the people on my teams. This is NOT a co…
  • Anonymous
    There is a problem with the course target: the course is probably too difficult for complete beginners and far too easy for people somewhat familiar with programming.
    The lessons are average: static slides with voice over and that's it.
    Exercises are distantly related to lessons, I ended browsing Stack-overflow more than anything else which is how things are done but then what's the course added-value?
    I'm completing the course only to get the data specialization.
  • Jennifer Epperson
    This class is not for beginner programmers. The lectures are unclear and assume you have some programming knowledge. An interactive class where we saw the instructor enter the commands and received more practice would be more helpful. The swirl exercises were helpful but they would be better if at the end gave you more practice for what you just learned. The weekly assignments were MUCH too advanced. I watched the video lectures multiple times, completed the swirl exercises, and researched outside sources such as stackoverflow but was unable to complete the first assignment. I dropped the class after being unable to complete the assignment. My suggestion is to add an optional course for those without any programming knowledge.
  • Pam
    I've had years of experience as a PL/SQL developer and am familiar with packages, functions, loops, conditional statements, etc. That part of the course is easy for me. Where I'm struggling is in the programming assignments, which as others have s…

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.