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.


您将学到什么
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.
您将获得的技能
- Algorithms
- Complex Problem Solving
- Critical Thinking
- Graph Theory
- Computer Science
- Critical Thinking and Problem Solving
- Data Structures
- Analysis
- Performance Testing
- Programming Principles
- Logical Reasoning
- Theoretical Computer Science
- Game Theory
- Computational Logic
- Computational Thinking
- 技能部分已折叠。显示 10 项技能,共 15 项。
要了解的详细信息

添加到您的领英档案
19 项作业
February 2026
了解顶级公司的员工如何掌握热门技能

积累特定领域的专业知识
- 向行业专家学习新概念
- 获得对主题或工具的基础理解
- 通过实践项目培养工作相关技能
- 获得可共享的职业证书

该课程共有4个模块
In this module, we will cover the following key concepts: definitions, letters, strings, finite automata, language, deterministic and non-deterministic finite automata.
涵盖的内容
16个视频5篇阅读材料2个作业2个非评分实验室
In this module, we will cover the following key concepts: algorithms, insertion sorts, bubble sorts, representation, binary search and heap sorts.
涵盖的内容
10个视频2篇阅读材料5个作业1个讨论话题1个非评分实验室
In this module, we will cover the following key concepts: recursion, iteration, quick sorts, merging lists, merge sorts, Shapley proofs and stable matching.
涵盖的内容
10个视频3篇阅读材料6个作业1个讨论话题
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.
涵盖的内容
14个视频2篇阅读材料6个作业1个讨论话题
获得职业证书
将此证书添加到您的 LinkedIn 个人资料、简历或履历中。在社交媒体和绩效考核中分享。
位教师

人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
从 Computer Science 浏览更多内容

Northeastern University

Birla Institute of Technology & Science, Pilani

Northeastern University

University of California San Diego





