Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
20 views

Data Structures and Algorithms Syllabus

Uploaded by

Divya sree
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Data Structures and Algorithms Syllabus

Uploaded by

Divya sree
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

INDIVIDUAL LEARNERS

SCHOOL OF PROGRAMMING & DEVELOPMENT

Data Structures
& Algorithms
Nanodegree Program Syllabus
Overview
The Data Structures and Algorithms Nanodegree program will help learners 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 one’s own
private blockchain or writing a web crawler. In this program, students will learn data structures and algorithms by solving
over 80 practice problems. Learners will begin each course by learning to solve defined problems related to a particular data
structure and algorithm. By the end of each course, learners will would be able to evaluate and assess different data structures
and algorithms for any open-ended problem and implement a solution based on the design choices.

Program information

Estimated Time Skill Level

4 months at 10hrs/week* Intermediate

Prerequisites

A well-prepared learner should have intermediate Python programming knowledge and basic algebra skills.

Required Hardware/Software

Learners need access to the internet and a 64-bit computer and the following software:

• Python 3 • A web browser

• A code/text editor, such as vim, Sublime Text, Atom, or VSCode • A command line interface, such as Terminal (on
Mac) or Git Bash (on Windows)

*The length of this program is an estimation of total hours the average student may take to complete all required
coursework, including lecture and project time. If you spend about 5-10 hours per week working through the program, you
should finish within the time provided. Actual hours may vary.

Data Structures & Algorithms 2


Course 1

Introduction
Get an overview of your program. Meet the instructors, and refresh one’s Python skills. Learn the framework to deconstruct
any open-ended problem and then understand the concepts of time and space complexity, essential tools for evaluating
different data structures and algorithms.

Course Project

Unscramble Computer Science Problems


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

Lesson 1

Introduction

Lesson 2

Python Refresher

Lesson 3

How to Solve Problems

Lesson 4

Big Notation

Data Structures & Algorithms 3


Course 2

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 interviews or in real-world scenarios) and select appropriate data structures based
on requirements.

Course Project

Show Me the Data Structures


Solve a series of open-ended practice problems such as LRU cache, private blockchain, file recursion and
many more. Hone the skills to identify and implement appropriate data structures and corresponding
methods which meet given constraints.

Lesson 1

Collection Data Structures (lists,


arrays, linked lists, queues, stack) • Reverse Strings

• Hamming Distance

Lesson 2 • Reverse a Linked List

• Linked List Loop Detection,


Recursion
• Balancing Brackets

• Building Queue using Stacks


Lesson 3
• Tree Traversals
Trees • Checking Binary Search Tree

• String Key Hash table

Lesson 4

Maps & Hashing

Data Structures & Algorithms 4


Course 3

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.

Course Project

Problems vs. Algorithms


A series of real-world open ended problems such as request routing for web server, search term
autocompletion and Fibonacci heap which train learners to apply suitable data structures and algorithms
under different context.

Lesson 1

Binary Search
• Randomized Binary Search

• K-smallest elements using Heaps


Lesson 2
• Build Red-Black Tree
Sorting Algorithms
• Bubble sort, merge sort, quick sort, sorting strings

• Linear-time median finding

Lesson 3

Divide & Conquer Algorithms

Data Structures & Algorithms 5


Course 4

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

Course Project

Route Planner
In this project, learners will build a route-planning algorithm like the one used in Google Maps to calculate
the shortest path between two points on a map. Learners will first select and implement the appropriate
data structure to represent points on a map and then implement the A* algorithm to find shortest path.

Lesson 1

Greedy Algorithms

Lesson 2 • Graph Traversals

• Dijkstra’s Algorithm
Graph Algorithms
• Shortest Hops

• A* Search
Lesson 3
• Longest Palindromic subsequence

Dynamic Programming • Web crawler

Lesson 4

Linnear Programming

Data Structures & Algorithms 6


Meet your instructors.

Brynn Claypoole
Instructor

Brynn is a former Udacity employee who worked as lead data analyst at Udacity before joining
Facebook as a data engineer. Currently, she is working as a software engineer with 10x Genomics.

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.

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.

Data Structures & Algorithms 7


Udacity’s learning
experience

Hands-on Projects Quizzes


Open-ended, experiential projects are designed Auto-graded quizzes strengthen comprehension.
to reflect actual workplace challenges. They aren’t Learners can return to lessons at any time during
just multiple choice questions or step-by-step the course to refresh concepts.
guides, but instead require critical thinking.

Knowledge Custom Study Plans


Find answers to your questions with Knowledge, Create a personalized study plan that fits your
our proprietary wiki. Search questions asked by individual needs. Utilize this plan to keep track of
other students, connect with technical mentors, movement toward your overall goal.
and discover how to solve the challenges that
you encounter.

Workspaces Progress Tracker


See your code in action. Check the output and Take advantage of milestone reminders to stay
quality of your code by running it on interactive on schedule and complete your program.
workspaces that are integrated into the platform.

Data Structures & Algorithms 8


Our proven approach for building
job-ready digital skills.
Experienced Project Reviewers

Verify skills mastery.


• Personalized project feedback and critique includes line-by-line code review from
skilled practitioners with an average turnaround time of 1.1 hours.

• Project review cycle creates a feedback loop with multiple opportunities for
improvement—until the concept is mastered.

• Project reviewers leverage industry best practices and provide pro tips.

Technical Mentor Support

24/7 support unblocks learning.


• Learning accelerates as skilled mentors identify areas of achievement and potential
for growth.

• Unlimited access to mentors means help arrives when it’s needed most.

• 2 hr or less average question response time assures that skills development stays on track.

Personal Career Services

Empower job-readiness.
• Access to a Github portfolio review that can give you an edge by highlighting your
strengths, and demonstrating your value to employers.*

• Get help optimizing your LinkedIn and establishing your personal brand so your profile
ranks higher in searches by recruiters and hiring managers.

Mentor Network

Highly vetted for effectiveness.


• Mentors must complete a 5-step hiring process to join Udacity’s selective network.

• After passing an objective and situational assessment, mentors must demonstrate


communication and behavioral fit for a mentorship role.

• Mentors work across more than 30 different industries and often complete a Nanodegree
program themselves.

*Applies to select Nanodegree programs only.

Data Structures & Algorithms 9


Learn more at
www.udacity.com/online-learning-for-individuals →

12.02.22 | V1.0

You might also like