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

University of California San Diego
Skills you'll gain: Algorithms, Program Development, Debugging, Development Testing, Software Testing, Computational Thinking, Test Case, Computer Programming, Programming Principles, Data Structures, Theoretical Computer Science, Design Strategies
Intermediate · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Public Key Cryptography Standards (PKCS), Cryptography, Data Structures, Data Encryption Standard, Algorithms, Encryption, Theoretical Computer Science, Computer Science, Programming Principles, Computational Thinking, IBM Cloud, Linear Algebra, Arithmetic
Build toward a degree
Advanced · Course · 1 - 4 Weeks

University of Illinois Urbana-Champaign
Skills you'll gain: Distributed Computing, NoSQL, Apache Cassandra, Cloud Computing, Systems Design, Data Storage Technologies, Apache Hadoop, Database Theory, Algorithms, Theoretical Computer Science, Scalability, C++ (Programming Language), Network Protocols
Beginner · Course · 1 - 3 Months
University of Illinois Urbana-Champaign
Skills you'll gain: Application Specific Integrated Circuits, Hardware Design, Computer-Aided Design, Systems Design, Computer Architecture, Network Routing, Computational Logic, Electrical Engineering, Data Structures, Algorithms, Graph Theory, Mathematical Modeling, Calculus
Intermediate · Course · 1 - 3 Months

Universidad Nacional Autónoma de México
Skills you'll gain: Algorithms, Computational Thinking, Applied Mathematics, Machine Learning Algorithms, Biology, Life Sciences, Artificial Intelligence, Computer Science, Programming Principles, Mathematical Modeling, Engineering Practices
Intermediate · 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

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Computer Architecture, Computer Systems, Computational Logic, Hardware Design, Computer Hardware, Programming Principles, Digital Signal Processing, Debugging
Beginner · 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

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

National Taiwan University
Skills you'll gain: Supervised Learning, Machine Learning, Statistical Machine Learning, Model Evaluation, Logistic Regression, Theoretical Computer Science, Classification Algorithms, Mathematical Theory & Analysis, Probability & Statistics, Algorithms
Beginner · Course · 1 - 3 Months
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