#
Best of Coursera

Top **Algorithms** Courses

in
Computer Science

These are the **top 45 Algorithms**
courses and offerings found from analyzing all discussions on
Reddit that mention any
Coursera course.

#1

Algorithms, Part I

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations.

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations.

Princeton University

Kevin Wayne

Kevin Wayne

1 reddit posts

385 mentions

385 mentions

#2

Algorithms
Specialization

Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth.

Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth.

Stanford University

Tim Roughgarden

Tim Roughgarden

1 reddit posts

189 mentions

189 mentions

#3

Build a Modern Computer from First Principles

From Nand to Tetris (Project-Centered Course)

What you’ll achieve: In this project-centered course* you will build a modern computer system, from the ground up.

From Nand to Tetris (Project-Centered Course)

What you’ll achieve: In this project-centered course* you will build a modern computer system, from the ground up.

Hebrew University of Jerusalem

Shimon Schocken

Shimon Schocken

7 reddit posts

207 mentions

207 mentions

#4

Data Structures and Algorithms
Specialization

This specialization is a mix of theory and practice: you will learn algorithmic techniques for solving various computational problems and will implement about 100 algorithmic coding problems in a programming language of your choice.

This specialization is a mix of theory and practice: you will learn algorithmic techniques for solving various computational problems and will implement about 100 algorithmic coding problems in a programming language of your choice.

University of California San Diego

Alexander S. Kulikov

Alexander S. Kulikov

3 reddit posts

219 mentions

219 mentions

#5

Algorithms, Part II

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations.

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations.

Princeton University

Robert Sedgewick

Robert Sedgewick

0 reddit posts

151 mentions

151 mentions

#6

Introduction to Discrete Mathematics for Computer Science
Specialization

Discrete Math is needed to see mathematical structures in the object you work with, and understand their properties.

Discrete Math is needed to see mathematical structures in the object you work with, and understand their properties.

University of California San Diego

Alexander S. Kulikov

Alexander S. Kulikov

0 reddit posts

41 mentions

41 mentions

#7

Algorithmic Toolbox

The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming.

The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming.

University of California San Diego

Alexander S. Kulikov

Alexander S. Kulikov

0 reddit posts

33 mentions

33 mentions

#8

Accelerated Computer Science Fundamentals
Specialization

Topics covered by this Specialization include basic object-oriented programming, the analysis of asymptotic algorithmic run times, and the implementation of basic data structures including arrays, hash tables, linked lists, trees, heaps and graphs, as well as algorithms for traversals, rebalancing a...

Topics covered by this Specialization include basic object-oriented programming, the analysis of asymptotic algorithmic run times, and the implementation of basic data structures including arrays, hash tables, linked lists, trees, heaps and graphs, as well as algorithms for traversals, rebalancing a...

University of Illinois at Urbana-Champaign

Wade Fagen-Ulmschneider

Wade Fagen-Ulmschneider

0 reddit posts

20 mentions

20 mentions

#9

Discrete Optimization

Tired of solving Sudokus by hand? This class teaches you how to solve complex search problems with discrete optimization concepts and algorithms, including constraint programming, local search, and mixed-integer programming.

Tired of solving Sudokus by hand? This class teaches you how to solve complex search problems with discrete optimization concepts and algorithms, including constraint programming, local search, and mixed-integer programming.

The University of Melbourne

Professor Pascal Van Hentenryck

Professor Pascal Van Hentenryck

0 reddit posts

23 mentions

23 mentions

#10

Data Structures

A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently.

A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently.

University of California San Diego

Alexander S. Kulikov

Alexander S. Kulikov

0 reddit posts

38 mentions

38 mentions

#11

Data Structures and Performance

How do Java programs deal with vast quantities of data? Many of the data structures and algorithms that work with introductory toy examples break when applications process real, large data sets.

How do Java programs deal with vast quantities of data? Many of the data structures and algorithms that work with introductory toy examples break when applications process real, large data sets.

University of California San Diego

Christine Alvarado

Christine Alvarado

0 reddit posts

22 mentions

22 mentions

#12

Divide and Conquer, Sorting and Searching, and Randomized Algorithms

The primary topics in this part of the specialization are: asymptotic ("Big-oh") notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest pair), and randomized algorithms (QuickSort, contraction algorithm for min cuts).

The primary topics in this part of the specialization are: asymptotic ("Big-oh") notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest pair), and randomized algorithms (QuickSort, contraction algorithm for min cuts).

Stanford University

Tim Roughgarden

Tim Roughgarden

1 reddit posts

12 mentions

12 mentions

#13

Advanced Data Structures in Java

How does Google Maps plan the best route for getting around town given current traffic conditions? How does an internet router forward packets of network traffic to minimize delay? How does an aid group allocate resources to its affiliated local partners? To solve such problems, we first represen...

How does Google Maps plan the best route for getting around town given current traffic conditions? How does an internet router forward packets of network traffic to minimize delay? How does an aid group allocate resources to its affiliated local partners? To solve such problems, we first represen...

University of California San Diego

Leo Porter

Leo Porter

0 reddit posts

16 mentions

16 mentions

#14

Analysis of Algorithms

This course teaches a calculus that enables precise quantitative predictions of large combinatorial structures.

This course teaches a calculus that enables precise quantitative predictions of large combinatorial structures.

Princeton University

Robert Sedgewick

Robert Sedgewick

0 reddit posts

9 mentions

9 mentions

#15

Computer Science

Algorithms, Theory, and Machines

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming.

Algorithms, Theory, and Machines

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming.

Princeton University

Robert Sedgewick

Robert Sedgewick

0 reddit posts

11 mentions

11 mentions

#16

Approximation Algorithms Part I

Approximation algorithms, Part I How efficiently can you pack objects into a minimum number of boxes? How well can you cluster nodes so as to cheaply separate a network into components around a few centers? These are examples of NP-hard combinatorial optimization problems.

Approximation algorithms, Part I How efficiently can you pack objects into a minimum number of boxes? How well can you cluster nodes so as to cheaply separate a network into components around a few centers? These are examples of NP-hard combinatorial optimization problems.

École normale supérieure

Claire Mathieu

Claire Mathieu

0 reddit posts

12 mentions

12 mentions

#17

面向对象技术高级课程（The Advanced Object-Oriented Technology）

如果将软件开发人员看作行走江湖的武侠，那么各种软件开发技术就是武侠赖以傍身的武术秘籍。有的秘籍以易学灵巧见长，练习者很快掌握，并有立竿见影的功效，但失之厚重持久；有的秘籍初学乍练顿显困难，虽冥思苦解仍不得要领，需坚持不断的内功修炼方成正果，却是成为武林大侠必备的至宝。本课程有些类似于后者。 《面向对象技术高级课程》深入、系统、完整地讲解当今主流的面向对象软件开发方法的分析、设计、实现及重构方法，深入讲解UML语言的高级技术细节，以及近年来面向对象方法最新的发展趋势。课程集百家之所言，并结合主讲者最新的研究成果，并通过大量、丰富、完整、不同领域、应用不同技术的案例将其中的关键知识点串联起来，便...

如果将软件开发人员看作行走江湖的武侠，那么各种软件开发技术就是武侠赖以傍身的武术秘籍。有的秘籍以易学灵巧见长，练习者很快掌握，并有立竿见影的功效，但失之厚重持久；有的秘籍初学乍练顿显困难，虽冥思苦解仍不得要领，需坚持不断的内功修炼方成正果，却是成为武林大侠必备的至宝。本课程有些类似于后者。 《面向对象技术高级课程》深入、系统、完整地讲解当今主流的面向对象软件开发方法的分析、设计、实现及重构方法，深入讲解UML语言的高级技术细节，以及近年来面向对象方法最新的发展趋势。课程集百家之所言，并结合主讲者最新的研究成果，并通过大量、丰富、完整、不同领域、应用不同技术的案例将其中的关键知识点串联起来，便...

Peking University

蒋 严冰

蒋 严冰

0 reddit posts

3 mentions

3 mentions

#18

算法设计与分析 Design and Analysis of Algorithms

课程教学目标 针对实际问题需求，进行数学建模并选择高效求解算法的训练，为提高学生的素质和创新能力打下必要的基础。主要内容涉及：面对实际问题建立数学模型、设计正确的求解算法、算法的效率估计、改进算法的途径、问题计算复杂度的估计、难解问题的确定和应对策略等等。本课程是算法课程的基础部分，主要涉及算法的设计、分析与改进途径，其他有关计算复杂性的内容将在后续课程中加以介绍。 课程内容安排 本课程的内容分成两大部分：算法的基础知识、通用算法设计技术与分析方法。 第一部分是算法基础知识，约占20%，主要介绍算法相关的基本概念和数学基础。比如，什么是算法的伪码描述？什么是算法最坏情况下和平均情况下的...

课程教学目标 针对实际问题需求，进行数学建模并选择高效求解算法的训练，为提高学生的素质和创新能力打下必要的基础。主要内容涉及：面对实际问题建立数学模型、设计正确的求解算法、算法的效率估计、改进算法的途径、问题计算复杂度的估计、难解问题的确定和应对策略等等。本课程是算法课程的基础部分，主要涉及算法的设计、分析与改进途径，其他有关计算复杂性的内容将在后续课程中加以介绍。 课程内容安排 本课程的内容分成两大部分：算法的基础知识、通用算法设计技术与分析方法。 第一部分是算法基础知识，约占20%，主要介绍算法相关的基本概念和数学基础。比如，什么是算法的伪码描述？什么是算法最坏情况下和平均情况下的...

Peking University

Wanling Qu

Wanling Qu

2 reddit posts

414 mentions

414 mentions

#19

Advanced Algorithms and Complexity

You've learned the basic algorithms now and are ready to step into the area of more complex problems and algorithms to solve them.

You've learned the basic algorithms now and are ready to step into the area of more complex problems and algorithms to solve them.

University of California San Diego

Alexander S. Kulikov

Alexander S. Kulikov

0 reddit posts

5 mentions

5 mentions

#20

VLSI CAD Part I

Logic

A modern VLSI chip has a zillion parts -- logic, control, memory, interconnect, etc.

Logic

A modern VLSI chip has a zillion parts -- logic, control, memory, interconnect, etc.

University of Illinois at Urbana-Champaign

Rob A. Rutenbar

Rob A. Rutenbar

0 reddit posts

6 mentions

6 mentions

#21

Big Data Analysis with Scala and Spark

Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas.

Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas.

École Polytechnique Fédérale de Lausanne

Prof. Heather Miller

Prof. Heather Miller

1 reddit posts

4 mentions

4 mentions

#22

Algorithms on Graphs

If you have ever used a navigation service to find optimal route and estimate time to destination, you've used algorithms on graphs.

If you have ever used a navigation service to find optimal route and estimate time to destination, you've used algorithms on graphs.

University of California San Diego

Alexander S. Kulikov

Alexander S. Kulikov

0 reddit posts

5 mentions

5 mentions

#23

Approximation Algorithms Part II

Approximation algorithms, Part 2 This is the continuation of Approximation algorithms, Part 1.

Approximation algorithms, Part 2 This is the continuation of Approximation algorithms, Part 1.

École normale supérieure

Claire Mathieu

Claire Mathieu

0 reddit posts

7 mentions

7 mentions

#24

Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

The primary topics in this part of the specialization are: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes) and dynamic programming (knapsack, sequence alignment, optimal search trees).

The primary topics in this part of the specialization are: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes) and dynamic programming (knapsack, sequence alignment, optimal search trees).

Stanford University

Tim Roughgarden

Tim Roughgarden

0 reddit posts

6 mentions

6 mentions

#25

Cloud Computing Concepts, Part 1

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies – all centered around distributed systems.

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies – all centered around distributed systems.

University of Illinois at Urbana-Champaign

Indranil Gupta

Indranil Gupta

0 reddit posts

9 mentions

9 mentions

#26

Algorithms on Strings

World and internet is full of textual information.

World and internet is full of textual information.

University of California San Diego

Alexander S. Kulikov

Alexander S. Kulikov

0 reddit posts

4 mentions

4 mentions

#27

Cloud Computing Concepts

Part 2

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies – all centered around distributed systems.

Part 2

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies – all centered around distributed systems.

University of Illinois at Urbana-Champaign

Indranil Gupta

Indranil Gupta

0 reddit posts

5 mentions

5 mentions

#28

Graph Search, Shortest Paths, and Data Structures

The primary topics in this part of the specialization are: data structures (heaps, balanced search trees, hash tables, bloom filters), graph primitives (applications of breadth-first and depth-first search, connectivity, shortest paths), and their applications (ranging from deduplication to social n...

The primary topics in this part of the specialization are: data structures (heaps, balanced search trees, hash tables, bloom filters), graph primitives (applications of breadth-first and depth-first search, connectivity, shortest paths), and their applications (ranging from deduplication to social n...

Stanford University

Tim Roughgarden

Tim Roughgarden

0 reddit posts

4 mentions

4 mentions

#29

Computational Thinking for Problem Solving

Computational thinking is the process of approaching a problem in a systematic manner and creating and expressing a solution such that it can be carried out by a computer.

Computational thinking is the process of approaching a problem in a systematic manner and creating and expressing a solution such that it can be carried out by a computer.

University of Pennsylvania

Susan Davidson

Susan Davidson

1 reddit posts

6 mentions

6 mentions

#30

Addressing Large Hadron Collider Challenges by Machine Learning

The Large Hadron Collider (LHC) is the largest data generation machine for the time being.

The Large Hadron Collider (LHC) is the largest data generation machine for the time being.

National Research University Higher School of Economics

Andrei Ustyuzhanin

Andrei Ustyuzhanin

0 reddit posts

3 mentions

3 mentions

#31

Combinatorics and Probability

Counting is one of the basic mathematically related tasks we encounter on a day to day basis.

Counting is one of the basic mathematically related tasks we encounter on a day to day basis.

University of California San Diego

Alexander S. Kulikov

Alexander S. Kulikov

0 reddit posts

2 mentions

2 mentions

#32

Deep Learning in Computer Vision

Deep learning added a huge boost to the already rapidly developing field of computer vision.

Deep learning added a huge boost to the already rapidly developing field of computer vision.

National Research University Higher School of Economics

Anton Konushin

Anton Konushin

0 reddit posts

1 mentions

1 mentions

#33

Programming Fundamentals

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields.

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields.

Duke University

Andrew D. Hilton

Andrew D. Hilton

0 reddit posts

4 mentions

4 mentions

#34

VLSI CAD Part II

Layout

You should complete the VLSI CAD Part I: Logic course before beginning this course.

Layout

You should complete the VLSI CAD Part I: Logic course before beginning this course.

University of Illinois at Urbana-Champaign

Rob A. Rutenbar

Rob A. Rutenbar

0 reddit posts

1 mentions

1 mentions

#35

Excel/VBA for Creative Problem Solving, Part 1

"Excel/VBA for Creative Problem Solving, Part 1" is aimed at learners who are seeking to augment, expand, optimize, and increase the efficiency of their Excel spreadsheet skills by tapping into the powerful programming, automation, and customization capabilities available with Visual Basic for Appli...

"Excel/VBA for Creative Problem Solving, Part 1" is aimed at learners who are seeking to augment, expand, optimize, and increase the efficiency of their Excel spreadsheet skills by tapping into the powerful programming, automation, and customization capabilities available with Visual Basic for Appli...

University of Colorado Boulder

Charlie Nuttelman

Charlie Nuttelman

0 reddit posts

3 mentions

3 mentions

#36

Introduction to Graph Theory

We invite you to a fascinating journey into Graph Theory — an area which connects the elegance of painting and the rigor of mathematics; is simple, but not unsophisticated.

We invite you to a fascinating journey into Graph Theory — an area which connects the elegance of painting and the rigor of mathematics; is simple, but not unsophisticated.

University of California San Diego

Alexander S. Kulikov

Alexander S. Kulikov

0 reddit posts

3 mentions

3 mentions

#37

Computer Vision Basics

By the end of this course, learners will understand what computer vision is, as well as its mission of making computers see and interpret the world as humans do, by learning core concepts of the field and receiving an introduction to human vision capabilities.

By the end of this course, learners will understand what computer vision is, as well as its mission of making computers see and interpret the world as humans do, by learning core concepts of the field and receiving an introduction to human vision capabilities.

University at Buffalo

Radhakrishna Dasari

Radhakrishna Dasari

0 reddit posts

4 mentions

4 mentions

#38

Geometric Algorithms

Course Information: In many areas of computer science such as robotics, computer graphics, virtual reality, and geographic information systems, it is necessary to store, analyze, and create or manipulate spatial data.

Course Information: In many areas of computer science such as robotics, computer graphics, virtual reality, and geographic information systems, it is necessary to store, analyze, and create or manipulate spatial data.

EIT Digital

Kevin Buchin

Kevin Buchin

0 reddit posts

1 mentions

1 mentions

#39

Основы программирования на Python

Язык программирования Python является одним из самых простых в освоении и популярных языков программирования.

Язык программирования Python является одним из самых простых в освоении и популярных языков программирования.

National Research University Higher School of Economics

Густокашин Михаил Сергеевич

Густокашин Михаил Сергеевич

0 reddit posts

1 mentions

1 mentions

#40

Competitive Programmer's Core Skills

During the course, you’ll learn everything needed to participate in real competitions — that’s the main goal.

During the course, you’ll learn everything needed to participate in real competitions — that’s the main goal.

Saint Petersburg State University

Alexander S. Kulikov

Alexander S. Kulikov

0 reddit posts

4 mentions

4 mentions

#41

Mathematical Thinking in Computer Science

Mathematical thinking is crucial in all areas of computer science: algorithms, bioinformatics, computer graphics, data science, machine learning, etc.

Mathematical thinking is crucial in all areas of computer science: algorithms, bioinformatics, computer graphics, data science, machine learning, etc.

University of California San Diego

Alexander S. Kulikov

Alexander S. Kulikov

0 reddit posts

2 mentions

2 mentions

#42

Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

The primary topics in this part of the specialization are: shortest paths (Bellman-Ford, Floyd-Warshall, Johnson), NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems (analysis of heuristics, local search).

The primary topics in this part of the specialization are: shortest paths (Bellman-Ford, Floyd-Warshall, Johnson), NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems (analysis of heuristics, local search).

Stanford University

Tim Roughgarden

Tim Roughgarden

0 reddit posts

1 mentions

1 mentions

#43

Approximation Algorithms

Many real-world algorithmic problems cannot be solved efficiently using traditional algorithmic tools, for example because the problems are NP-hard.

Many real-world algorithmic problems cannot be solved efficiently using traditional algorithmic tools, for example because the problems are NP-hard.

EIT Digital

Mark de Berg

Mark de Berg

0 reddit posts

13 mentions

13 mentions

#44

Number Theory and Cryptography

We all learn numbers from the childhood.

We all learn numbers from the childhood.

University of California San Diego

Alexander S. Kulikov

Alexander S. Kulikov

0 reddit posts

1 mentions

1 mentions

#45

Cómputo evolutivo

La computación evolutiva (evolutionary computation, EC), aplica la teoría de la evolución natural y la genética en la adaptación evolutiva de estructuras computacionales, proporcionando un medio alternativo para atacar problemas complejos en diversas áreas, como la ingeniería, economía, química, med...

La computación evolutiva (evolutionary computation, EC), aplica la teoría de la evolución natural y la genética en la adaptación evolutiva de estructuras computacionales, proporcionando un medio alternativo para atacar problemas complejos en diversas áreas, como la ingeniería, economía, química, med...

Universidad Nacional Autónoma de México

Katya Rodríguez Vázquez

Katya Rodríguez Vázquez

0 reddit posts

1 mentions

1 mentions