Courses in Theory of Computation often teach formal languages, automata theory, computability, and complexity classes. You can build skills in algorithm design, problem-solving, and understanding the limits of computation. Many courses introduce tools like Turing machines and state diagrams, which help illustrate concepts and analyze computational problems. You'll also explore key topics such as P vs NP, decidability, and the role of algorithms in artificial intelligence, enhancing your ability to tackle complex computational challenges.

Rice University
Skills you'll gain: Combinatorics, Probability, Programming Principles, Computational Thinking, Computer Programming, Object Oriented Programming (OOP), Development Testing, Software Testing, Applied Mathematics, Algorithms, Python Programming, Game Design, General Mathematics
★ 4.7 (584) · Intermediate · Course · 1 - 3 Months

The Chinese University of Hong Kong
Skills you'll gain: Communication Systems, Digital Communications, Theoretical Computer Science, Telecommunications, Informatics, Probability, Probability Distribution, Algorithms, Numerical Analysis
★ 4.7 (171) · Mixed · Course · 3 - 6 Months

Clemson University
Skills you'll gain: Data Structures, Algorithms, Theoretical Computer Science, Computer Programming, Computer Science, Probability, Design Strategies, Analysis
★ 4.2 (39) · Intermediate · Course · 1 - 3 Months

The Hong Kong University of Science and Technology
Skills you'll gain: Probability, Computational Logic, Combinatorics, Bayesian Statistics, Algorithms, Theoretical Computer Science, Mathematical Software, Mathematical Theory & Analysis, Cryptography, Logical Reasoning, Deductive Reasoning, Computational Thinking, Computer Science, Encryption, Data Structures, Arithmetic, General Mathematics, Public Key Cryptography Standards (PKCS), Problem Solving, Cybersecurity
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Systems Design, Computational Logic, Verification And Validation, Computer Engineering, Communication Systems, Software Systems, Process Modeling, Theoretical Computer Science, Graph Theory
★ 4.8 (12) · Beginner · Course · 1 - 4 Weeks

École normale supérieure
Skills you'll gain: Sampling (Statistics), Mathematical Software, Physics, Simulations, Numerical Analysis, Markov Model, Mechanics, Simulation and Simulation Software, Algorithms, Programming Principles, Applied Mathematics, Integral Calculus, Model Optimization, Program Development
★ 4.8 (274) · Mixed · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Algorithms, Debugging, Theoretical Computer Science, Computational Thinking, Program Development, Software Testing, Computer Programming, Analysis, Solution Design, Design Strategies, Data Processing, Model Optimization, Bioinformatics, Scalability
★ 4.6 (13K) · Intermediate · Course · 1 - 3 Months

Skills you'll gain: Data Structures, Algorithms, Java, Java Programming, Programming Principles, Computer Programming, Performance Tuning, Computational Thinking, Theoretical Computer Science, Solution Design
Beginner · Course · 1 - 3 Months
University of London
Skills you'll gain: Computer Science, Computer Systems, Web Applications, Computer Literacy, General Networking, Network Security, Computer Networking, Application Security, Computational Thinking, Debugging, Theoretical Computer Science, Web Design and Development, Cybersecurity, Computer Security Awareness Training, Problem Management, Software Architecture, Network Protocols, Encryption
★ 4.6 (582) · Beginner · Course · 1 - 4 Weeks
University of Illinois Urbana-Champaign
Skills you'll gain: Computational Logic, Application Specific Integrated Circuits, Theoretical Computer Science, Data Structures, Verification And Validation, Algorithms, Programming Principles, Design Software, Network Model, Model Optimization, Digital Design
★ 4.6 (557) · Intermediate · Course · 1 - 3 Months

The Hong Kong University of Science and Technology
Skills you'll gain: Cryptography, Algorithms, Encryption, Theoretical Computer Science, Combinatorics, Mathematical Theory & Analysis, Arithmetic, Computational Thinking, Key Management, Applied Mathematics
Beginner · Course · 1 - 3 Months

Northeastern University
Skills you'll gain: Algorithms, Theoretical Computer Science, Data Structures, Computational Thinking, Analysis, Performance Tuning, Memory Management, Scalability
Mixed · Course · 1 - 4 Weeks