Course 1: Introduction Start with a warm welcome to the program by refreshing your Python skills and learning about problem solving and efficiency! 4 hoursGet Help with Your AccountWhat to do if you have questions about your account or general questions about the program.Getting HelpYou are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.IntroductionWelcome to the Data Structures and Algorithms nanodegree program!Python RefresherA quick refresh on Python basics! How to Solve ProblemsA systematic way of approaching and breaking down problems. EfficiencyUnderstanding the importance of efficiency when working with data structures and algorithms. Unscramble Computer Science ProblemsDeconstruct a series of open-ended problems into smaller components (e.g, inputs, outputs, series of functions). Course 2: Data Structures Explore core data structures in Python, from arrays and linked lists to trees and hash maps. Strengthen your coding logic, recursion skills, and ability to solve real programming problems.16 hoursIntroduction to Data StructuresIntroduction to the Data Structures course.Arrays and Linked ListsLearn about Arrays and Linked ListsStacks and QueuesBuild Stacks and QueuesRecursionApply Recursion to ProblemsTreesLearn about basic tree's, tree traversal and binary search trees. Maps and HashingExplore the concepts of maps and hashes. Show Me the Data StructuresSolve 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: Basic Algorithms Learn about the basic algorithms used in programming. 13 hoursBasic AlgorithmsStart out with some elementary algorithms such as binary search, tries, heaps and more.Sorting AlgorithmsLearn about the most common sorting algorithms. Faster Divide & Conquer AlgorithmsGo deeper into algorithms with faster divide and conquer algorithms. Problems vs. AlgorithmsA series of real-world open ended problems which train you to apply suitable data structures and algorithms under different context.Course 4: Advanced Algorithms Learn about the basic algorithms used in programming. 14 hoursGreedy AlgorithmsGet familiar with and practice greedy algorithms. Graph AlgorithmsLearn about the many aspects of graph algorithms!Dynamic Programming Learn about dynamic programming and apply your learnings to challenging exercises. A*Route PlannerIn 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. Course 5: OptionalIntroduction to Python Programming OptionalReview fundamental Python programming syntax and concepts.16 hoursWhy Python ProgrammingWelcome to Introduction to Python! Here's an overview of the course.Data Types and OperatorsFamiliarize yourself with the building blocks of Python! Learn about data types and operators, built-in functions, type conversion, whitespace, and style guidelines.Data Structures in PythonUse 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.Control FlowBuild logic into your code with control flow tools! Learn about conditional statements, repeating code with loops and useful built-in functions, and list comprehensions.FunctionsLearn how to use functions to improve and reuse your code! Learn about functions, variable scope, documentation, lambda expressions, iterators, and generators.ScriptingSet up your own programming environment to write and run Python scripts locally! Learn good scripting practices, interact with different inputs, and discover awesome tools.NumPyLearn the basics of NumPy and how to use it to create and manipulate arrays.PandasLearn the basics of Pandas Series and DataFrames and how to use them to load and process data.Advanced TopicsIn 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.CompanyAbout Us Why Udacity? Blog In the News Jobs at Udacity Become a Mentor Partner with Udacity ResourcesCatalog Career Outcomes Help and FAQ Scholarships Resource Center Udacity SchoolsSchool of Artificial Intelligence School of Autonomous Systems School of Business School of Cloud Computing School of Cybersecurity School of Data Science School of Executive Leadership School of Product Management School of Programming and Development Career Resources Featured ProgramsBusiness Analytics SQL AWS Cloud Architect Data Analyst Intro to Programming Digital Marketing Self Driving Car Engineer Only at UdacityArtificial Intelligence Deep Learning Digital Marketing Flying Car and Autonomous Flight Engineer Intro to Self-Driving Cars Machine Learning Engineer Robotics Software Engineer