- Software Testing
- Data Structure
- Computer Programming
- Dynamic Programming
- Binary Search Tree
- Priority Queue
- Hash Table
- Stack (Abstract Data Type)
- Graph Theory
Data Structures and Algorithms Specialization
Master Algorithmic Programming Techniques. Advance your Software Engineering or Data Science Career by Learning Algorithms through Programming and Puzzle Solving. Ace coding interviews by implementing each algorithmic challenge in this Specialization. Apply the newly-learned algorithmic techniques to real-life problems, such as analyzing a huge social network or sequencing a genome of a deadly pathogen.
What you will learn
Play with 50 algorithmic puzzles on your smartphone to develop your algorithmic intuition! Apply algorithmic techniques (greedy algorithms, binary search, dynamic programming, etc.) and data structures (stacks, queues, trees, graphs, etc.) to solve 100 programming challenges that often appear at interviews at high-tech companies. Get an instant feedback on whether your solution is correct.
Apply the newly learned algorithms to solve real-world challenges: navigating in a Big Network or assembling a genome of a deadly pathogen from millions of short substrings of its DNA.
Learn exactly the same material as undergraduate students in “Algorithms 101” at top universities and more! We are excited that students from various parts of the world are now studying our online materials in the Algorithms 101 classes at their universities. Here is a quote from the website of Professor Sauleh Eetemadi from Iran University of Science and Technology: “After examining syllabus and course material from top universities including Stanford, Princeton and MIT we have chosen to follow the Data Structures and Algorithms Specialization from UCSD...due to excellent course material and its practical approach.”
If you decide to venture beyond Algorithms 101, try to solve more complex programming challenges (flows in networks, linear programming, streaming algorithms, etc.) and complete an equivalent of a graduate course in algorithms!
Skills you will gain
About this Specialization
Applied Learning Project
The specialization contains two real-world projects: Big Networks and Genome Assembly. You will analyze both road networks and social networks and will learn how to compute the shortest route between New York and San Francisco 1000 times faster than the shortest path algorithms you learn in the standard Algorithms 101 course! Afterwards, you will learn how to assemble genomes from millions of short fragments of DNA and how assembly algorithms fuel recent developments in personalized medicine.
How the Specialization Works
A Coursera Specialization is a series of courses that helps you master a skill. To begin, enroll in the Specialization directly, or review its courses and choose the one you'd like to start with. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. It’s okay to complete just one course — you can pause your learning or end your subscription at any time. Visit your learner dashboard to track your course enrollments and your progress.
Every Specialization includes a hands-on project. You'll need to successfully finish the project(s) to complete the Specialization and earn your certificate. If the Specialization includes a separate course for the hands-on project, you'll need to finish each of the other courses before you can start it.
Earn a Certificate
When you finish every course and complete the hands-on project, you'll earn a Certificate that you can share with prospective employers and your professional network.
There are 6 Courses in this Specialization
Algorithms on Graphs
Algorithms on Strings
Frequently Asked Questions
What is the refund policy?
Can I just enroll in a single course?
Is financial aid available?
Can I take the course for free?
Is this course really 100% online? Do I need to attend any classes in person?
What will I be able to do upon completing the Specialization?
What background knowledge is necessary?
What is the difference between this course and other courses covering algorithms?
How long does it take to complete the Specialization?
How often is each course in the Specialization offered?
What background knowledge is necessary?
Do I need to take the courses in a specific order?
Will I earn university credit for completing the Specialization?
Do I need to buy a textbook for this specialization?
More questions? Visit the Learner Help Center.