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

2 months

Real-world Projects

Completion Certificate

Last Updated September 13, 2024

Skills you'll learn:

Basic algorithms • Tree search • Sorting algorithms • Basic Python

Prerequisites:

Basic Python • Elementary algebra

Courses In This Program

Course 1 6 days

Introduction

Lesson 1

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 3 weeks

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

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 3 weeks

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 3 weeks

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

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.

Taught By The Best

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.

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.

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.

Ratings & Reviews

Average Rating: 4.7 Stars

498 Reviews

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.

Partha G.

July 24, 2022

Yes. This is meeting my expectations.

Carlos M.

May 19, 2022

I loved this project, it takes you from zero to hero with really detailed information

Page 1 of 99

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

Unlock access to .css-15mt56z{font-weight:500;color:var(--chakra-colors-blue-500);}Data Structures and Algorithms and the rest of our best-in-class catalog

• Real-world projects

• Personalized project reviews

• Program certificates

• Proven career outcomes

Full Catalog Access

One subscription opens up this course and our entire catalog of projects and skills.

4 Months

*

Average time to complete a Nanodegree program

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

(807)

2 months

, Beginner

3 weeks

, Intermediate

(449)

3 months

, Intermediate

(729)

3 months

, Intermediate

2 months

, Beginner

(47)

2 months

, Beginner

2 months

, Beginner

(93)

2 months

, Intermediate

4 weeks

, Beginner

1 month

, Beginner

(87)

3 months

1 week

1 month

, Beginner

(1194)

3 months

, Beginner

(115)

3 months

, Beginner

(496)

4 months