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

Johns Hopkins University

Advanced R Programming

Johns Hopkins University via Coursera

Overview

Prepare for a new career with $100 off Coursera Plus
Gear up for jobs in high-demand fields: data analytics, digital marketing, and more.
This course covers advanced topics in R programming that are necessary for developing powerful, robust, and reusable data science tools. Topics covered include functional programming in R, robust error handling, object oriented programming, profiling and benchmarking, debugging, and proper design of functions. Upon completing this course you will be able to identify and abstract common data analysis tasks and to encapsulate them in user-facing functions. Because every data science environment encounters unique data challenges, there is always a need to develop custom software specific to your organization’s mission. You will also be able to define new data types in R and to develop a universe of functionality specific to those data types to enable cleaner execution of data science tasks and stronger reusability within a team.

Syllabus

  • Welcome to Advanced R Programming
    • This course covers advanced topics in R programming that are necessary for developing powerful, robust, and reusable data science tools. Topics covered include functional programming in R, robust error handling, object oriented programming, profiling and benchmarking, debugging, and proper design of functions. Upon completing this course you will be able to identify and abstract common data analysis tasks and to encapsulate them in user-facing functions. Because every data science environment encounters unique data challenges, there is always a need to develop custom software specific to your organization’s mission. You will also be able to define new data types in R and to develop a universe of functionality specific to those data types to enable cleaner execution of data science tasks and stronger reusability within a team.
  • Functions
    • This module begins with control structures in R for controlling the logical flow of an R program. We then move on to functions, their role in R programming, and some guidelines for writing good functions.
  • Functions: Lesson Choices
  • Functional Programming
    • Functional programming is a key aspect of R and is one of R's differentiating factors as a data analysis language. Understanding the concepts of functional programming will help you to become a better data science software developer. In addition, we cover error and exception handling in R for writing robust code.
  • Functional Programming: Lesson Choices
  • Debugging and Profiling
    • Debugging tools are useful for analyzing your code when it exhibits unexpected behavior. We go through the various debugging tools in R and how they can be used to identify problems in code. Profiling tools allow you to see where your code spends its time and to optimize your code for maximum efficiency.
  • Object-Oriented Programming
    • Object oriented programming allows you to define custom data types or classes and a set of functions for handling that data type in a way that you define. R has a three different methods for implementing object oriented programming and we will cover them in this section.

Taught by

Roger D. Peng, PhD and Brooke Anderson

Reviews

4.0 rating, based on 1 Class Central review

4.2 rating at Coursera based on 567 ratings

Start your review of Advanced R Programming

  • Profile image for David Chen
    David Chen
    This course was a continuation of an R software engineering specialization on Coursera. The idea and methodology were quite novel at the time -- most MOOCs I had encountered by that time focused primarily on R being solely a scripting language, but less so on the software development aspects. This course gave a fresh perspective.

    I chose to not give it a 5 star but 4 star review because of the course's organization / delivery. The first 3 units of the courses were very simple, and the final one was extremely difficult. The graded materials of the course were average, consisting of only quizzes but lacked hands-on materials, which most other programming based MOOCs have. I'd say this course is worth to explore.

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.