Coursera – Data Structures and Algorithms Specialization
English | Tutorial | Size: 6.50 GB
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.
About this Specialization
Computer science legend Donald Knuth once said “I don’t understand things unless I try to program them.” We also believe that the best way to learn an algorithm is to program it. However, many excellent books and online courses on algorithms, that excel in introducing algorithmic ideas, have not yet succeeded in teaching you how to implement algorithms, the crucial computer science skill that you have to master at your next job interview. We tried to fill this gap by forming a diverse team of instructors that includes world-leading experts in theoretical and applied algorithms at UCSD (Daniel Kane, Alexander Kulikov, and Pavel Pevzner) and a former software engineer at Google (Neil Rhodes). This unique combination of skills makes this Specialization different from other excellent MOOCs on algorithms that are all developed by theoretical computer scientists. While these MOOCs focus on theory, our Specialization is a mix of algorithmic theory/practice/applications with software engineering.
You will learn algorithms by implementing nearly 100 coding problems in a programming language of your choice. To the best of knowledge, no other online course in Algorithms comes close to offering you a wealth of programming challenges (and puzzles!) that you may face at your next job interview. We invested over 3000 hours into designing our challenges as an alternative to multiple choice questions that you usually find in MOOCs.
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
– 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
– Software Testing
– Data Structure
– Computer Programming
– Dynamic Programming
– Binary Search Tree
– Priority Queue
– Hash Table
– Stack (Abstract Data Type)
– Graph Theory
There are 6 Courses in this Specialization
1. Algorithmic Toolbox
2. Data Structures
3. Algorithms on Graphs
4. Algorithms on Strings
5. Advanced Algorithms and Complexity
6. Genome Assembly Programming Challenge
Neil Rhodes, Daniel M Kane, Pavel Pevzner, Michael Levin (Visiting Scholar), Michael Levin (Lecturer), Alexander S. Kulikov
Offered by University of California San Diego