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 Colorado Boulder
Skills you'll gain: Computer Vision, Image Analysis, Artificial Neural Networks, Convolutional Neural Networks, Artificial Intelligence and Machine Learning (AI/ML), Computer Graphics, Computational Thinking, Deep Learning, Psychology
Beginner · Course · 1 - 4 Weeks

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

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

Illinois Tech
Skills you'll gain: Bayesian Statistics, Data Analysis, Statistical Inference, Regression Analysis, Statistical Methods, Statistical Analysis, Statistical Modeling, Statistical Programming, R (Software), R Programming, Markov Model, Logistic Regression, Probability, Simulations, Model Evaluation, Probability Distribution
Build toward a degree
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 Colorado Boulder
Skills you'll gain: Theoretical Computer Science, Algorithms, Computational Thinking, Pseudocode, Data Structures, Design Strategies, Programming Principles, Computer Science, Advanced Mathematics, Python Programming, Analysis
Build toward a degree
Advanced · Course · 1 - 4 Weeks

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Microarchitecture, Computer Architecture, Computer Systems, Hardware Architecture, Computer Engineering, Programming Principles, Computational Logic, Systems Architecture, Computer Hardware, Embedded Systems, Algorithms, Digital Signal Processing
Beginner · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: File I/O, Simulations, C (Programming Language), Computational Thinking, Automation, Algorithms, Data Structures, Theoretical Computer Science, Programming Principles, Debugging
Beginner · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Combinatorics, Probability, Probability Distribution, Algorithms, Bayesian Statistics, Mathematical Modeling, Statistics, Arithmetic, Python Programming, Simulations
Beginner · Course · 1 - 3 Months

Northeastern University
Skills you'll gain: Algorithms, Theoretical Computer Science, Data Structures, Computational Thinking, Analysis, Computer Science, Performance Tuning, Software Development, Scalability
Mixed · Course · 1 - 4 Weeks
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

University of Leeds
Skills you'll gain: Logical Reasoning, Computational Logic, Computational Thinking, Algorithms, Theoretical Computer Science, Artificial Intelligence, Cryptography, Graph Theory
Beginner · Course · 1 - 4 Weeks