Skip to main content

StanfordOnline: Algorithms: Design and Analysis, Part 1

Welcome to the self paced course, Algorithms: Design and Analysis! Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth. This specialization is an introduction to algorithms for learners with at least a little programming experience.

Algorithms: Design and Analysis, Part 1
6 weeks
2–4 hours per week
Self-paced
Progress at your own speed
Free
Optional upgrade available

There is one session available:

74,568 already enrolled! After a course session ends, it will be archivedOpens in a new tab.
Starts Mar 19
Ends Aug 31

About this course

Skip About this course

Welcome to the self paced course, Algorithms: Design and Analysis! Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth.

This specialization is an introduction to algorithms for learners with at least a little programming experience. The specialization is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. After completing this specialization, you will be well-positioned to ace your technical interviews and speak fluently about algorithms with other programmers and computer scientists.

Specific topics in the course include: "Big-oh" notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest pair), randomized algorithms (QuickSort, contraction algorithm for min cuts), data structures (heaps, balanced search trees, hash tables, bloom filters), graph primitives (applications of BFS and DFS, connectivity, shortest paths).

Learners will practice and master the fundamentals of algorithms through several types of assessments. There are 6 multiple choice quizzes to test your understanding of the most important concepts. There are also 6 programming assignments, where you implement one of the algorithms covered in lecture in a programming language of your choosing. The course concludes with a multiple-choice final. There are no assignment due dates and you can work through the course materials and assignments at your own pace.

At a glance

  • Institution: StanfordOnline
  • Subject: Computer Science
  • Level: Intermediate
  • Prerequisites:

    This specialization is an introduction to algorithms for learners with at least a little programming experience.

    This course is not an introduction to programming, and it assumes that you have basic programming skills in a language such as Python, Java, or C. There are several outstanding free online courses that teach basic programming. We also use mathematical analysis as needed to understand how and why algorithms and data structures really work.

  • Language: English
  • Video Transcript: English
  • Associated skills:Matrix Multiplication, Data Structures, Algorithms, Master Theorem, Computer Science, Bloom Filter, Divide And Conquer

What you'll learn

Skip What you'll learn
  • "Big-oh" notation
  • Sorting and searching
  • Divide and conquer (master method, integer and matrix multiplication, closest pair)
  • Randomized algorithms (QuickSort, contraction algorithm for min cuts)
  • Data structures (heaps, balanced search trees, hash tables, bloom filters)
  • Graph primitives (applications of BFS and DFS, connectivity, shortest paths)

Frequently Asked Questions

Skip Frequently Asked Questions

Do I need to buy a textbook?

No. The instructor has released two books, which can provide one with a deeper understanding of the course material. The readings are suggested, but not required. The readings come from:

  • Algorithms Illuminated (Part 1): The Basics

A new book by the instructor, which is based on the first half of this course, "Algorithms: Design and Analysis, Part 1", can be found and purchased on Amazon at https://www.amazon.com/dp/0999282905.

  • Algorithms Illuminated (Part 2): Graph Algorithms and Data Structures (Volume 2)

The next book in the series, which is based on the second half of this course, "Algorithms: Design and Analysis, Part 2", can be found and purchased on Amazon at https://www.amazon.com/dp/0999282921.

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX For Business.