Advanced R Programming (Coursera)

Advanced R Programming (Coursera)

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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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.

Course 2 of 5 in the Mastering Software Development in R Specialization.

Syllabus

WEEK 1
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

WEEK 2
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

WEEK 3
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.

WEEK 4
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.

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

Related Courses

C# for .NET Developers (Coursera) Coursera
Board Infinity

C# for .NET Developers (Coursera)

In this course you will be introduced to everything from the basics of programming concepts like variables, data types, and control structures, to more advanced topics like object-oriented programming, etc. By the end of the course, you'll have a solid understanding of C# programming, the .NET framework, and how to use them to build a variety of applications. You'll have the skills and knowledge you need to start your career as a C# developer or take your current skills to the next level.

Oct 5th 2026
3 Weeks
Functional Program Design in Scala (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Program Design in Scala (Scala 2 version) (Coursera)

In this course you will learn how to apply the functional programming style in the design of larger Scala applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world. Finally, you will learn how to leverage the ability of the compiler to infer values from types.

Oct 5th 2026
5-12 Weeks
Visualization for Data Journalism (Coursera) Coursera
University of Illinois at Urbana-Champaign

Visualization for Data Journalism (Coursera)

While telling stories with data has been part of the news practice since its earliest days, it is in the midst of a renaissance. Graphics desks which used to be deemed as “the art department,” a subfield outside the work of newsrooms, are becoming a core part of newsrooms’ operation. Those people (they often have various titles: data journalists, news artists, graphic reporters, developers, etc.) who design news graphics are expected to be full-fledged journalists and work closely with reporters and editors.

Oct 5th 2026
5-12 Weeks
Functional Programming in Scala Capstone (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Programming in Scala Capstone (Coursera)

In the final capstone project you will apply the skills you learned by building a large data-intensive application using real-world data. You will implement a complete application processing several gigabytes of data. This application will show interactive visualizations of the evolution of temperatures over time all over the world.

Oct 5th 2026
5-12 Weeks
Functional Programming Principles in Scala (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Programming Principles in Scala (Scala 2 version) (Coursera)

Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Tumblr and also Coursera.

Oct 5th 2026
5-12 Weeks
Foundations of Data Science: K-Means Clustering in Python (Coursera) Coursera
University of London,Goldsmiths, University of London

Foundations of Data Science: K-Means Clustering in Python (Coursera)

This MOOC, designed by an academic team from Goldsmiths, University of London, will quickly introduce you to the core concepts of Data Science to prepare you for intermediate and advanced Data Science courses. It focuses on the basic mathematics, statistics and programming skills that are necessary for typical data analysis tasks.

Oct 5th 2026
5-12 Weeks
Materials Data Sciences and Informatics (Coursera) Coursera
Georgia Institute of Technology

Materials Data Sciences and Informatics (Coursera)

This course aims to provide a succinct overview of the emerging discipline of Materials Informatics at the intersection of materials science, computational science, and information science. Attention is drawn to specific opportunities afforded by this new field in accelerating materials development and deployment efforts.

Oct 5th 2026
5-12 Weeks
Computer Science: Algorithms, Theory, and Machines (Coursera) Coursera
Princeton University

Computer Science: Algorithms, Theory, and Machines (Coursera)

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018). Our intent is to demystify computation and to build awareness about the substantial intellectual underpinnings and rich history of the field of computer science.

Oct 5th 2026
5-12 Weeks
Making Data Science Work for Clinical Reporting (Coursera) Coursera
Genentech

Making Data Science Work for Clinical Reporting (Coursera)

This course is aimed to demonstrate how principles and methods from data science can be applied in clinical reporting. By the end of the course, learners will understand what requirements there are in reporting clinical trials, and how they impact on how data science is used. The learner will see how they can work efficiently and effectively while still ensuring that they meet the needed standards.

Oct 5th 2026
4 Weeks
Introducción a Java (Coursera) Coursera
Universidad Nacional Autónoma de México

Introducción a Java (Coursera)

Me llamo Elisa Viso y una de mis pasiones es la de programar y enseñar a programar. El lenguaje Java es uno de los que más me ha gustado en mis 45 años que llevo programando. Si bien te podrá parecer un poco complicado empezar a programar en Java, una vez que cubras los conceptos básicos verás qué rápido se avanza. Java, como todos los lenguajes de programación bien hechos, te dejan hacer cualquier cosa (algunas de ellas con más trabajo que en otros lenguajes y otras casi directamente de cómo piensas la solución al problema).

Oct 5th 2026
5-12 Weeks
Population Health: Responsible Data Analysis (Coursera) Coursera
Leiden University

Population Health: Responsible Data Analysis (Coursera)

In most areas of health, data is being used to make important decisions. As a health population manager, you will have the opportunity to use data to answer interesting questions. In this course, we will discuss data analysis from a responsible perspective, which will help you to extract useful information from data and enlarge your knowledge about specific aspects of interest of the population.

Oct 5th 2026
4 Weeks