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

An Introduction to Programming using Python (Coursera) Coursera
University of Leeds

An Introduction to Programming using Python (Coursera)

Maximise your employability, by learning the basics of coding in Python. Python is a versatile programming language used for developing websites and software, task automation, data analysis and more. In this course, you'll embark on an exciting journey into the world of Python and gain valuable skills that will enable you to start thinking about a career in programming.

Nov 16th 2026
2 Weeks
Process Mining: Data science in Action (Coursera) Coursera
Eindhoven University of Technology

Process Mining: Data science in Action (Coursera)

Process mining is the missing link between model-based process analysis and data-oriented analysis techniques. Through concrete data sets and easy to use software the course provides data science knowledge that can be applied directly to analyze and improve processes in a variety of domains. Data science is the profession of the future, because organizations that are unable to use (big) data in a smart way will not survive. It is not sufficient to focus on data storage and data analysis. The data scientist also needs to relate data to process analysis.

Nov 16th 2026
5-12 Weeks
Java程序设计 (Coursera) Coursera
Peking University

Java程序设计 (Coursera)

《Java程序设计》课程是使用Java语言进行应用程序设计的课程,针对各专业的大学本科生开设。课程的主要目标有三: 一、掌握Java语言的语法,能够较为深入理解Java语言机制,掌握Java语言面向对象的特点。 二、掌握JavaSE中基本的API,掌握在集合、线程、输入输出、图形用户界面、网络等方面的应用。三、能够编写有一定规模的应用程序,养成良好的编程习惯,会使用重构、设计模式、单元测试、日志、质量管理工具提高代码的质量。 对于学过“计算机基础、计算概论或C语言的学生”尤为适用。

Nov 16th 2026
5-12 Weeks
Experimentation for Improvement (Coursera) Coursera
McMaster University

Experimentation for Improvement (Coursera)

We are always using experiments to improve our lives, our community, and our work. Are you doing it efficiently? Or are you (incorrectly) changing one thing at a time and hoping for the best? In this course, you will learn how to plan efficient experiments - testing with many variables. Our goal is to find the best results using only a few experiments. A key part of the course is how to optimize a system.

Nov 9th 2026
5-12 Weeks
VLSI CAD Part II: Layout (Coursera) Coursera
University of Illinois at Urbana-Champaign

VLSI CAD Part II: Layout (Coursera)

A modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design.

Nov 16th 2026
5-12 Weeks
Problem Solving, Python Programming, and Video Games (Coursera) Coursera
University of Alberta

Problem Solving, Python Programming, and Video Games (Coursera)

This course is an introduction to computer science and programming in Python. Important computer science concepts such as problem solving (computational thinking), problem decomposition, algorithms, abstraction, and software quality are emphasized throughout. The Python programming language and video games are used to demonstrate computer science concepts in a concrete and fun manner. However, a learner can take the knowledge and skills from this course and apply them to non-game problems, other programming languages, and other computer science courses.

Nov 16th 2026
5-12 Weeks
Algorithms, Part I (Coursera) Coursera
Princeton University

Algorithms, Part I (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Nov 16th 2026
5-12 Weeks
C++程序设计 (Coursera) Coursera
Peking University

C++程序设计 (Coursera)

讲授C++语言中和面向对象有关的概念和语法,如类和对象、运算符重载、继承和多态、类模板和算法模板、标准模板库等。目标是使得学生能够用C++语言,以面向对象的方法编写可维护性、可扩充性好的,较大规模的程序,初步领会面向对象程序设计方法的优势所在。

Nov 16th 2026
5-12 Weeks
Avoiding AI Harm (Coursera) Coursera
Fred Hutchinson Cancer Center

Avoiding AI Harm (Coursera)

This course is designed for those in roles with decision making power, to help them understand major topics to consider for using and developing Artificial Intelligence (AI) responsibly, including popular Generative AI tools like ChatGPT and others. It covers real-world examples of situations where AI was used in variety of fields and situations in ways hat revealed ethical concerns. Strategies are suggested to avoid doing harm working with AI, including a framework for working responsibly with AI.

Nov 16th 2026
1 Week