Very challenging, but good course. I've been programming in R for over a year, but there were still some things for me to pick up in this class. Assignments were a challenge, but satisfying to tackle.
"R Programming" forces you to dive in deep.\n\nThese skills serve as a strong basis for the rest of the data science specialization.\n\nMaterial is in depth, but presented clearly. Highly recommended!
By Jiahui X•
straight and narrow.
By Samuel Y•
not for beginners
By Shreya S•
nice to learn:))
By Vikramaditya M•
By Sushmit R•
By Sumit K S•
By Brian L•
By Andreas H•
By Benjamin S•
By Ajit K•
By Rahul M•
By Jacob P H B•
I want to begin this review by thanking Johns Hopkins and Coursera for putting this course together. In the age of "work/learn from home" and "upskilling" it is courses such as these that allow the layman who is unfamiliar with data science to learn basic programming. For that I am grateful. On the other hand, even as this course cost $50.00 (which is reasonable), I still cannot recommend it to other students. As a graduate student, I have had some exposure to R. My statistics class utilized R for HW assignments and basic regression models. Our TA taught us some intermediate coding methods via ggplot2 and dplyr. I primarily took this Coursera course as a refresher. It should be noted that the course description encourages - nay, states - that beginners should do just fine taking the class. Nothing could be further from the truth. The course instructor is clearly a brilliant man who is a leader in the field of data analytics. I'm sure he is also a very well-respected lecturer at JHU. However, I felt like this whole course he was speeding through the content. I had to use 0.75 speed during the lectures so I could hear everything that he was saying. On top of that, he used a lot of R jargon that made the content seem more exclusive to students who already have a background in data science. Finally, there were limited opportunities for students to apply the skills that we learned in each lecture in the actual R environment. He took screenshots of code, explained it in an opaque fashion, and then moved on to the next lesson. That may be fine for some students, but I personally like to 'drive' when I'm learning how to use a car. The one bright spot in this course was the interactive swirl sessions which did allow you to put some concepts to good use. It should be noted that these are optional. In my opinion, if you didn't do the swirl assignments then I can't see how you took anything away from the course at all. Still, the swirl module could be clunky at times and could use updating. In addition, some of the answers in swirl simply required you to copy and paste what you were previously shown, which isn't very challenging. My final qualm with this course is the "programming assignments." While the swirl assignments were probably too easy for the layman user, the programming assignments were insurmountable tasks. There is a HUGE gap between what we learned in the modules and what we were expected to perform in the assignments. I don't understand the logic of teaching concepts, implementing what we learned in simplistic interactive swirl sessions, and then taking on advanced assignments. How does that help the beginner student at all? The teacher encourages a "hacker mentality" but in my opinion, struggling and googling your way to get the right answers isn't learning, it's insufficient teaching. It would be one thing if this course was advertised to advanced users. If that was the case, fine, the student should probably be able to write some of this code. But that was not the case and from the comments, it seemed that many other students also struggled with the program assignments. The teacher also dove into statistical theories in week 4 without explaining them. No offense, but I don't understand how we can possibly grasp linear models and Poisson regressions in a sub ten minute video. In summary, don't take this course if you are beginner or looking for a refresher. The content is outdated, the pace is too fast, and the programming assignments are disconnected from what you learn in the videos. One would be better off watching YouTube videos or taking a Udemy course for free.
By Srinivas S•
I am a very frustrated learner trying to write a constructive review here. I studied the course full time to get a certificate to put in my profile. R programming is considered nearly essential skill, if not fundamental, to data analysis. So I had high hopes going into this course.
Lecture videos: I cannot begin to tell you how many times I fell asleep watching the video lectures. This course is for you if you like listening to someone talking through pages and pages of copy/paste text from a command prompt. I, on the other hand, prefer learning by doing. Sadly, all the doing is clumped into the assignments (more on them later). Also, Dr. Peng makes gross burping/drooling noises in the video from time to time. I apologize if that sounded rude, but try listening to the lectures with headphones and you'll say the same. Video editing for pre-recorded videos is not rocket science.
Assignments: These were the biggest frustration throughout the course. Imagine you want to learn to play the piano (and you play a little guitar now) and you go to the piano class. Your piano teacher talks your ears off with music theory for several hours and then hangs you out to dry in front of an audience in a concert hall. You protest "But I have no clue of how to PLAY", but your teacher says "All the piano greats learned by fiddling around with a "hacker" mentality". You ask "Why did I pay $50 to hack on my own?"
Off-lecture help: If you take the course for the same reason I did, then thank your favorite god for the moderators in the discussion forums (mentors). 1 out of the 2 stars I give belongs solely to them and the fantastic work they do. The stickied posts in the forums offer a bit of help with the assignments (not enough, but still something). And they are also active in answering questions. The other star in my review goes to "Swirl". You will learn way more by doing the swirl exercises than watching the lectures by a long way.
In conclusion, I finished the course with nothing more than a rudimentary understanding of R despite the fine grades. Very little thought seems to have been put into the lectures. I would recommend this only if you want to show this certificate to someone. Otherwise, stay away!
By KESHA L•
This course is VERY abstract and I find myself rushing through the videos to get to the practice/quiz so that I can trial and error my way through the project..... hoping for the best. Neither am I excited about starting the lesson each week because there is no real world problem/or data set I'm continuously practicing from. The lessons are essentially a reference guide and not a useful approach for teaching. If I wanted a reference guide, I'd just pick up one of the various handbooks/books on the markets that list R codes and their functions. A better way to teach/present this course is by infusing actual, real world examples or cases throughout the lessons instead of just listing a function and talking through its corresponding activity/response. Ideally, the real world example would be introduced in the first lesson in Week 1 and that data set would be used throughout the course(s) to apply and practice newly introduced functions. Teaching from this perspective would likely make the concepts much easier to grasp and importantly, RETAIN. The lessons, as they are currently presented, encourage rote memorization and rob the students of actually applying the concepts/code taught.
Also, I love the idea of this specialization. However, I think the professors need to work more closely with online instructional designers to make the entire series more palatable for online learning. It very much feels as if they have adapted a traditional course on their own without the help of professionals who are skilled at designing online courses. If the aforementioned is the case, the professor(s) should be commended for their efforts, but there is definitely more work to be done to make this an engaging course I'd recommend.
PS - I am taking notes and I have some experience with STATA so this type of coding/anaylsis is not unfamiliar to me. I can only imagine how novices may take to the lessons.
By John D M•
I think it is disingenuous to rate the Data Science Specialization at Beginner level while the R Programming course being rated at Intermediate. It is really a course for experienced programmers. While I have *some* programming background (I won second place in an International Curl Programming contest in 2001), I think professional programmers would have a much easier time with it, although in looking at many online reviews I see professional programmers struggled with it. It did shake the rust off my coding skills, although if I were back in programming instructor mode I would keep the assignments, which were excellent, and work backwards to devise lectures that better supported them, and provide simple exercises that develop the skills needed.
I found that I spent about 35 hours on week 2 between lectures, the assignment, and test, with almost all of that spent on the test. As a busy mature adult the extra 30 or so hours was very unwelcome and I think quite unfair in terms of the stress load of making me wonder if I was going to make it through the material. In looking at many course review comments I see I am not the only one. You need to even out the workload.
By Acacia P•
The only reason I am giving this course 2 stars is because the Swirl modules were awesome. Swirl should be the main form of instruction in this course. I have taken one class using R a long time ago, and have a very very basic understanding of programming -- so not a TOTAL beginner, but basically a beginner -- and I found this course to be absolutely impossible to do using the materials provided. The quizzes and especially coding assignments seemed, for the most part, completely unrelated to the lecture contents. The lectures, in turn, contained all sorts of details that were not needed for the assignments and quizzes and I often felt lost. Lectures were generally barren of concrete examples that have any sort of meaning to the audience -- for example, when teaching about a function, instead of showing an example that actually illustrates how we, as data scientists, might ever want to use the function, its usage is demonstrated in a simple but ultimately meaningless (and therefore forgettable) way. It would have been much more useful to show the basic example and immediately follow by a real application. There were many, many, many functions that one seems to need to have memorized, but the course provided no tools to help facilitate that, or input on which functions to focus on. It was a big mess. I ended up teaching everything to myself by Googling... which is ok, I guess, but why am I taking a course, then? There has to be a better way to usher students through this process, even if the goal is ultimately to get us to be resourceful and find information on our own (like why did I spend all that time on lecture if I was just going to have to look everything up?). Swirl was seriously the only thing that saved it.
By Samantha C•
I would have liked to see more repetition of functions discussed in the videos that slowly build up to the more advanced questions in the quizzes and assignments. The Swirl lessons are very prescriptive. While Swirl is good in theory, it aids you along too much for it to really be effective. I recommend adding practice assignments that have learners do a particular task independently multiple times with different variations so we can really learn what we're doing. Throughout the course, I would watch videos, understand everything being said, and then be completely lost when it was time to do the assignments. I'd use the forums and Google to complete them, but it felt like there was a disconnect between the videos and the assignments that made the course more difficult/time consuming. If there were an interim step of doing practice questions (not through an overly prescriptive package like Swirl, but one that makes you use solve the problem on your own and struggle just a little bit), I think that would've really help make this course more useful. Also, doing something once in an assignment doesn't mean it's committed to memory, so even though I was able to figure out the assignments, I don't think I've really retained as much info as possible. In terms of grading peer assignments, I don't feel that I know R well enough after taking this course to say whether someone else's code works or not (without running it and assuming that it doesn't match mine exactly). I appreciate the time and effort it must have taken to set this course up, but it fell short of my expectations and I don't really feel that I've gained much (if anything) from it.
By Jonathan C•
This course does teach one useful tools in R. However, I feel like this course needs some serious improvements especially when it comes to the disconnect between the lecture videos and the actual programming assignments. To me it felt like during the lecture videos I was being shown pictures of a car and told what each part does, then in the programming assignment it was like I was being asked to build a fully functional car from scratch. It just wasn't practical. In the future I think to make the Programming assignments more realistic to complete on their own the lecture videos show go more in depth on the tools and functions it's teach. Not only that but i feel like I would have greatly benefitted from watch the Instructor go through sample problems and situations where I could see the tools and functions in practice. Especially for me who is a beginner in R to be able to create some of these fully functional R functions from just the lecture notes would have been extremely difficult. Also, a little note in the future you should adjust the approximate times it would take to complete the programming assignments because i don't feel like they are realistic for new programmers. For example, the approximated time to complete the week 4 programming assignment said 10 minutes and that was just flat out wrong. If you do make some of these changes I feel like this course will be significantly more enjoyable and that the students will learn significantly more.
By Liam C•
Be prepared. The lecture portions of the course are quite short and basic. They don't provide much in the way of practical examples.
The assignments often have little to do with the lecture topics (week 3 introduces a whole new concept that you have to learn all about outside of the course to complete). They're decent assignments, and you'll learn from them, but if you don't already have a lot of experience, expect them to take a long time to complete.
I guess my main problem besides this is that there is not enough emphasis on learning the foundations. They introduce subsetting and give you some simple assignments which give you a basic superficial understanding of the concepts and syntax. Unfortunately, that stuff takes some time to really sink in, and you need to sit and play around for hours to get a good feel for it. If they had some optional assignments where you could have some guided exploration of the topic that would be super helpful.
The one saving grace is that there is a lot of help in the forums for each week. The mentors are doing their best to help students out and are generally pretty quick to get back when you ask questions.
By Deleted A•
My DEAR COURSERA TEAM thanks for providing this course.But I am sorry to say this course is not for the beginners who was not professional coder. I am from background of applied electronics and instrumentation working in Level 4 automation at Oil and Gas domain as subject matter expert. I wanted to use this language for analyzing the plant's day to day critical alarms data. During the phases of the course I faced lots of trouble when performing the assignments. I have to approach some expert coder in order to understand the question and answers. I would feel that team has to modify the course. One more feed back reading method is not at all helpful where as practical was helpful.
Once a learner is accomplishing one course hence material of the course should be sufficient in order to finish the assignments where as this course is not meant for that, I would prefer please modify the strategy. Assignments are not really helpful for learning it simply killing someone times. The reason is during the practical or reading at least same kind of example like assignment, should be demonstrated.
By Rashaad J•
This course seems to have a huge gap. The content presented does not prepare you for the final assignment. The lecture videos introduce R functions and there are interactive demos in R that show how to use them. However, the final assignment requires you to determine which functions to use and how to implement them correctly. Consequently, I had to spend >10 hours finding online examples to complete the final assignment and the code I wrote used functions that were not presented in the course!
I realize that there are multiple ways to write R functions and there are tons of existing R functions to utilize, but what should be presented is one standard way of reading data, organizing the data, sorting the data, etc.
Also, I found the lecture videos to be very uninformative. The presentations need to be more streamlined, focused, and include basic examples.
Overall, I don't feel like I have a firm understanding of R. I certainly do not feel comfortable teaching R to others. I think the course could be improved with more examples of basic R functions, such as lapply and order.
By Tessa C•
By the end of the course, you do start to develop the "hacker mentality" the course writers want you to develop. That being said, it does seem that they could have done a much better job in the video introducing core concepts that would have given non-programmers a better starting point for looking for outside researchers. A ton of time is wasted in the earliest set of videos on super basic topics, but then the course jumps into some very advanced topics with little attention paid to core concepts except by the mentors in the forums. If these really are "core concepts", as described by the mentors, one would think that the teachers would spend time on those concepts in the videos instead of on more arcane use cases (which are precisely the sorts of thing it makes sense to look for in other sources). It really does seem that the teachers have no concept of what is critical content for beginners, given this odd imbalance of tons of time on extremely basic topics, tons of time on fairly advanced topics, and almost no time on critical intermediate-level content.