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: Computational Thinking, Programming Principles, Algorithms, Pseudocode, Data Structures, Theoretical Computer Science, Computer Programming, Python Programming, Computer Science, Software Design Patterns, Debugging, Game Theory, Mathematical Modeling, Test Case
Intermediate · Course · 1 - 4 Weeks

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

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 System
Skills you'll gain: Computational Thinking, Data Collection, Microsoft Visual Studio, Program Development, C (Programming Language), Programming Principles, Algorithms, Data Storage, Computer Programming
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Algorithms, Computer Hardware, Cryptography, Python Programming, Computer Programming, Emerging Technologies, Theoretical Computer Science, Simulation and Simulation Software, Linear Algebra
Beginner · Course · 1 - 3 Months
Rice University
Skills you'll gain: Theoretical Computer Science, Computer Programming, Computational Thinking, Programming Principles, Debugging, Algorithms, Python Programming
Intermediate · Course · 1 - 4 Weeks

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

Skills you'll gain: Graph Theory, Data Structures, Algorithms, Program Development, Programming Principles, Computational Thinking, Theoretical Computer Science, Computer Science, Python Programming
Intermediate · Course · 1 - 3 Months


The Chinese University of Hong Kong
Skills you'll gain: Operations Research, Applied Mathematics, Algorithms, Mathematical Modeling, Combinatorics, Computational Logic, Advanced Mathematics, Performance Tuning, Theoretical Computer Science, Simulations, Linear Algebra
Intermediate · Course · 1 - 4 Weeks

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

Northeastern University
Skills you'll gain: Algorithms, Graph Theory, Computational Thinking, Programming Principles, Pseudocode, Theoretical Computer Science, Data Structures, Computer Programming, Performance Tuning, Scalability, Design Strategies
Mixed · Course · 1 - 3 Months