VOOZH about

URL: https://www.coursera.org/learn/algorithms-and-complexity

⇱ Algorithms and Complexity | Coursera


Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

2 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

2 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Design finite automata and explain how deterministic and non-deterministic machines recognise and process formal languages.

  • Implement, compare, and evaluate searching and sorting algorithms, analysing their performance and correctness in different contexts.

  • Create recursive and iterative algorithms, identifying scenarios where each approach provides clarity, efficiency, or scalability.

  • Analyse algorithms with asymptotic notation, explain complexity classes like P and NP, and interpret NP-completeness in computing.

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

February 2026

Assessments

19 assignments

Taught in English

Build your subject-matter expertise

This course is part of the Essential Mathematics for Computer Science Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 4 modules in this course

Algorithms and complexity are at the heart of computer science, shaping how we design solutions and measure efficiency. This course provides a rigorous introduction to both the theory and practice of algorithms. You’ll begin with automata theory, exploring how machines recognise and process languages. You’ll then move into practical algorithmic techniques, including searching and sorting, before learning to design and evaluate recursive and iterative algorithms. Finally, you’ll study complexity theory, developing the ability to classify problems and understand computational limits. By combining abstract models with real-world techniques, this course equips you to design algorithms, assess performance, and reason about scalability. Whether you’re pursuing studies in computer science, preparing for a programming role, or aiming to strengthen your technical foundations, you’ll gain both theoretical insight and practical skills for tackling computing challenges.

In this module, we will cover the following key concepts: definitions, letters, strings, finite automata, language, deterministic and non-deterministic finite automata.

What's included

16 videos5 readings2 assignments2 ungraded labs

16 videosβ€’Total 68 minutes
  • Introduction to the courseβ€’1 minute
  • Introductionβ€’1 minute
  • Basic definitions, letters, stringsβ€’4 minutes
  • What is an automaton?β€’9 minutes
  • Finite automata – example (part 1)β€’3 minutes
  • Finite automata – example (part 2)β€’8 minutes
  • Working with Automata Simulatorβ€’6 minutes
  • Language of the automataβ€’4 minutes
  • Recognise a languageβ€’4 minutes
  • Deterministic finite automata (DFA) vs nondeterministic finite automata (NFA)β€’4 minutes
  • DFA exampleβ€’4 minutes
  • DFA example in Automata Simulatorβ€’4 minutes
  • Computation by NFAβ€’4 minutes
  • NFA exampleβ€’5 minutes
  • NFA example in Automata Simulatorβ€’2 minutes
  • Conclusionβ€’4 minutes
5 readingsβ€’Total 110 minutes
  • Course structure and navigationβ€’15 minutes
  • How to learn effectively on this courseβ€’15 minutes
  • Course Syllabusβ€’10 minutes
  • Exercises with hints and tipsβ€’60 minutes
  • Exercises with hints and tipsβ€’10 minutes
2 assignmentsβ€’Total 50 minutes
  • Check your understanding: End of module 1β€’20 minutes
  • Basicsβ€’30 minutes
2 ungraded labsβ€’Total 40 minutes
  • DFA Simulatorβ€’20 minutes
  • NFA Simulatorβ€’20 minutes

In this module, we will cover the following key concepts: algorithms, insertion sorts, bubble sorts, representation, binary search and heap sorts.

What's included

10 videos2 readings5 assignments1 discussion prompt1 ungraded lab

10 videosβ€’Total 50 minutes
  • What is an algorithm ?β€’5 minutes
  • Representing algorithmsβ€’8 minutes
  • Simple algorithms – insertion sortβ€’6 minutes
  • Simple algorithms – bubble sortβ€’5 minutes
  • Selection sortβ€’5 minutes
  • Search techniquesβ€’5 minutes
  • Binary trees and heapsβ€’4 minutes
  • Heapify algorithmβ€’4 minutes
  • Heap sortβ€’6 minutes
  • Conclusionβ€’2 minutes
2 readingsβ€’Total 70 minutes
  • Exercises with hints and tipsβ€’10 minutes
  • Binary trees and heapsβ€’60 minutes
5 assignmentsβ€’Total 107 minutes
  • Check your understanding: End of module 2β€’20 minutes
  • How else would you sort?β€’30 minutes
  • Insertion, bubble and selection sortβ€’25 minutes
  • Binary and sequential searchβ€’12 minutes
  • Heap sortβ€’20 minutes
1 discussion promptβ€’Total 20 minutes
  • Tell us about an algorithm that you useβ€’20 minutes
1 ungraded labβ€’Total 20 minutes
  • Sorting algorithms simulator: Bubble Sort and Insertion Sortβ€’20 minutes

In this module, we will cover the following key concepts: recursion, iteration, quick sorts, merging lists, merge sorts, Shapley proofs and stable matching.

What's included

10 videos3 readings6 assignments1 discussion prompt

10 videosβ€’Total 54 minutes
  • Recursionβ€’7 minutes
  • Iterative algorithmsβ€’4 minutes
  • Recursive algorithms exampleβ€’5 minutes
  • Quick sortβ€’6 minutes
  • Quick sort exampleβ€’5 minutes
  • Merging listsβ€’5 minutes
  • Merge sortβ€’5 minutes
  • The algorithm of happinessβ€’7 minutes
  • The Gale-Shapley algorithm – example and pseudocodeβ€’6 minutes
  • Conclusionβ€’3 minutes
3 readingsβ€’Total 105 minutes
  • Partition and quick sort algorithmsβ€’85 minutes
  • Lesson 1 exercises with hints and tipsβ€’10 minutes
  • Exercises with hints and tipsβ€’10 minutes
6 assignmentsβ€’Total 140 minutes
  • Check your understanding: End of module 3β€’20 minutes
  • Recursive and iterative algorithmsβ€’25 minutes
  • Quick sortβ€’20 minutes
  • How does this magic work?β€’30 minutes
  • Keep mergingβ€’30 minutes
  • Stable matchingβ€’15 minutes
1 discussion promptβ€’Total 10 minutes
  • Name an allocation problem that you knowβ€’10 minutes

In this module, we will cover the following key concepts: efficiency, bubble sorts, binary search, asymptotic complexity, Big O notation, recursion complexity, master theorem, quick sorts and merge sorts.

What's included

14 videos2 readings6 assignments1 discussion prompt

14 videosβ€’Total 71 minutes
  • Introductionβ€’1 minute
  • Efficiency – insertion sort (time complexity)β€’9 minutes
  • Efficiency – bubble sort and binary searchβ€’7 minutes
  • Asymptotic complexityβ€’6 minutes
  • Big O notationβ€’5 minutes
  • Big O notation exampleβ€’5 minutes
  • Using Big O to analyse selection sortβ€’5 minutes
  • Recursion complexityβ€’11 minutes
  • Master theoremβ€’5 minutes
  • Master theorem exampleβ€’5 minutes
  • Efficiency – quick sortβ€’7 minutes
  • Efficiency – merge sortβ€’3 minutes
  • Conclusionβ€’1 minute
  • Course summaryβ€’1 minute
2 readingsβ€’Total 20 minutes
  • Module exercises with hints and tipsβ€’10 minutes
  • Algorithms and Complexity: Course Summaryβ€’10 minutes
6 assignmentsβ€’Total 145 minutes
  • Check your understanding: End of module 4β€’20 minutes
  • Average, worst and best caseβ€’30 minutes
  • Why do we need asymptotic behaviour? [Review]β€’30 minutes
  • Asymptotic complexityβ€’20 minutes
  • Master theoremβ€’30 minutes
  • Time complexityβ€’15 minutes
1 discussion promptβ€’Total 15 minutes
  • Considering approachesβ€’15 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Why people choose Coursera for their career

πŸ‘ Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
πŸ‘ Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,