Mastering Software Development in R

Build better data science tools.. Learn to design software for data tooling, distribute R packages, and build custom visualizations.

Instructor: Roger D. Peng, PhD , Brooke Anderson

Beginner Level • 2 months to complete at 10 hours a week • Flexible Schedule

What You'll Learn

  • Build R packages
  • Custom data visualization and graphics
  • Data manipulation and wrangling
  • Produce and scale data science products

Skills You'll Gain

Package and Software Management
R Programming
Visualization (Computer Graphics)
Ggplot2
Version Control
GitHub
Data Transformation
Leaflet (Software)
Tidyverse (R Package)
Software Documentation
Data Manipulation
Interactive Data Visualization

Shareable Certificate

Earn a shareable certificate to add to your LinkedIn profile

Outcomes

  • Learn in-demand skills from university and industry experts
  • Master a subject or tool with hands-on projects
  • Develop a deep understanding of key concepts
  • Earn a career certificate from Johns Hopkins University

5 courses series

This course provides a rigorous introduction to the R programming language, with a particular focus on using R for software development in a data science setting. Whether you are part of a data science team or working individually within a community of developers, this course will give you the knowledge of R needed to make useful contributions in those settings. As the first course in the Specialization, the course provides the essential foundation of R needed for the following courses. We cover basic R concepts and language fundamentals, key concepts like tidy data and related "tidyverse" tools, processing and manipulation of complex and large datasets, handling textual data, and basic data science tasks. Upon completing this course, learners will have fluency at the R console and will be able to create tidy datasets from a wide range of possible data sources.

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.

Writing good code for data science is only part of the job. In order to maximizing the usefulness and reusability of data science software, code must be organized and distributed in a manner that adheres to community-based standards and provides a good user experience. This course covers the primary means by which R software is organized and distributed to others. We cover R package development, writing good documentation and vignettes, writing robust software, cross-platform development, continuous integration tools, and distributing packages via CRAN and GitHub. Learners will produce R packages that satisfy the criteria for submission to CRAN.

The data science revolution has produced reams of new data from a wide variety of new sources. These new datasets are being used to answer new questions in way never before conceived. Visualization remains one of the most powerful ways draw conclusions from data, but the influx of new data types requires the development of new visualization techniques and building blocks. This course provides you with the skills for creating those new visualization building blocks. We focus on the ggplot2 framework and describe how to use and extend the system to suit the specific needs of your organization or team. Upon completing this course, learners will be able to build the tools needed to visualize a wide variety of data types and will have the fundamentals needed to address new data types as they come about.

R Programming Capstone

Learner Testimonials

Felipe M.
Felipe M. • Learner since 2018

To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood.

Jennifer J.
Jennifer J. • Learner since 2020

I directly applied the concepts and skills I learned from my courses to an exciting new project at work.

Larry W.
Larry W. • Learner since 2021

When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go.

Chaitanya A.
Chaitanya A. • Learner since 2727

Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits.