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: 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 California San Diego
Skills you'll gain: Computational Thinking, Education Software and Technology, Digital pedagogy, Programming Principles, Debugging, Computer Programming, Computer Science, Brainstorming
Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Public Key Cryptography Standards (PKCS), Cryptography, Data Structures, Algorithms, Encryption, Theoretical Computer Science, Computer Science, Programming Principles, Computational Thinking, IBM Cloud, Advanced Mathematics
Build toward a degree
Advanced · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Computational Logic, Verification And Validation, Theoretical Computer Science, Systems Design, Model Evaluation, Simulations, Algorithms, Safety and Security
Beginner · Course · 1 - 4 Weeks

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

University of Colorado Boulder
Skills you'll gain: Real-Time Operating Systems, Embedded Systems, Embedded Software, Software Design, Linux, System Design and Implementation, OS Process Management, C (Programming Language), Verification And Validation, Mathematical Modeling, Algorithms, Applied Mathematics
Advanced · Course · 1 - 4 Weeks

Rice University
Skills you'll gain: Computational Thinking, Algorithms, Theoretical Computer Science, Bioinformatics, Data Structures, Big Data, Python Programming, Data Analysis, Machine Learning Algorithms, Unsupervised Learning, Analysis
Intermediate · 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

É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

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

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

Clemson University
Skills you'll gain: Data Structures, Algorithms, Computational Thinking, Theoretical Computer Science, Computer Programming, Computer Science, Probability, Design Strategies, Analysis, Performance Testing, Scalability
Build toward a degree
Intermediate · Course · 1 - 3 Months