Skills you'll learn:
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
Last Updated January 14, 2025
Prerequisites:
Intermediate
2 months
Last Updated January 14, 2025
Skills you'll learn:
Prerequisites:
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 • 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
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 • 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
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.
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.
Student Reviews
Average Rating: 4.7 Stars
530 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
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
Unlimited access to our top-rated courses
Personalized Career Services
Cancel Anytime
Real-world projects
Personalized project reviews
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
3 weeks
Intermediate
(498)
3 months
Intermediate
(809)
3 months
Intermediate
2 months
Beginner
(51)
2 months
Beginner
(1)
3 months
Beginner
(113)
2 months
Intermediate
4 weeks
Beginner
1 month
Beginner
(101)
3 months
Advanced
2 weeks
Advanced
1 month
Beginner
(1243)
3 months
Beginner
(129)
3 months
Beginner
4 months
Advanced