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.

University of Colorado Boulder
Skills you'll gain: Verification And Validation, Computational Thinking, Systems Design, System Design and Implementation, Systems Analysis, Model Evaluation, Software Design, Computer Architecture, Program Development, Software Quality (SQA/SQC), Logical Reasoning
Beginner · Course · 1 - 4 Weeks

Princeton University
Skills you'll gain: Programming Principles, Computer Programming, Object Oriented Programming (OOP), Performance Tuning, Data Structures, Java Programming, Java, Program Development, File I/O, Computational Thinking, Computer Science, Algorithms, Animations, Debugging
Beginner · Course · 1 - 3 Months

The Chinese University of Hong Kong
Skills you'll gain: Communication Systems, Digital Communications, Theoretical Computer Science, Telecommunications, Information Management, Probability, Probability Distribution, Linear Algebra, Digital Signal Processing, Algorithms
Mixed · Course · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Data Ethics, Healthcare Ethics, Responsible AI, Ethical Standards And Conduct, Computer Security Awareness Training, Cybersecurity, Diversity Awareness, Generative AI, Artificial Intelligence, Information Technology, Medical Privacy, Information Privacy, Social Impact, Media and Communications, Automation, Robotics, Cultural Diversity, Personally Identifiable Information, Law, Regulation, and Compliance, Emerging Technologies
Build toward a degree
Beginner · Specialization · 3 - 6 Months

Stanford University
Skills you'll gain: Data Structures, Graph Theory, Algorithms, Bioinformatics, Theoretical Computer Science, Network Model, Programming Principles, Social Network Analysis, Network Analysis, Computational Thinking, Analysis, Computer Science, Network Routing, Probability, Pseudocode, Computational Logic, Operations Research
Intermediate · Specialization · 3 - 6 Months

University of Michigan
Skills you'll gain: Computational Thinking, Programming Principles, Problem Solving, Computer Science, Disaster Recovery, Algorithms, Computer Programming, Public Health
Beginner · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Graph Theory, Combinatorics, Network Analysis, Data Structures, Visualization (Computer Graphics), Algorithms, Mathematical Theory & Analysis, Theoretical Computer Science, Program Development
Beginner · Course · 1 - 3 Months
University of London
Skills you'll gain: Arithmetic, Applied Mathematics, Computer Science, Computational Thinking, General Mathematics, Mathematical Theory & Analysis, Algebra, Cryptography, Systems Of Measurement
Beginner · Course · 1 - 4 Weeks

Princeton University
Skills you'll gain: Combinatorics, Algorithms, Theoretical Computer Science, Mathematical Theory & Analysis, Graph Theory, Data Structures, Advanced Mathematics, Mathematical Modeling, Probability
Advanced · Course · 1 - 3 Months

Princeton University
Skills you'll gain: Data Structures, Algorithms, Java, Performance Testing, Computer Programming, Java Programming, Theoretical Computer Science, Object Oriented Programming (OOP)
Intermediate · Course · 3 - 6 Months

University of Colorado System
Skills you'll gain: Cryptography, Arithmetic, Algorithms, Applied Mathematics, Probability, Computer Science
Beginner · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Cryptography, Encryption, Public Key Cryptography Standards (PKCS), Cybersecurity, Arithmetic, Algorithms, Theoretical Computer Science, Computational Thinking, Algebra, Python Programming
Beginner · Course · 1 - 4 Weeks