C Programming: The Basics You Need to Know
March 3, 2025
Article
Cultivate your career with expert-led programs, job-ready certificates, and 10,000 ways to grow. All for $25/month, billed annually. Save now
Build better data science tools.. Learn to design software for data tooling, distribute R packages, and build custom visualizations.
Instructors: Roger D. Peng, PhD
23,287 already enrolled
Included with
(1,269 reviews)
(1,269 reviews)
Build R packages
Custom data visualization and graphics
Data manipulation and wrangling
Produce and scale data science products
Add to your LinkedIn profile
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
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.
Applied Learning Project
In each of the courses, learners will deploy their newly acquired advanced R language skills to manipulate complex datasets, write powerful functions, create a new R package, and develop new visualization tools for building custom data graphics. These projects will result in a portfolio of R code that can be reused and built upon for deployment in the real world.
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
The mission of The Johns Hopkins University is to educate its students and cultivate their capacity for life-long learning, to foster independent and original research, and to bring the benefits of discovery to the world.
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Earn a degree from world-class universities - 100% online
Upskill your employees to excel in the digital economy
Time to completion can vary based on your schedule, but most learners are able to complete the Specialization in 3-6 months.
Some programming experience (in any language) is recommended. We also suggest a working knowledge of mathematics up to algebra (neither calculus or linear algebra are required).
We strongly recommend that you take the courses in order.
Coursera courses and certificates don't carry university credit, though some universities may choose to accept Specialization Certificates for credit. Check with your institution to learn more.
You will be able to use R to create new data science tools as part of a team or a community of developers. You will be able to build R packages, develop custom visualizations, and apply modern software development tools to create reusable code for solving data science problems.
This course is completely online, so there’s no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.
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! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate, or you can audit it to view the course materials for free. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
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. If you only want to read and view the course content, you can audit the course for free. If you cannot afford the fee, you can apply for financial aid.
Financial aid available,
New to Coursera?
Having trouble logging in? Learner help center
This site is protected by reCAPTCHA Enterprise and the Google Privacy Policy and Terms of Service apply.