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 Boulder
Skills you'll gain: Systems Design, Computational Logic, Verification And Validation, Computer Engineering, Communication Systems, Software Systems, Process Modeling, Theoretical Computer Science, Graph Theory
Beginner · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Debugging, Computer Programming Tools, Algorithms, Classroom Management, Programming Principles, Computational Thinking, Diversity Awareness, Digital pedagogy, Program Development, Technical Communication, Event-Driven Programming, Computer Programming, Computational Logic, Education Software and Technology, Collaborative Software, Cultural Responsiveness, Code Review, Diversity Equity and Inclusion Initiatives, Computer Science, Brainstorming
Beginner · Specialization · 3 - 6 Months

University of California, Davis
Skills you'll gain: Social Network Analysis, Social Sciences, Network Analysis, Data Science, Machine Learning, Machine Learning Methods, Computational Thinking, Economics, Policy, and Social Studies, Artificial Intelligence, Data Analysis, Social Impact, Simulations, Big Data, Data Collection, Scientific Methods, Digital Analysis, Digital Transformation
Beginner · Course · 1 - 4 Weeks

É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

University of Colorado Boulder
Skills you'll gain: Hardware Architecture, Microarchitecture, Memory Management, Cloud Development, Computing Platforms
Intermediate · Course · 1 - 3 Months

É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
Mixed · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Program Development, Computational Thinking, Education Software and Technology, Collaborative Software, Digital pedagogy, Programming Principles, Debugging, Computer Programming, Computer Programming Tools, Algorithms, Computer Science, Brainstorming
Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Cybersecurity, Vulnerability Management, Multi-Factor Authentication, Linux
Beginner · Course · 1 - 4 Weeks

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

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), Machine Learning Methods, Network Model, Psychology
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Data Ethics, Security Awareness, Ethical Standards And Conduct, Cybersecurity, Responsible AI, digital literacy, Information Privacy, Social Impact, AI Personalization, Media and Communications, Data Security, Personally Identifiable Information, Law, Regulation, and Compliance, General Data Protection Regulation (GDPR), Data Collection
Build toward a degree
Beginner · Course · 1 - 4 Weeks

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