Data Structures and Algorithms

Nanodegree Program

Get hands-on practice with over 100 data structures and algorithm exercises and guidance from a dedicated mentor to help prepare you for interviews and on-the-job scenarios.

Get hands-on practice with over 100 data structures and algorithm exercises and guidance from a dedicated mentor to help prepare you for interviews and on-the-job scenarios.

  • Intermediate

  • 47 hours

  • Last Updated March 31, 2025

Skills you'll learn:

Basic algorithmsTree searchSorting algorithmsBasic PythonGraph algorithmsDepth-first searchGraph data structureA* search algorithmBreadth-first search

Prerequisites:

Basic PythonElementary algebra

Intermediate

47 hours

Last Updated March 31, 2025

Skills you'll learn:

Basic algorithms • Tree search • Sorting algorithms • Basic Python

Prerequisites:

Basic Python • Elementary algebra

Courses In This Program

Course 1 4 hours

Introduction

Start with a warm welcome to the program by refreshing your Python skills and learning about problem solving and efficiency!

Lesson 1

Get Help with Your Account

What to do if you have questions about your account or general questions about the program.

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

Introduction

Welcome to the Data Structures and Algorithms nanodegree program!

Lesson 4

Python Refresher

A quick refresh on Python basics!

Lesson 5

How to Solve Problems

A systematic way of approaching and breaking down problems.

Lesson 6

Efficiency

Understanding the importance of efficiency when working with data structures and algorithms.

Lesson 7 • Project

Unscramble Computer Science Problems

Deconstruct a series of open-ended problems into smaller components (e.g, inputs, outputs, series of functions).

Course 2 16 hours

Data Structures

Learn about the core data structures used in programming.

Lesson 1

Introduction to Data Structures

Introduction to the Data Structures course.

Lesson 2

Arrays and Linked Lists

Learn about Arrays and Linked Lists

Lesson 3

Stacks and Queues

Build Stacks and Queues

Lesson 4

Recursion

Apply Recursion to Problems

Lesson 5

Trees

Learn about basic tree's, tree traversal and binary search trees.

Lesson 6

Maps and Hashing

Explore the concepts of maps and hashes.

Lesson 7 • Project

Show Me the Data Structures

Solve a series of open-ended practice problems. Hone your skills to identify and implement appropriate data structures and corresponding methods that meet given constraints.

Course 3 13 hours

Basic Algorithms

Learn about the basic algorithms used in programming.

Lesson 1

Basic Algorithms

Start out with some elementary algorithms such as binary search, tries, heaps and more.

Lesson 2

Sorting Algorithms

Learn about the most common sorting algorithms.

Lesson 3

Faster Divide & Conquer Algorithms

Go deeper into algorithms with faster divide and conquer algorithms.

Lesson 4 • Project

Problems vs. Algorithms

A series of real-world open ended problems which train you to apply suitable data structures and algorithms under different context.

Course 4 14 hours

Advanced Algorithms

Learn about the basic algorithms used in programming.

Lesson 1

Greedy Algorithms

Get familiar with and practice greedy algorithms.

Lesson 2

Graph Algorithms

Learn about the many aspects of graph algorithms!

Lesson 3

Dynamic Programming

Learn about dynamic programming and apply your learnings to challenging exercises.

Lesson 4

A*

Lesson 5 • Project

Route Planner

In this project, you will build a route-planning algorithm like the one used in Google Maps to calculate the shortest path between two points on a map.

(Optional) Course 5 16 hours

Introduction to Python Programming

Review fundamental Python programming syntax and concepts.

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.

Taught By The Best

Photo of Kyle Stewart-Franz

Kyle Stewart-Franz

Content Developer

Kyle has developed projects for a variety of Udacity's Nanodegree programs, such as Self-Driving Car Engineer, Robotics, and Blockchain. Kyle, a self-taught developer, is always striving towards creating great learning experience for students.

Photo of  Abe Feinberg

Abe Feinberg

Content Developer

Abe is a Content Developer at Udacity and previously taught university courses in psychology and computer science. He loves both learning and teaching, and has a particular passion for breaking down difficult concepts and making them easier to master.

Photo of Brynn Claypoole

Brynn Claypoole

Instructor

Brynn is a former Udacity employee who worked as Lead Data Analyst at Udacity before joining Facebook as Data Engineer. Currently, she is working as software engineer with 10x Genomics.

Student Reviews

Average Rating: 4.7 Stars

530 Reviews

Ziyuan

September 2, 2024

Very helpful for learning this topic, with a decent amount of exercises. Some problems are challenging, but they improved my skills once I worked through them. I suggest that this Nanodegree add even more practice problems for the concepts learned and also include a few more advanced topics. Overall, it is very good.

customer

August 13, 2023

The first lesson is very good and clearly moving with a smooth way to declare a general approach taken to solve any kind of problems we face.

Sai Y.

January 3, 2023

Excellent

Iyamu H.

October 22, 2022

The program is fantastic, it really explains the concepts to me like a dummy, and with all the practice problems with progressively increasing complexity the concepts stick as I write more code. Would recommend this to anyone trying to master DSA

Anqi B.

October 6, 2022

Great content provided and organized. Beyond my expectation.

Page 1 of 106

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 Data Structures and Algorithms. 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

  1. 1Discount applies to the first 4 months of membership, after which plans are converted to month-to-month.

Your subscription also includes:

C++

(809)

62 hours

Intermediate