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 Illinois Urbana-Champaign
Skills you'll gain: Distributed Computing, File Systems, Cloud Computing, Operating Systems, Transaction Processing, Network Security, Data Centers, Authorization (Computing), Apache Hadoop, Data Store, Authentications, Cryptography, NoSQL, Algorithms
Mixed · Course · 1 - 3 Months

Stanford University
Skills you'll gain: Algorithms, Graph Theory, Data Structures, Theoretical Computer Science, Computational Thinking, Analysis, Probability & Statistics, Probability
Intermediate · Course · 1 - 4 Weeks

Tsinghua University
Skills you'll gain: Data Structures, Database Design, Query Languages, Algorithms, Computer Programming
Intermediate · Course · 1 - 3 Months

Pohang University of Science and Technology(POSTECH)
Skills you'll gain: Blockchain, Application Development, Cloud Applications, Payment Systems, Cryptography, Investments, FinTech, Digital Assets, Open Source Technology, Distributed Computing, Microservices, E-Commerce, Transaction Processing, Interoperability, Algorithms, Scalability, Governance
Intermediate · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Computational Thinking, Education Software and Technology, Programming Principles, Debugging, Computer Programming, Algorithms, Development Environment, Computer Science, Brainstorming
Beginner · Course · 1 - 3 Months

Pohang University of Science and Technology(POSTECH)
Skills you'll gain: Blockchain, Cryptography, Transaction Processing, Encryption, Data Structures, Virtualization and Virtual Machines, Network Protocols, Distributed Computing, Algorithms
Intermediate · Course · 1 - 3 Months

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 Graphics
Mixed · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Data Structures, Distributed Computing, Algorithms, Functional Design, Scalability, Other Programming Languages, Java, Performance Tuning
Intermediate · Course · 1 - 4 Weeks

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

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

Rice University
Skills you'll gain: Computational Thinking, Programming Principles, Algorithms, Data Structures, Theoretical Computer Science, Computer Programming, Python Programming, Computer Science, Game Theory, Mathematical Modeling, Software Testing
Intermediate · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Computational Thinking, Debugging, Programming Principles, Technical Communication, Computer Programming, Event-Driven Programming, Program Development, Data Structures, Algorithms, Student Engagement, Graphical Tools
Beginner · Course · 1 - 3 Months