Algorithms Specialization by Stanford University (Coursera)
Stanford University offers this Coursera Algorithms concentration as a MOOC. Understanding the fundamentals of algorithms and related data structures is required for serious work in practically any field of computer science. As a result, Stanford has included a variation of this course in the curriculum of every Computer Science degree program - bachelor's, master's, and PhD.
Instead of getting into mathematical details and low-level implementation right away, this specialization introduces learners to algorithms and focuses on conceptual understanding. It aids in the development of participants' programming and thinking skills, preparing them to pursue serious software engineering, ace technical interviews, and study more difficult themes in algorithms. There are 4 courses in this program that cover following topics:
- Asymptotic (“Big-oh”) notation, sorting and searching algorithms
- Master method for analyzing divide and conquer algorithms
- QuickSort algorithm and its analysis
- Data structures like heaps, balanced search trees, hash tables, bloom filters
- Dijkstra’s shortest-path algorithm
- Breadth-first and depth-first search and its applications
- Greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes)
- Dynamic programming (knapsack, sequence alignment, optimal search trees)
- Shortest paths algorithms (Bellman-Ford, Floyd-Warshall, Johnson)
- NP-complete problems and exact and approximation algorithms for them
- Local search algorithms for NP-complete problems
- Strategies for coping with computationally intractable problems like analysis of heuristics
These courses contain a variety of assessments, ranging from multiple-choice quizzes at the end of each module and course to weekly programming assignments in which students must implement the algorithms taught in the lesson in a programming language of their choice. It is assumed that students are familiar with at least one programming language (like C, Java or Python).
Key Highlights
- Master the fundamentals of the design and analysis of algorithms
- Content covered is rigorous but emphasizes the big picture and conceptual understanding
- Taught by Prof. Tim Roughgarden, a renowned and award-winning professor of Computer Science at Stanford University
- One of the highest rated algorithms course on Coursera
- Appeared on various top MOOCs of all time lists
Duration : 16 weeks, 3 hours per week
Google Rating : 4.8/5.0
Enroll here: coursera.org/specializations/algorithms