Skills you'll learn:

Programming for Data Science with R
Nanodegree Program
This Programming for Data Science with R Nanodegree program provides an overview of data analysis and programming. In the SQL course, students learn to use SQL to answer complex business problems, including basic commands, joins, and aggregations. In the R course, students learn programming fundamentals and topics such as data types, functions, loops, and conditional statements. They learn to read and manipulate data in R, create basic visualizations, and perform statistical analysis. The version control course teaches students to use Git and GitHub to manage versions of programs and collaborate with others. These courses include practical projects where students use their skills to analyze real data.
This Programming for Data Science with R Nanodegree program provides an overview of data analysis and programming. In the SQL course, students learn to use SQL to answer complex business problems, including basic commands, joins, and aggregations. In the R course, students learn programming fundamentals and topics such as data types, functions, loops, and conditional statements. They learn to read and manipulate data in R, create basic visualizations, and perform statistical analysis. The version control course teaches students to use Git and GitHub to manage versions of programs and collaborate with others. These courses include practical projects where students use their skills to analyze real data.
Beginner
2 months
Last Updated December 18, 2024
Prerequisites:
Beginner
2 months
Last Updated December 18, 2024
Skills you'll learn:
Prerequisites:
No experience required
Courses In This Program
Course 1 • 55 minutes
Welcome to the Nanodegree
This is an overview of several courses on data analysis and programming. In the SQL course, students learn to use SQL to answer complex business problems, including basic commands, joins, and aggregations. In the Python course, students learn programming fundamentals and use libraries like NumPy and Pandas to work with data. The version control course teaches students to use Git and GitHub to manage versions of programs and collaborate with others. These courses include practical projects where students use their skills to analyze real data.
Lesson 1
Welcome to the Nanodegree
Welcome to the Programming for Data Science Nanodegree program! In this lesson, you will learn more about the structure of the program and meet the team.
Lesson 2
Getting Help
You are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
Lesson 3
The Life of the Data Scientist
In this lesson, you'll hear from a few data analysts and data scientists about what it's like to work in data analytics.
Course 2 • 4 weeks
Introduction to SQL
Learn SQL language fundamentals such as building basic queries and advanced functions like Window Functions, Subqueries and Common Table Expressions.
Lesson 1
Basic SQL
In this section, you will gain knowledge about SQL basics for working with a single table. You will learn the key commands to filter a table in many different ways.
Lesson 2
SQL Joins
In this lesson, you will learn how to combine data from multiple tables together.
Lesson 3
SQL Aggregations
In this lesson, you will learn how to aggregate data using SQL functions
Lesson 4
SQL Subqueries & Temporary Tables
In this lesson, you will learn about subqueries, a fundamental advanced SQL topic. This lesson will walk you through the appropriate applications of subqueries, the different types of subqueries, and review subquery syntax and examples.
Lesson 5
SQL Data Cleaning
Cleaning data is an important part of the data analysis process. You will be learning how to perform data cleaning using SQL in this lesson.
Lesson 6
SQL Window Functions
Window functions allow users to compare one row to another without doing any joins using one of the most powerful concepts in SQL data analysis.
Lesson 7
SQL Advanced JOINS & Performance Tuning
Learn advanced joins and how to make queries that run quickly across giant datasets. Most of the examples in the lesson involve edge cases, some of which come up in interviews.
Lesson 8 • Project
Project: Investigate a Relational Database
The **Sakila Movie database** is a SQL database of online DVD rentals . You will query the database to answer questions about business decisions.
Course 3 • 3 weeks
Introduction to R Programming
In this course, you’ll learn to represent and store data using R data types and variables, and use conditionals and loops to control the flow of your programs. You’ll harness the power of complex data structures like lists, sets, dictionaries, and tuples to store collections of related data. You’ll define and document your own custom functions, write scripts, and handle errors. You will also learn to use two powerful R libraries - Numpy, a scientific computing package, and Pandas, a data manipulation package.
Lesson 1
Introduction to R
In this lesson, you will learn about why R is so popular for Data Analysis, learn how to set up R on your own machine, and see how you can use R directly within the classroom.
Lesson 2
Syntax & Data Types
In this lesson, gain an understanding of how to interact with the R interpreter and the different data types available in R.
Lesson 3
Control Flow & Functions
Learn some of the foundational programming concepts in R syntax. These concepts include control flow, loops, and functions.
Lesson 4
Data Visualizations & EDA
In this lesson, you will get hands on with creating plots in R. This is where using R really shines, as you build amazing visualizations with only a few lines of code.
Lesson 5 • Project
Explore Bikeshare Data
You will now use your R skills to explore bikeshare data and report your findings!
Course 4 • 2 hours
Command Line Essentials
The Unix shell is a powerful tool for developers of all sorts. In this lesson, you'll get a quick introduction to the very basics of using it on your own computer.
Lesson 1
Shell Workshop
The Unix shell is a powerful tool for developers of all sorts. In this lesson, you'll get a quick introduction to the very basics of using it on your own computer.
Course 5 • 4 weeks
Git and GitHub
Lesson 1
What is Version Control
Version control is an incredibly important part of a professional programmer's life. In this lesson, you'll learn about the benefits of version control and install the version control tool Git!
Lesson 2
Create a Git Repo
Now that you've learned the benefits of Version Control and gotten Git installed, it's time you learn how to create a repository.
Lesson 3
Review a Repo's History
Knowing how to review an existing Git repository's history of commits is extremely important. You'll learn how to do just that in this lesson.
Lesson 4
Add Commits to a Repo
A repository is nothing without commits. In this lesson, you'll learn how to make commits, write descriptive commit messages, and verify the changes you're about to save to the repository.
Lesson 5
Tagging, Branching, and Merging
Being able to work on your project in isolation from other changes will multiply your productivity. You'll learn how to do this isolated development with Git's branches.
Lesson 6
Undoing Changes
Help! Disaster has struck! You don't have to worry, though, because your project is tracked in version control! You'll learn how to undo and modify changes that have been saved to the repository.
Lesson 7
Working with Remotes
You'll learn how to create remote repositories on GitHub and how to get and send changes to the remote repository.
Lesson 8
Working on Another Developer's Repository
In this lesson, you'll learn how to fork another developer's project. Collaborating with other developers can be a tricky process, so you'll learn how to contribute to a public project.
Lesson 9
Staying in Sync with a Remote Repository
You'll learn how to send suggested changes to another developer by using pull requests. You'll also learn how to use the powerful `git rebase` command to squash commits together.
Lesson 10 • Project
Project: Post Your Work on GitHub
Use your local git repository and your GitHub repository. Fork a repository, work on files, stage files and commit them to GitHub. You will also demonstrate how to hide files using .gitignore files.
Taught By The Best

Josh Bernhard
Staff Data Scientist
Josh has been sharing his passion for data for over a decade. He's used data science for work ranging from cancer research to process automation. He recently has found a passion for solving data science problems within marketplace companies.

Karl Krueger
Command Line Instructor
Before joining Udacity, Karl was a Site Reliability Engineer (SRE) at Google for eight years, building automation and monitoring to keep the world's busiest web services online.

Derek Steer
CEO at Mode
Derek is the CEO of Mode Analytics. He developed an analytical foundation at Facebook and Yammer and is passionate about sharing it with future analysts. He authored SQL School and is a mentor at Insight Data Science.

Richard Kalehoff
Instructor
Richard is a Course Developer with a passion for teaching. He has a degree in computer science, and first worked for a nonprofit doing everything from front end web development, to backend programming, to database and server management.

Juno Lee
Curriculum Lead at Udacity
Juno is the curriculum lead for the School of Data Science. She has been sharing her passion for data and teaching, building several courses at Udacity. As a data scientist, she built recommendation engines, computer vision and NLP models, and tools to analyze user behavior.
Student Reviews
Average Rating: 4.7 Stars
51 Reviews
Daniel M.
February 11, 2022
So far, so good.
NASSER ABDULAZIZ A.
December 24, 2021
The way of explanation and the delivery of the information is more than wonderful, as well as the availability of the translation was helpful in understanding the understanding clearly,, Thank you
Cvetana D.
November 13, 2021
I have received some great feedback from mentors and reviewers. The links to external sources are very useful too.
The O.
October 16, 2021
Program is Detailed enough for beginners and gives further recomendations of reading resources. The practicals are easy to follow through, though I would insist that one first do the free courses elsewhere before enrollment with Udacity. It really gets your hands dirty, and project feedback is superb and so fast!!! I'm recommending this to all my buddies
Frederick .
August 24, 2021
Yes indeed! I loved doing the SQL Project indeed!
The Udacity Difference
Combine technology training for employees with industry experts, mentors, and projects, for critical thinking that pushes innovation. Our proven upskilling system goes after success—relentlessly.

Demonstrate proficiency with practical projects
Projects are based on real-world scenarios and challenges, allowing you to apply the skills you learn to practical situations, while giving you real hands-on experience.
Gain proven experience
Retain knowledge longer
Apply new skills immediately

Top-tier services to ensure learner success
Reviewers provide timely and constructive feedback on your project submissions, highlighting areas of improvement and offering practical tips to enhance your work.
Get help from subject matter experts
Learn industry best practices
Gain valuable insights and improve your skills

Enroll in Programming for Data Science with R . Choose the plan that works for you
All Access monthly
Cancel Anytime
Unlimited access to our top-rated courses
Hands-on projects with expert feedback
Personalized career coaching and interview prep
Program Certificates
Best Value
All Access bundle1
All the same great benefits as our monthly plan
The most cost-effective way to develop the skills you want
- 1Discount applies to the first 4 months of membership, after which plans are converted to month-to-month.
Your subscription also includes:
Your subscription also includes:

(832)
2 months
Beginner

(1)
3 months
Beginner

4 weeks
Beginner

(1244)
3 months
Beginner

(136)
3 months
Beginner

2 weeks
Advanced

1 month
Beginner

(288)
2 months
Beginner

3 weeks
Beginner

(94)
3 months
Beginner

(530)
2 months
Intermediate

(807)
3 months
Advanced

4 weeks
Beginner

(91)
3 months
Advanced

2 months
Beginner

2 months
Beginner