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.

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Algorithms, Programming Principles, Data Management, Computational Thinking, Tree Maps, Data Manipulation, C and C++, Software Design, Analysis, Problem Solving, Complex Problem Solving
Mixed · Course · 1 - 3 Months

Tsinghua University
Skills you'll gain: Data Structures, Algorithms, Graph Theory, Computational Thinking, Programming Principles, Computer Programming
Intermediate · Course · 1 - 3 Months

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

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

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

University of Colorado System
Skills you'll gain: Computational Thinking, Data Analysis, Analysis, C (Programming Language), Programming Principles, Data Structures, Descriptive Statistics, Data Visualization Software
Beginner · Course · 1 - 4 Weeks

University of Illinois Urbana-Champaign
Skills you'll gain: Cloud Applications, Cloud Computing, Cloud Platforms, Cloud Computing Architecture, Cloud Services, Cloud Infrastructure, Distributed Computing, General Networking
Mixed · Course · 1 - 3 Months
University of California, Irvine
Skills you'll gain: Blockchain, Cryptography, Encryption, Transaction Processing, Authentications, FinTech, Data Security, Emerging Technologies, Data Integrity, Distributed Computing
Beginner · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Simulations, C (Programming Language), Computational Thinking, Automation, Algorithms, Data Structures, Theoretical Computer Science, Programming Principles, File Management, Debugging
Beginner · 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
University of Illinois Urbana-Champaign
Skills you'll gain: Application Specific Integrated Circuits, Hardware Design, Computer-Aided Design, Electronic Hardware, Systems Design, Electrical and Computer Engineering, Computer Engineering, Semiconductors, Network Routing, Computational Logic, Data Structures, Algorithms, Graph Theory, Linear Algebra, Applied Mathematics, Mathematical Modeling, Calculus
Intermediate · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Real-Time Operating Systems, Embedded Systems, Embedded Software, Software Design, Linux, System Programming, System Design and Implementation, Performance Tuning, Verification And Validation, Algorithms, Debugging
Advanced · Course · 1 - 4 Weeks