Nanodegree Program

Data Structures and Algorithms

Ace technical coding interviews
Get hands-on practice with over 100 data structures and algorithm exercises and technical mentor support when needed to help prepare you for interviews and on-the-job scenarios.
Enroll Now
  • DAYS
  • HRS
  • MIN
  • SEC
  • Estimated Time
    4 Months

    At 10 hrs/week

  • Enroll by
    October 20, 2021

    Get access to classroom immediately on enrollment

  • Prerequisites
    Python and Basic Algebra

Syllabus

Syllabus

Data Structures & Algorithms

In this course you will learn data structures and algorithms by solving 80+ practice problems. You will begin each course by learning to solve defined problems related to a particular data structure and algorithm. By the end of each course, you would be able to evaluate and assess different data structures and algorithms for any open-ended problem and implement a solution based on your design choices.

Learn data structures and algorithms by solving 100+ practice problems.

Related Nanodegrees
Prerequisite Knowledge

Python & Basic Algebra.

  • Introduction

    Get an overview of your program. Meet your instructors, and refresh your Python skills. Learn the framework to deconstruct any open-ended problem and then understand the concepts of time and space complexity.

  • Data Structures

    Learn different data structures that can be used to store data. Implement different methods used to manipulate these data structures and examine the efficiency. Understand the advantages and applications of different data structures. Learn how to approach open ended problems (either in interview or real-world) and select appropriate data structures based on requirements.

  • Basic Algorithms

    Learn and implement basic algorithms such as searching and sorting on different data structures and examine the efficiency of these algorithms. Use recursion to implement these algorithms and then learn how some of these algorithms can be implemented without recursion. Practice selecting and modifying these algorithms for a variety of interview problems.

  • Advanced Algorithms

    Build on your algorithm skills by learning more advanced algorithms such as brute-force greedy algorithms, graph algorithms, and dynamic programming which optimizes recursion by storing results to sub problems.

Icon - Dark upwards trend arrow
Data Structures and Algorithms questions are a key component of every technical interview for software engineers

All Our Programs Include

Real-world projects from industry experts

Real-world projects from industry experts

With real world projects and immersive content built in partnership with top tier companies, you’ll master the tech skills companies want.
Technical mentor support

Technical mentor support

Our knowledgeable mentors guide your learning and are focused on answering your questions, motivating you and keeping you on track.
Career Services

Career services

You’ll have access to resume support, Github portfolio review and LinkedIn profile optimization to help you advance your career and land a high-paying role.
Flexible learning program

Flexible learning program

Tailor a learning plan that fits your busy life. Learn at your own pace and reach your personal goals on the schedule that works best for you.
Program OfferingsFull list of offerings included:
Enrollment includes:
Class content
Real-world projects
icon-checkmarkCheckmark
Project reviews
icon-checkmarkCheckmark
Project feedback from experienced reviewers
icon-checkmarkCheckmark
Student Services
Technical mentor support
New
icon-checkmarkCheckmark
Student community
Improved
icon-checkmarkCheckmark
Career services
Resume support
icon-checkmarkCheckmark
Github review
icon-checkmarkCheckmark
Linkedin profile optimization
icon-checkmarkCheckmark
Succeed with Personalized Services
We provide services customized for your needs at every step of your learning journey to ensure your success!
Get timely feedback on your projects
Reviews By the numbers
1,400+ project reviewers
2.7M projects reviewed
88/100 reviewer rating
1.1 hours avg project review turnaround time
Reviewer Services
  • Personalized feedback
  • Unlimited submissions and feedback loops
  • Practical tips and industry best practices
  • Additional suggested resources to improve
Mentors available to answer your questions
Mentors by the numbers
1,400+ technical mentors
0.85 hours median response time
Mentorship Services
  • Support for all your technical questions
  • Questions answered quickly by our team of technical mentors

Top Student Reviews

 
0.0 stars
(0)
 
NaN stars

        

 
NaN stars

        

 
NaN stars

        

 
NaN stars

        

 
NaN stars

        

 
NaN stars

        

Data Structures & Algorithms

Get Started Today

  • Monthly Access

    Pay as you go


    per

    /

    /

    Enroll Now
    • Maximum flexibility to learn at your own pace.
    • Cancel anytime.
  • - access

    Pay upfront and save an extra 0%


    for - access

    Enroll Now
    • Save an extra 0% vs. pay as you go.
    • 4 months is the average time to complete this course.
    • Switch to monthly price after if more time is needed.
    • Cancel anytime.
    Best Value
  • Learn

    Ace technical coding interviews.
  • Average Time

    On average, successful students take 4 months to complete this program.
  • Benefits include

    • Real-world projects from industry experts
    • Technical mentor support
    • Career services

Program Details

PROGRAM OVERVIEW - WHY SHOULD I TAKE THIS PROGRAM?
  • Why should I enroll?
    Whether you want to be a web developer, a machine learning engineer, or a data scientist, having a deep understanding of Data Structures and Algorithms is essential to acing job interviews and becoming a successful software engineer. As Linus Torvalds famously said, "Bad programmers worry about the code. Good programmers worry about data structures and their relationships".
    The Data Structures and Algorithms Nanodegree program will help you excel at solving everything from well-defined problems, like how to calculate the efficiency of a specific algorithm, to more open-ended problems, like building your own private blockchain or writing a web-crawler.
    You’ll work on over 80 exercises and four real-world projects so that you can get the hands-on practice required to learn how to implement appropriate solutions based on your design choices.
  • What jobs will this program prepare me for?
    While this course is not designed to prepare you for a specific job, after completing this program, you will have had extensive practice solving data structures and algorithm problems to help you prepare for the data structures and algorithms part of coding interviews.
  • How do I know if this program is right for me?
    If you are looking to improve your skills in data structures and algorithms -- to prepare for the technical portion of job interviews, to improve your software engineering skills, etc. -- then this Nanodegree program will provide you with extensive practice with defined and open-ended problems so that you learn how to implement the appropriate solution based on your design choices.
  • Who built this Nanodegree program?
    This Nanodegree program was a collaboration between Udacity’s content and engineering teams, as well as industry experts.
    Curriculum Advisors
    • Mat Leonard, Product Lead, School of AI at Udacity

    Instructors
    • Brynn Claypoole, Software Engineer at 10x Genomics
    • Kyle Stewart Frantz, Content Developer at Udacity
    • Abe Feinberg, Content Developer at Udacity

    Other Udacity Contributors:
    • Dane Hammer, Robin Robin, James Bibby, Pradeep Uppala, Brok Bucholtz, Cezanne Camacho, Alan Anderson, Peiyan, David Harris, Stephen Welch, and Chris Gearhart
Enrollment and Admission
  • Do I need to apply? What are the admission criteria?
    There is no application. This Nanodegree program accepts everyone, regardless of experience and specific background.
  • What are the prerequisites for enrollment?
    To optimize your chances of success in the Data Structures and Algorithms Nanodegree program, you should have the following knowledge:
    • Intermediate Python programming

    • Basic algebra
  • If I do not meet the requirements to enroll, what should I do?
    If you are new to programming, we recommend the Introduction to Programming Nanodegree program.
Tuition and Term of Program
  • How is this Nanodegree program structured?
    The Data Structures and Algorithms Nanodegree program is comprised of content and curriculum to support four (4) projects. We estimate that students can complete the program in four (4) months working 10 hours per week.
    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 length of time specified in the payment card above. If you do not graduate within that time period, you will continue learning with month to month payments. See the Terms of Use and FAQs for other policies regarding the terms of access to our Nanodegree programs.
  • Can I switch my start date? Can I get a refund?
    Please see the Udacity Program Terms of Use and FAQs for policies on enrollment in our programs.
SOFTWARE AND HARDWARE - WHAT DO I NEED FOR THIS PROGRAM?
  • What software and versions will I need in this program?
    Software/version requirements:
    • Python 3
    • A code/text editor, such as vim, Sublime Text, Atom, or VSCode
    • A web browser
    • A command line interface, such as Terminal (on Mac) or Git Bash (on Windows)

    Hardware Requirements:
    A modern personal computer running macOS, Windows, or Linux, with a high-speed Internet connection.

Data Structures and Algorithms

Learn fundamental software engineering skills.

Enroll Now