Theoretical computer science courses can help you learn algorithms, computational complexity, automata theory, and formal languages. You can build skills in problem-solving, mathematical reasoning, and algorithm analysis, that support tackling complex computational tasks. Many courses introduce tools like Python for algorithm implementation, LaTeX for typesetting mathematical documents, and software for simulating automata, allowing you to apply these concepts in practical scenarios.

University of Colorado System
Skills you'll gain: Cryptography, Brute-force attacks
★ 4.5 (554) · Intermediate · Course · 1 - 4 Weeks
University of Colorado Boulder
Skills you'll gain: Computational Logic, Systems Design, Verification And Validation, Systems Analysis, Functional Specification, Software Architecture, Model Optimization, Software Design, Software Testing, Software Quality Assurance, Computer Architecture, Logical Reasoning, Algorithms, Software Quality (SQA/SQC)
★ 4.7 (13) · Beginner · Specialization · 1 - 3 Months

★ 4.4 (44) · Advanced · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Graph Theory, Algorithms
★ 4.5 (1.1K) · Beginner · Course · 1 - 3 Months
University of Washington
Skills you'll gain: Network Model, Supervised Learning, Machine Learning Algorithms, Artificial Neural Networks, Reinforcement Learning, Mathematical Modeling, Recurrent Neural Networks (RNNs)
★ 4.6 (1.1K) · Beginner · Course · 1 - 3 Months

The Chinese University of Hong Kong
Skills you'll gain: Communication Systems, Probability Distribution, Algorithms
★ 4.7 (171) · Mixed · Course · 3 - 6 Months

University of California San Diego
Skills you'll gain: Debugging, Computer Programming Tools, Algorithms, Computational Thinking, Diversity Awareness, Digital pedagogy, Programming Principles, Program Development, Technical Communication, Event-Driven Programming, Computer Programming, Computational Logic, Education Software and Technology, Cultural Responsiveness, Diversity Equity and Inclusion Initiatives, Computer Science, Software Documentation, Code Reusability, Brainstorming, Data Structures
★ 4.7 (33) · Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Data Structures, Algorithms, Java, Java Programming, Programming Principles, Computer Programming, Performance Tuning
Beginner · Course · 1 - 3 Months
University of London
Skills you'll gain: Computer Science, Computer Systems, Web Applications, Computer Literacy, General Networking, Network Security, Computer Networking, Application Security, Debugging, Cybersecurity
★ 4.6 (582) · Beginner · Course · 1 - 4 Weeks

École normale supérieure
Skills you'll gain: Sampling (Statistics), Mathematical Software, Physics, Simulations, Numerical Analysis, Markov Model, Mechanics, Simulation and Simulation Software, Algorithms, Programming Principles, Applied Mathematics, Integral Calculus, Model Optimization, Program Development
★ 4.8 (274) · Mixed · Course · 1 - 3 Months

The Hong Kong University of Science and Technology
Skills you'll gain: Computational Logic, Logical Reasoning, Deductive Reasoning, Data Structures, Algorithms
Beginner · Course · 1 - 3 Months

Skills you'll gain: Data Structures, Algorithms, Computer Programming
★ 4.6 (7) · Intermediate · Course · 1 - 3 Months