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 Systems, Computer Architecture, Computer Programming, Programming Principles, Memory Management, System Software, System Programming, Virtual Machines, Operating Systems, Hardware Architecture, Software Architecture, Algorithms, Software Design, Program Development, Object Oriented Programming (OOP), Data Structures, Computer Graphics, Peripheral Devices
Mixed · Course · 1 - 3 Months

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

University of Colorado Boulder
Skills you'll gain: Computational Logic, Verification And Validation, Theoretical Computer Science, Systems Design, Functional Specification, Process Modeling, Communication Systems, Test Tools, Algorithms, Safety and Security
Beginner · Course · 1 - 4 Weeks

Northeastern University
Skills you'll gain: Algorithms, Bayesian Statistics, Theoretical Computer Science, Network Model, Computational Thinking, Data Structures, Graph Theory, Network Analysis, Probability, Probability & Statistics
Mixed · Course · 1 - 3 Months

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

University of Colorado System
Skills you'll gain: Computational Thinking, File I/O, Data Collection, Simulations, Data Analysis, Microsoft Visual Studio, C (Programming Language), Analysis, C and C++, Statistical Analysis, Data Presentation, Automation, Program Development, Algorithms, Microsoft Development Tools, Programming Principles, Integrated Development Environments, Computer Programming, Theoretical Computer Science, Code Reusability
Beginner · Specialization · 3 - 6 Months

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

Skills you'll gain: Graph Theory, Data Structures, Algorithms, Computational Thinking, Theoretical Computer Science, Computer Science, Computer Programming, Python Programming, Memory Management, Performance Tuning
Intermediate · Course · 1 - 3 Months

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

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

International Institute of Information Technology, Hyderabad
Skills you'll gain: Microarchitecture, Computer Architecture, Hardware Architecture, Systems Architecture, Computer Systems, Computer Hardware, Performance Tuning, Memory Management
Intermediate · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Combinatorics, Probability, Probability & Statistics, Algorithms, Bayesian Statistics, Mathematical Modeling, Computational Thinking, Statistical Methods, Arithmetic, Applied Mathematics, Program Development, Python Programming
Beginner · Course · 1 - 3 Months