subject
Intro

Coursera: R Programming

 with  Roger Peng
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.

Syllabus

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.

234 Student
reviews
Cost Free Online Course (Audit)
Subject Data Science
Provider Coursera
Language English
Certificates Paid Certificate Available
Hours 7-9 hours a week
Calendar 4 weeks long
Sign up for free? Learn how

Disclosure: To support our site, Class Central may be compensated by some course providers.

+ Add to My Courses
Roger Peng
Class Central presents
An interview with
Roger Peng
JHU’s Data Science Specialization offered on Coursera will give learners a solid foundation and practical experience in data science. Read
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

Reviews for Coursera's R Programming
2.8 Based on 234 reviews

  • 5 stars 15%
  • 4 stars 23%
  • 3 stars 17%
  • 2 stars 18%
  • 1 stars 29%

Did you take this course? Share your experience with other students.

Write a review
  • 1
1.0 4 years ago
Dennis Meier is taking this course right now and found the course difficulty to be hard.
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.
208 people found
this review helpful
Was this review helpful to you? Yes
2.0 4 years ago
Anonymous partially completed this course.
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 .
140 people found
this review helpful
Was this review helpful to you? Yes
2.0 4 years ago
Anonymous is taking this course right now.
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.
124 people found
this review helpful
Was this review helpful to you? Yes
2.0 3 years ago
Anonymous is taking this course right now.
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 course.

The lecture component of the course has little value. The lecturer tends to take a depth-first approach to presenting concepts, taking one concept and developing it out to its most minute and esoteric details before moving on to another. The result is that only a small fraction of what's presented could be considered appropriate for beginners and an even smaller fraction is useful for completing assignments. I've started ignoring the videos, skimming the slides and Googling everything. It works, but what's the value of the course?

Also, others have noted the large gap between the content of the lectures and the quizzes (very basic) and the programming assignments. The latter are challenging, which is good
Read more
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 course.

The lecture component of the course has little value. The lecturer tends to take a depth-first approach to presenting concepts, taking one concept and developing it out to its most minute and esoteric details before moving on to another. The result is that only a small fraction of what's presented could be considered appropriate for beginners and an even smaller fraction is useful for completing assignments. I've started ignoring the videos, skimming the slides and Googling everything. It works, but what's the value of the course?

Also, others have noted the large gap between the content of the lectures and the quizzes (very basic) and the programming assignments. The latter are challenging, which is good, but there's no intermediate work that we do to bridge the basic stuff to the advanced stuff. You're thrown directly into the deep end of the pool. I don't mind hitting up Google, Stack Overflow, etc. to learn things, but again, what's the purpose of the course if this is what we have to do? Why not make the assignments progressively more advanced, rather than very advanced from the get-go?

In short, this is a course designed by people who don't teach beginners very often and who have not carefully thought through what it takes to learn R from a truly entry-level position.
73 people found
this review helpful
Was this review helpful to you? Yes
4.0 3 years ago
by Aron Hsiao completed this course, spending 2 hours a week on it and found the course difficulty to be easy.
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 not pay for the signature track) unless you have previous coding experience.

This course goes over R concepts well and concisely, but it does NOT go over fundamental programming concepts, it jumps right in with the assumption that you already understand and are familiar with classic data structures, interfaces, flow control, machine states, the characteristic rigidity of computing language syntax, and so on.

If you have no previous exposure to programming or Computer Science 101 concepts, this course will probably leave you absolutely bewildered from the first assignment.

If you do have previous programming experience, it's a great way to get up and running with R. The assignments are more
Read more
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 not pay for the signature track) unless you have previous coding experience.

This course goes over R concepts well and concisely, but it does NOT go over fundamental programming concepts, it jumps right in with the assumption that you already understand and are familiar with classic data structures, interfaces, flow control, machine states, the characteristic rigidity of computing language syntax, and so on.

If you have no previous exposure to programming or Computer Science 101 concepts, this course will probably leave you absolutely bewildered from the first assignment.

If you do have previous programming experience, it's a great way to get up and running with R. The assignments are more or less perfect for this target audience—enough to force you to confront R on its own terms if you are going to find elegant and non-sloggy/kludgy solutions, but not so much that you're going to spend a lot of time getting bogged down in peripheral particulars.

I dock the course a star because the lecture materials at times fail in being technical enough—they tend at times to "teach by example" rather than "teaching by specification." That is to say that there are times when they tell you to use an R feature or syntactical phrasing *for* a particular situation without telling you *why* it works or what the rules are in general so that you can apply the same tools for other, similar-but-slightly-different situations.

I found that the R language specification itself is a great way to bridge the gap. The instructors/lecture point you to the right part of R to look at for given circumstances, and knowing this, you can refer to that component of the R language specification and get the complete details on how that tool/function/syntactical component operates at the specification level.

All in all, a valuable course for me, and enabled me to put R to work for real-world projects right after completing the course. But if I hadn't previously programmed in C, C++, Pascal, Python, PHP, etc., I would have probably been lost.
42 people found
this review helpful
Was this review helpful to you? Yes
4.0 3 years ago
Anonymous completed this course.
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 such as Learn Python The Hard Way: http://learnpythonthehardway.org/book/

Additionally, I would recommend a more basic introduction to R before attempting this course, such as Data Camp's introduction to R course: https://www.datacamp.com/

Another good introduction to R course is Codeschool's Try R series: http://tryr.codeschool.com/levels/1/challenges/1

After completing those, the coursera programming is much more manageable.

My recommendation for completing the course would be to not stress out about the programming assignments, which, as previously stated, are incredibly challenging. Remind yourself that this course is free and take it a few times if you have to, focussing on reall
Read more
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 such as Learn Python The Hard Way: http://learnpythonthehardway.org/book/

Additionally, I would recommend a more basic introduction to R before attempting this course, such as Data Camp's introduction to R course: https://www.datacamp.com/

Another good introduction to R course is Codeschool's Try R series: http://tryr.codeschool.com/levels/1/challenges/1

After completing those, the coursera programming is much more manageable.

My recommendation for completing the course would be to not stress out about the programming assignments, which, as previously stated, are incredibly challenging. Remind yourself that this course is free and take it a few times if you have to, focussing on really learning the basics and establishing a fundamental understanding of everything you learn each time you go through. With that mentality, the course changes from being an insurmountable challenge to a fantastic resource for getting a deep understanding of the R programming language.

Best of luck.
52 people found
this review helpful
Was this review helpful to you? Yes
2.0 2 years ago
Anonymous is taking this course right now.
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?? Typically, pushing students beyond course material is a good thing as it challenges them. That said, this is beyond pushing - it's akin to showing you what a few tools do, what a few types or material are and then telling you to build an addition on your house. If I hired the teacher to train employees at the company I work at and he took a similar approach to R Programming, I'd fire him.

Data Science has a great place in the future of Business, Science etc. We should be encouraging more and more people to pick it up and learn, not discouraging them. This course, from what I've experienced and read, is doing far more to discourage people from entering the field and more to validate those who are already familiar with R & programming
Read more
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?? Typically, pushing students beyond course material is a good thing as it challenges them. That said, this is beyond pushing - it's akin to showing you what a few tools do, what a few types or material are and then telling you to build an addition on your house. If I hired the teacher to train employees at the company I work at and he took a similar approach to R Programming, I'd fire him.

Data Science has a great place in the future of Business, Science etc. We should be encouraging more and more people to pick it up and learn, not discouraging them. This course, from what I've experienced and read, is doing far more to discourage people from entering the field and more to validate those who are already familiar with R & programming and want to complete the course for a certificate.

Coursera is a great platform to do help encourage/educate others and I urge the company to review this class and it's approach and to work with John's Hopkins to come up with a better course or courses on R programming....

My recommendations:

1.) Don't pay for this course unless you've already completed it and just want the certificate.

2.) If you're new to programming, don't try and complete the course in a single month - you'll only get frustrated. You'll tear through the estimated 7-9 hours a week very quickly (especially, if like me, you have a full-time job). Take a month just to get through videos/quizzes and read his book.... I also recommend googling other R books that are out there and reading them. Then in the second or third month, run through the quizzes and then tackle the assignments.

3.) Git and Git Hub add an additional level of frustration to the course... get familiar with both during your first attempt so you can easily submit assignments when you're actually attempting them.

4.) Don't stress over the course. If it takes you a few attempts, that's what it takes. You're not the only one who thinks there's a huge gap between the lectures/videos and assignments.

12 people found
this review helpful
Was this review helpful to you? Yes
2.0 3 years ago
Jck326 is taking this course right now.
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.
54 people found
this review helpful
Was this review helpful to you? Yes
1.0 4 years ago
Anonymous is taking this course right now.
videos are free on youtube, programming assignments are insanely hard, instructor is not very good. Overall, this is NOT something you should pay for.
58 people found
this review helpful
Was this review helpful to you? Yes
1.0 3 years ago
by Prose Simian completed this course, spending 12 hours a week on it and found the course difficulty to be hard.
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 programming assignments. If this is indicative of the state of pedagogy at JHU, any reputation JHU students might have stems ENTIRELY from a highly competitive selection/entrance procedure.

But maybe I just wasn't the target audience. The course is for 'experienced programmers'. My smattering of Python was probably not enough. R is a stats language with more fundamental data types than say Python or Java. Confusion over which types were returned or required by which functions was a major headache for me. But this was magnified by the failure of the materials to point out telltale identifiers, and on-forum chats with a few more experienced programmers suggested this was a pitfall for them too, until they worked through supplement
Read more
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 programming assignments. If this is indicative of the state of pedagogy at JHU, any reputation JHU students might have stems ENTIRELY from a highly competitive selection/entrance procedure.

But maybe I just wasn't the target audience. The course is for 'experienced programmers'. My smattering of Python was probably not enough. R is a stats language with more fundamental data types than say Python or Java. Confusion over which types were returned or required by which functions was a major headache for me. But this was magnified by the failure of the materials to point out telltale identifiers, and on-forum chats with a few more experienced programmers suggested this was a pitfall for them too, until they worked through supplementary material they dug up for themselves. So... maybe not: even for members of the target audience the course per se was deficient.

In short: however talented the JHU team may be as data scientists, researchers, and on-campus teachers, like many of their MOOCs this is a half-hearted, pegagogically-incompetent, cynical attempt to cash in on the data science boom.

Which sadly, appears to have paid off.
21 people found
this review helpful
Was this review helpful to you? Yes
1.0 4 years ago
Anonymous is taking this course right now.
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.
39 people found
this review helpful
Was this review helpful to you? Yes
1.0 3 years ago
Anonymous partially completed this course.
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 so you can find some entertainment in the video clips discussing topics such as debugging.

The discussion forums say it all... You can find people saying that after trying the assignments they are going back to Excel; and also experienced programmers in R unhappy about the difficulty of the exercises.

So if you wanted to learn R - forget about this uninspired course. If you are good at R, sign up and have some fun.

As for me, I'm going back to the last assignment, because I started this, and will finish it.
29 people found
this review helpful
Was this review helpful to you? Yes
1.0 3 years ago
by David Clark partially completed this course.
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.
29 people found
this review helpful
Was this review helpful to you? Yes
2.0 3 years ago
Anonymous dropped this course.
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!!
33 people found
this review helpful
Was this review helpful to you? Yes
2.0 3 years ago
Anonymous completed this course.
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.
27 people found
this review helpful
Was this review helpful to you? Yes
1.0 3 years ago
Jennifer Epperson dropped this course.
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.
17 people found
this review helpful
Was this review helpful to you? Yes
2.0 2 years ago
Anonymous is taking this course right now.
I did a few months of statistical analysis in R before attempting this course and am not entirely unfamiliar to some of the commands and language used. I assumed this would be enough to learn how to program with R, this was reinforced by the fact the lecture material was all extremely simple to understand. However, this is a properly awful course. Here's what I was expected to do:

Week one: Relatively easy quiz on lecture material. Easy to understand and can be taken multiple times if you make a mistake and need to go back and revise. Recommended to do some swirl exercises to get familiar with things like vectors and subsetting.

Week two: Programming functions using commands covered for all of one minute in the lectures. Practice assignment buried out of the way to the point where it's completely unnoticeable unless you get lucky and see the announcement stating that week 2 has begun. Expected to have created basic functions before but only avenue to do so wi
Read more
I did a few months of statistical analysis in R before attempting this course and am not entirely unfamiliar to some of the commands and language used. I assumed this would be enough to learn how to program with R, this was reinforced by the fact the lecture material was all extremely simple to understand. However, this is a properly awful course. Here's what I was expected to do:

Week one: Relatively easy quiz on lecture material. Easy to understand and can be taken multiple times if you make a mistake and need to go back and revise. Recommended to do some swirl exercises to get familiar with things like vectors and subsetting.

Week two: Programming functions using commands covered for all of one minute in the lectures. Practice assignment buried out of the way to the point where it's completely unnoticeable unless you get lucky and see the announcement stating that week 2 has begun. Expected to have created basic functions before but only avenue to do so without simply copying an example is done via the swirl package in R. If you skip that you may struggle to figure out what is required.

Week three: Be sure to have already configured, used and are familiar with the GitHub environment as it is required to use for the second programming assignment, which is peer-assessed and as such you are on a strict deadline to submit. Zero documentation is available to assist you with this setup.

All of this including watching all of the lectures and taking the weekly quizzes (as well as doing the optional swirl assignment for both practice and a handful of bonus marks). I have not yet reached week 4 yet but the speed at which this ramps up I expect I will be required to program an R package rather than just a function. The TA's available in the discussion forums are helpful but do not make up for the lack of resources available to get a beginner up to speed.

IF you're familiar with computer science and programming languages used in data analysis (such as Python) you will probably find this course good value as it assumes you have done programming in data science before.

IF you are new to programming you will struggle and expect to double the estimated 9 hours a week to finish the work assigned.

2 people found
this review helpful
Was this review helpful to you? Yes
2.0 3 years ago
by Pam partially completed this course.
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 said aren't well-related to the lectures (those are useful for overview/background). I've spent hours googling, watching other tutorials, etc., in order to figure out what R-steps I have to take in order to be able to get to the looping/conditional statements steps. I've paid for this class, but right now it looks as if I'll drop it, take the rest of the specialization for free (downloading absolutely everything as I go, including datasets), work through at my own pace, and officially re-enroll and complete it when I'm much more familiar with R. Then I won't be spending 15+ hours/week figuring out the basics.

One tip: purchase the author's book. It's quite helpful for the quizzes, though not so much for the assignments.
10 people found
this review helpful
Was this review helpful to you? Yes
1.0 4 years ago
Marta completed this course, spending 2 hours a week on it and found the course difficulty to be easy.
Very poor explanations with a teacher reading the same text of the slides ina a very fast way. I would have prefered reading a book or a tutorial instead
29 people found
this review helpful
Was this review helpful to you? Yes
2.0 3 years ago
by Dave partially completed this course.
I'm probably echoing others' complaints about this course, but the learning curve from week 1 to week 2 is just unbelievable. The main problem is that the simpler functions you'd need to do to learn good function writing are done in the context of the lecture, so you don't ever get to do the groundwork of puzzling out simpler tasks. Peng shows you function after function in the Week 2 lectures, and then assigns you a monster three-part function task that's way beyond nearly anything he's allowed you to work out for yourself. It's almost as if someone told him to stuff an entire master-level R programming class into four weeks. Why not just split this into a twelve-month class and lower the learning curve substantially?
13 people found
this review helpful
Was this review helpful to you? Yes
  • 1

Class Central

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

Sign up for free