Loopskey-logo
CourseTechnology

Algorithms and Complexity

By External Provider

Price

Free

Go to content

Opens coursera.org in a new tab

Level

INTERMEDIATE

About 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.

What you will 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.