About this Course

37,735 recent views

Learner Career Outcomes

30%

started a new career after completing these courses

29%

got a tangible career benefit from this course
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Flexible deadlines
Reset deadlines in accordance to your schedule.
Intermediate Level
Approx. 18 hours to complete
English
Subtitles: English, Chinese (Simplified)

Skills you will gain

Logic ProgrammingR ProgrammingObject-Oriented Programming (OOP)Functional Programming

Learner Career Outcomes

30%

started a new career after completing these courses

29%

got a tangible career benefit from this course
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Flexible deadlines
Reset deadlines in accordance to your schedule.
Intermediate Level
Approx. 18 hours to complete
English
Subtitles: English, Chinese (Simplified)

Offered by

Johns Hopkins University logo

Johns Hopkins University

Syllabus - What you will learn from this course

Content RatingThumbs Up93%(2,830 ratings)Info
Week
1

Week 1

8 minutes to complete

Welcome to Advanced R Programming

8 minutes to complete
1 video (Total 1 min), 3 readings
3 readings
Syllabus1m
Course Textbook: Mastering Software Development in R1m
swirl Assignments5m
2 hours to complete

Functions

2 hours to complete
17 readings
17 readings
Control Structures Overview2m
if-else10m
for Loops10m
Nested for loops10m
next, break10m
Summary2m
Functions Overview2m
Code10m
Function interface10m
Default values10m
Re-factoring code10m
Dependency Checking10m
Vectorization10m
Argument Checking10m
R package10m
When Should I Write a Function?10m
Summary2m
2 hours to complete

Functions: Lesson Choices

2 hours to complete
1 practice exercise
Swirl Lesson1h
Week
2

Week 2

3 hours to complete

Functional Programming

3 hours to complete
19 readings
19 readings
What is Functional Programming?10m
Core Functional Programming Functions10m
Map10m
Reduce10m
Search10m
Filter10m
Compose10m
Partial Application10m
Side Effects10m
Recursion10m
Summary2m
Expressions10m
Environments10m
Execution Environments10m
What is an error?10m
Generating Errors10m
When to generate errors or warnings10m
How should errors be handled?10m
Summary2m
3 hours to complete

Functional Programming: Lesson Choices

3 hours to complete
1 practice exercise
Swirl Lesson1h 30m
Week
3

Week 3

2 hours to complete

Debugging and Profiling

2 hours to complete
15 readings
15 readings
Debugging Overview2m
traceback()10m
Browsing a Function Environment10m
Tracing Functions10m
Using debug() and debugonce()10m
recover()10m
Final Thoughts on Debugging10m
Summary2m
Profiling Overview2m
microbenchmark10m
profvis10m
Find out more10m
Summary2m
Non-standard evaluation10m
Summary2m
1 practice exercise
Debugging and Profiling30m
Week
4

Week 4

5 hours to complete

Object-Oriented Programming

5 hours to complete
11 readings
11 readings
OOP Overview2m
Object Oriented Principles10m
S310m
S410m
Reference Classes10m
Summary2m
Overview2m
Reuse existing data structures10m
Compose simple functions with the pipe10m
Embrace functional programming10m
Design for humans10m

Reviews

TOP REVIEWS FROM ADVANCED R PROGRAMMING

View all reviews

About the Mastering Software Development in R Specialization

R is a programming language and a free software environment for statistical computing and graphics, widely used by data analysts, data scientists and statisticians. This Specialization covers R software development for building data science tools. As the field of data science evolves, it has become clear that software development skills are essential for producing and scaling useful data science results and products. This Specialization will give you rigorous training in the R language, including the skills for handling complex data, building R packages, and developing custom data visualizations. You’ll be introduced to indispensable R libraries for data manipulation, like tidyverse, and data visualization and graphics, like ggplot2. You’ll learn modern software development practices to build tools that are highly reusable, modular, and suitable for use in a team-based environment or a community of developers. This Specialization is designed to serve both data analysts, who may want to gain more familiarity with hands-on, fundamental software skills for their everyday work, as well as data mining experts and data scientists, who may want to use R to scale their developing and programming skills, and further their careers as data science experts....
Mastering Software Development in R

Frequently Asked Questions

  • Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:

    • The course may not offer an audit option. You can try a Free Trial instead, or apply for Financial Aid.
    • The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

  • If you subscribed, you get a 7-day free trial during which you can cancel at no penalty. After that, we don’t give refunds, but you can cancel your subscription at any time. See our full refund policy.

  • Yes, Coursera provides financial aid to learners who cannot afford the fee. Apply for it by clicking on the Financial Aid link beneath the "Enroll" button on the left. You'll be prompted to complete an application and will be notified if you are approved. You'll need to complete this step for each course in the Specialization, including the Capstone Project. Learn more.

More questions? Visit the Learner Help Center.