Nanodegree Program

Programming for Data Science

Prepare for a data science career by learning the fundamental data programming tools: Python or R, SQL, command line, and git. Choose to enroll in either the Python or R track.

Enrollment Closing In

  • Time
    1 Three-Month Term

    Study 10 hrs/week and complete in 3 mo.

  • Classroom Opens
    May 7, 2019

    Classroom opens 7 days after enrollment closes

  • Prerequisites

    See prerequisites in detail

In Collaboration with

Why Take This Nanodegree Program?

In this program, you’ll learn the most valuable programming tools and languages used by data scientists today. You’ll learn how to manipulate large datasets, perform version control, and access modern databases. You’ll select the track in either Python or R, two of the most popular programming languages used by Data Scientists today. This program is an ideal way to launch a career in data, and for experienced analysts, it’s an excellent opportunity to augment your existing skill set with in-demand programming skills.

Icon - Dark upwards trend arrow


of companies plan to increase positions requiring data analysis skills.

Selling Points - woman in striped shirt sitting at laptop
Icon - lightbulb (white on blue)

Essential Tools for a Data Career

Learn industry-standard data programming skills and tools through our learn-by-doing approach, and build a shareable portfolio in Github that clearly and effectively demonstrates your expertise.

Icon - checklist (black on green)

Beneficial and Supportive Project Review

Advance quickly and successfully through the curriculum with the benefit of detailed and personalized feedback from our reviewer network—this will ensure you master all the right skills.

Selling Points - group of four people sits at a table looking at a laptop
Icon - person wearing tie (white on purple)

An Outstanding Community

Draw inspiration and knowledge from your student community. Stay on-track with the support of the mentor network directly in the classroom when you need guidance on specific challenges or projects.

Icon - confetti horn - black on pink

Prepare for a Career in Data Science

Establish foundational data science programming skills that will enable you to take the next important steps in your career. Receive critical guidance about different career options and gain the insights necessary to proceed with confidence.

Choose your track!

Python Track

Download Syllabus
Python Track

Learn to Code in Python and SQL

Learn the programming fundamentals required for a career in data science. By the end of the program, you will be able to use Python, SQL, Command Line, and Git.

Learn to code with Python, SQL, Command Line, and Git to solve problems with data.

Hide details

3 months to complete

Prerequisite Knowledge

There are no prerequisites for this program, aside from basic computer skills.See detailed requirements.

  • Introduction to SQL

    Learn SQL fundamentals such as JOINs, Aggregations, and Subqueries. Learn how to use SQL to answer complex business problems.

    Investigate a Database
  • Introduction to Python Programming

    Learn Python programming fundamentals such as data structures, variables, loops, and functions. Learn to work with data using libraries like NumPy and Pandas.

    Explore US Bikeshare Data
  • Introduction to Version Control

    Learn how to use version control and share your work with other people in the data science industry.

    Post your work on Github

R Track

Download Syllabus
R Track

Learn to Code in R and SQL

Learn the programming fundamentals required for a career in data science. By the end of the program, you will be able to use R, SQL, Command Line, and Git.

Learn to code with R, SQL, Command Line, and Git to solve problems with data.

See details

3 months to complete

Learn with the best

Josh Bernhard
Josh Bernhard

Data Scientist at Nerd Wallet

Josh has been sharing his passion for data for nearly a decade at all levels of university, and as Lead Data Science Instructor at Galvanize. He's used data science for work ranging from cancer research to process automation.

Derek Steer
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.

Juno Lee
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.

Richard Kalehoff
Richard Kalehoff


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.

Karl Krueger
Karl Krueger

Command Line Instructor

Karl is a Course Developer at Udacity. 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.

Advance Your Career

Designed to prepare you for career success in data engineering.

The Programming for Data Science Nanodegree program is built with world-class industry collaborators to prepare you for actual jobs in data architecture and data analytics. The skills you learn map directly to available opportunities, and you’ll emerge from the program uniquely prepared to provide immediate value to any organization. We’ll support your career journey throughout the preparation and search process, and our goal is to help you secure a rewarding role in your chosen career.

Connect with Opportunities

Create your portfolio and open up a world of opportunities.

Data science jobs are in high demand. Create your professional portfolio with Udacity and open up a world of opportunities. Udacity Talent Program employers are eager to meet you.

Build a Great Network

Connect with our global community to grow your career.

Connect with 70,000+ highly-skilled alumni to collaborate, share referrals, or hire your own team. The Udacity Alumni Network offers opportunities to continue building your professional skills while you advance your career.

Target Your Job Search

Work with career professionals to impress recruiters.

Work with a career coach to get personalized advice, improve your job search and impress recruiters. Build your professional brand with feedback from industry professionals on your resume, LinkedIn, and GitHub profile.

Get Started Now


Programming for Data Science with Python

$599 USD
11 days left to enroll!
Enroll Now
Enroll in the Python track of the Programming for Data Science Nanodegree program. You’ll complete three projects, with a focus on the Python Language.

Programming for Data Science with R

$599 USD
11 days left to enroll!
Enroll Now
Enroll in the R track of the Programming for Data Science Nanodegree program. You’ll complete three projects, with a focus on the R Language.

Program Details

  • Why should I enroll?

    The Programming for Data Science Nanodegree program offers you the opportunity to learn the most important programming languages used by data scientists today. Get your start into the fascinating field of data science and learn Python or R, SQL, terminal, and git with the help of experienced instructors.

  • What jobs will this program prepare me for?

    This is an introductory program that is not designed to prepare you for a specific job. However, as a graduate of this program, you will be proficient in the programming skills used in many data analysis and data science roles, including Python or R, SQL, Terminal, and Git.

  • How do I know if this program is right for me?

    If you are interested in taking the first step into the field of Data Science this course is for you. This course will quickly teach you the foundational data science programming tools (Python or R, SQL, Git). This course requires no pre-requisite knowledge so you can get started now. Having mastered these in demand tools you will be able to tackle real world data analysis problems.

    Learning to program Python or R and SQL, the main programing languages used by data scientists and analysts, is the core of this program. If you decide to take the Programming for Data Science with Python, you’ll also learn specialized data libraries for Python including Pandas and Numpy, and use Git and the Terminal to share your work and learn about version control. By learning these foundational programming skills, you will be ready to advance your career in data.

  • What is the difference between the Python track and the R track?

    We offer two tracks to this program, one teaching Python and one teaching R. These are both popular among data scientists. You can enroll in one or the other, not both.

    Both tracks cover the same fundamental concepts but use a different programming language. The SQL, command line, and Git curriculum is the same in both tracks. This includes the first and third projects, which are the same between the two tracks.

    The programming course and project are different between the two tracks. One course relies on Python while the other relies on R. The projects for the two courses rely on the same dataset and skills but they differ in the approach and final deliverable. See the syllabus above for more details.

  • What is the School of Data Science, and how do I know which program to choose?

    Udacity’s School of Data consists of several different Nanodegree programs, each of which offers the opportunity to build data skills, and advance your career. These programs are organized around career roles like Business Analyst, Data Analyst, Data Scientist, and Data Engineer.

    The School of Data currently offers two clearly-defined career paths. These paths are differentiated by whether they focus on developing programming skills or not. Whether you are just getting started in data, are looking to augment your existing skill set with in-demand data skills, or intend to pursue advanced studies and career roles, Udacity’s School of Data has the right path for you! Visit How to Choose the Data Science Program That’s Right for You to learn more.

  • Do I need to apply? What are the admission criteria?

    No. This Nanodegree program accepts all applicants regardless of experience and specific background.

  • What are the prerequisites for enrollment?

    There are no prerequisites for enrolling aside from basic computer skills and English proficiency. You should feel comfortable performing basic operations on your computer like opening files and folders, opening applications, and copying and pasting.

  • How is this Nanodegree program structured?

    The program is comprised of 1 (one) 3 (three)-month term with fixed start and end dates. Students must successfully complete all assigned projects by the end date of the term to graduate. The projects give you an opportunity to apply the skills you've learned in the lessons.

    Each project will be reviewed by the Udacity reviewer network. Feedback will be provided and if you do not pass the project, you will be asked to resubmit the project until it passes.

  • How long is this Nanodegree program?

    Access to this Nanodegree program runs for the period noted in the Term Length section above.

    See the Terms of Use and FAQs for other policies around the terms of access to our Nanodegree programs.

  • Can I switch my start date? Can I get a refund?

    Please see the Udacity Nanodegree program FAQs found here for policies on enrollment in our programs.

  • How much does the program cost?

    The full program consists of 1 (one) 3 (three)-month long term at a cost of USD $599.

    Payment is due before the term begins.

  • I have graduated from the Programming for Data Science Nanodegree program and I want to keep learning. Where should I go from here?

    Check out our Data Analyst Nanodegree program to take the programming skills you have learned and apply them to real world Data Analyst business problems. Working on these more complex projects will deepen your knowledge of coding and make you a more attractive candidate to be hired as an data analyst.

    You could also consider the Data Engineer Nanodegree program, which focuses on data models, data warehouses, and data pipelines.

  • What software and versions will I need in this program?

    For this Nanodegree program you will need a 64-bit computer and access to the Internet.

Programming for Data Science

Enroll today, and start putting your skills to work!