Skills you'll learn:

Programming for Data Science with Python
Nanodegree Program
Learn programming skills needed to uncover patterns and insights in large data sets, running queries with relational databases and working with Unix shell and Git.
Learn programming skills needed to uncover patterns and insights in large data sets, running queries with relational databases and working with Unix shell and Git.
Beginner
2 months
Last Updated October 26, 2024
Prerequisites:
Beginner
2 months
Last Updated October 26, 2024
Skills you'll learn:
Prerequisites:
Courses In This Program
Course 1 • 57 minutes
Welcome to the Program
Welcome to the program! In this part, you will get an orientation into using our classroom and services. You’ll also get advice for making the best use of your time while enrolled in this program.
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
Get Help with Your Account
What to do if you have questions about your account or general questions about the program.
Lesson 4
The Life of a 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 • 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 4 • 4 weeks
Introduction to Python
Learn Python programming fundamentals such as data types and structures, variables, loops, and functions.
Lesson 1
Why Python Programming
Welcome to Introduction to Python! Here's an overview of the course.
Lesson 2
Data Types and Operators
Familiarize yourself with the building blocks of Python! Learn about data types and operators, built-in functions, type conversion, whitespace, and style guidelines.
Lesson 3
Data Structures in Python
Use data structures to order and group different data types together! Learn about the types of data structures in Python, along with more useful built-in functions and operators.
Lesson 4
Control Flow
Build logic into your code with control flow tools! Learn about conditional statements, repeating code with loops and useful built-in functions, and list comprehensions.
Lesson 5
Functions
Learn how to use functions to improve and reuse your code! Learn about functions, variable scope, documentation, lambda expressions, iterators, and generators.
Lesson 6
Scripting
Set up your own programming environment to write and run Python scripts locally! Learn good scripting practices, interact with different inputs, and discover awesome tools.
Lesson 7
NumPy
Learn the basics of NumPy and how to use it to create and manipulate arrays.
Lesson 8
Pandas
Learn the basics of Pandas Series and DataFrames and how to use them to load and process data.
Lesson 9
Advanced Topics
In this lesson we cover some advanced topics of iterators and generators. You are not required to complete this but we have provided these to give you a taste of these.
Lesson 10 • Project
Explore US Bikeshare Data
Use Python to understand U.S. bikeshare data. Calculate statistics and build an interactive environment where a user chooses the data and filter for a dataset to analyze.
Course 5 • 2 weeks
Introduction to Version Control
Learn how to use version control to save and share your projects with others.
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
Commits, Tags, Conflicts
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
Remotes and Developer Repos
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 5
Writing READMEs for Repos
Learn the importance of well documented code and see how to craft meaningful READMEs.
Lesson 6 • 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.
Course 6 • 5 minutes
Congratulations and Next Steps
Congratulations on completing all projects for this Nanodegree!
Lesson 1
Congratulations!
Congratulations on completing all your projects!
(Optional) Course 7 • 2 weeks
SQL Project Additional Resources
Lesson 1
Descriptive Statistics - Part I
In this lesson, you will learn about data types, measures of center, and the basics of statistical notation.
Lesson 2
Descriptive Statistics - Part II
In this lesson, you will learn about measures of spread, shape, and outliers as associated with quantitative data. You will also get a first look at inferential statistics.
Lesson 3
Spreadsheets 1: Getting Started
In this lesson, you will learn about the basic functionality for spreadsheet software, use cell referencing and menu shortcuts.
Lesson 4
Spreadsheets 2: Manipulate Data
In this lesson, you will learn basic spreadsheet function: sort and filter data, use text and math functions, split columns and remove duplicates.
Lesson 5
Spreadsheets 3: Analyze Data
In this lesson, you will learn how to summarize data with aggregation and conditional functions. You will learn how to use pivot tables and lookup functions.
Lesson 6
Spreadsheets 4: Visualize Data
In this lesson you will build data visualizations for quantitative and categorical data; create pie, bar, line, scatter, histogram, and boxplot charts, and build professional presentations.
(Optional) Course 8 • 4 weeks
Data Visualization with Tableau
Learn to apply sound design and data visualization principles to the data analysis process. Learn how to use analysis and visualizations in Tableau to tell a story with data.
Lesson 1
Data Visualization Fundamentals
In this lesson you learn to evaluate the quality of data visualizations and build high quality visualizations, starting with the fundamentals of data dashboards.
Lesson 2
Design Principles
In this lesson you learn to implement the best design practices, and to use the most appropriate chart for a particular situation.
Lesson 3
Creating Visualizations in Tableau
This lesson teaches you how to build data visualizations in Tableau using data hierarchies, filters, groups, sets, and calculated fields, as well as create map-based data visualizations in Tableau.
Lesson 4
Telling Stories with Tableau
In this lesson you learn how to build interactive Tableau dashboards and tell impactful stories using data.
(Optional) Course 9 • 5 hours
Introduction to HTML and CSS
Introduction to HTML and CSS syntax with problem sets.
Lesson 1
HTML Syntax
Set up your development environment for writing HTML and learn basic tags and syntax.
Lesson 2
HTML Syntax Problem Set
Get practice creating HTML documents and writing tags with this collection of fun challenges.
Lesson 3
CSS Syntax
Learn the basics of CSS syntax and get started adding style to your websites.
Lesson 4
CSS Syntax Problem Set
Practice writing CSS and styling websites while exploring new properties in this problem set.
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.8 Stars
832 Reviews
Abdalla H.
March 21, 2023
it exceeded my expectations
Tsai-sang, Susan D.
March 21, 2023
Fantastic learning material!
Yan L.
December 20, 2022
very good program.
Omar A.
December 12, 2022
Wonderfull!!
SAI ABHIROOP T.
December 4, 2022
This program has been going great!
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 Python. 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:

(51)
2 months
Beginner

4 weeks
Beginner

(1)
3 months
Beginner

2 weeks
Advanced

(1244)
3 months
Beginner

(136)
3 months
Beginner

(807)
3 months
Advanced

1 month
Beginner

(530)
2 months
Intermediate

(288)
2 months
Beginner

(113)
2 months
Intermediate

(94)
3 months
Beginner

2 months
Beginner

(91)
3 months
Advanced

2 months
Beginner

(1339)
5 months
Beginner