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.

Hebrew University of Jerusalem
Skills you'll gain: Computer Science, Computer Engineering, Computer Architecture, Computer Programming, System Programming, Virtual Machines, Operating Systems, Software Architecture, Algorithms, Software Design, Program Development, Object Oriented Programming (OOP), Data Structures, Computer Graphic Techniques
Mixed · Course · 1 - 3 Months

École normale supérieure
Skills you'll gain: Sampling (Statistics), Physics, Simulations, Computational Logic, Numerical Analysis, Markov Model, Quantitative Research, Algorithms, Applied Mathematics, Linear Algebra, Integral Calculus
Mixed · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Logical Reasoning, Computational Logic, Deductive Reasoning, Computational Thinking, Theoretical Computer Science, Combinatorics, Algorithms, Python Programming, Computer Science, Program Development
Beginner · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Debugging, Computer Programming Tools, Algorithms, Programming Principles, Computational Thinking, Digital pedagogy, Program Development, Technical Communication, Computer Programming, Education Software and Technology, Event-Driven Programming, Code Review, Diversity Equity and Inclusion Initiatives, Computer Science, Software Documentation, Brainstorming, Data Structures, Student Engagement, Visualization (Computer Graphics), Game Design
Beginner · Specialization · 3 - 6 Months

Universidad Nacional Autónoma de México
Skills you'll gain: Creativity, Generative AI, Artificial Intelligence, Computational Thinking, Computer Programming, Computer Graphics, Visualization (Computer Graphics), Algorithms, Musical Composition, Art History, Music Theory
Intermediate · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Computational Thinking, C (Programming Language), Data Structures, Programming Principles, Computer Programming, Program Development, Debugging
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Theoretical Computer Science, Algorithms, Computational Thinking, Pseudocode, Data Structures, Design Strategies, Programming Principles, Computer Science, Advanced Mathematics, Python Programming, Analysis
Build toward a degree
Advanced · Course · 1 - 4 Weeks
University of London
Skills you'll gain: Computer Science, Computer Systems, Web Applications, Computer Literacy, Network Security, Computer Networking, Computational Thinking, Debugging, Web Design and Development, Cybersecurity, Problem Management, Software Architecture, Data Storage
Beginner · Course · 1 - 4 Weeks

Shanghai Jiao Tong University
Skills you'll gain: Combinatorics, Graph Theory, Theoretical Computer Science, Mathematical Theory & Analysis, Advanced Mathematics, Network Analysis, Computational Thinking, Algorithms, Data Structures, Computer Science
Intermediate · Course · 1 - 3 Months

Universitat Autònoma de Barcelona
Skills you'll gain: Computer Architecture, Systems Design, Technical Design, Application Specific Integrated Circuits, Digital Design, Hardware Architecture, Computer Hardware, Verification And Validation
Intermediate · Course · 1 - 3 Months

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

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