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.

Skills you'll gain: User Research, JSON, Hypertext Markup Language (HTML), User Experience Design, Design Research, Linux Commands, Javascript, Unix, Usability, Cascading Style Sheets (CSS), User Centered Design, Experience Design, Software Visualization, Web Content Accessibility Guidelines, Pseudocode, User Interface and User Experience (UI/UX) Design, UI Components, Unit Testing, Mobile Development Tools, Code Reusability
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months

Duke University
Skills you'll gain: Debugging, Bioinformatics, Java, Algorithms, Java Programming, Program Development, Object Oriented Design, Programming Principles, Statistical Analysis, Software Design, Computer Programming, File I/O, Data Processing, Software Documentation, Data Manipulation, Object Oriented Programming (OOP), Data Analysis, Descriptive Statistics, Web Scraping, Problem Solving
Beginner · Course · 1 - 3 Months

Coursera
Skills you'll gain: Data Science, Web Applications, Python Programming, Data Analysis, Programming Principles, Artificial Intelligence, Computer Programming, Game Design
Beginner · Guided Project · Less Than 2 Hours

Peking University
Skills you'll gain: Data Structures, Algorithms, C++ (Programming Language), Memory Management, C and C++, Graph Theory, Object Oriented Programming (OOP), File I/O, Object Oriented Design, Computational Thinking, C (Programming Language), Programming Principles, Theoretical Computer Science, Program Development, Computer Programming, Computer Science, Application Development, Systems Development, Data Storage, Computer Architecture
Beginner · Specialization · 3 - 6 Months

University of California San Diego
Skills you'll gain: Graph Theory, Data Structures, Java Programming, Java, Object Oriented Design, Software Design, Algorithms, Theoretical Computer Science, Code Reusability, Object Oriented Programming (OOP), Network Routing, Application Design, Application Development
Intermediate · Course · 1 - 3 Months

University of Maryland, College Park
Skills you'll gain: Cybersecurity, Cyber Security Policies, Cyber Risk, Cyber Attacks, Cyber Governance, Cyber Security Strategy, Security Management, Infrastructure Security, Data Security, Threat Modeling, Computer Security, Security Awareness, Risk Management, Enterprise Security, Vulnerability, Governance, General Networking, Public Safety and National Security, Threat Detection, Artificial Intelligence
Beginner · Specialization · 3 - 6 Months

University of Illinois Urbana-Champaign
Skills you'll gain: Data Structures, Data Storage, Algorithms, Database Systems, Theoretical Computer Science
Mixed · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Debugging, File I/O, Memory Management, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, Test Planning, Simulations, Test Case, System Programming, Computer Programming, Data Structures, Software Development, C and C++, Software Engineering, Problem Solving, Software Design
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Event-Driven Programming, Debugging, Programming Principles, Algorithms, Video Game Development, Computer Programming Tools, Game Design, Computer Programming, Program Development, Animation and Game Design, Interactive Design, Computer Science
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Cloud Deployment, Software Development Life Cycle, OpenShift, Istio, Kubernetes, Node.JS, Software Architecture, Application Deployment, Restful API, Database Design, CI/CD, Cloud-Native Computing, Responsive Web Design, NoSQL, Git (Version Control System), Front-End Web Development, Ajax, Javascript, Azure DevOps, Software Development
Beginner · Professional Certificate · 3 - 6 Months

Pontificia Universidad Católica de Chile
Skills you'll gain: File I/O, Python Programming, Code Reusability, Data Structures, Programming Principles, Computer Programming, Program Development, Application Development, Computational Logic
Beginner · Course · 1 - 3 Months

DeepLearning.AI
Skills you'll gain: Convolutional Neural Networks, Recurrent Neural Networks (RNNs), Computer Vision, Transfer Learning, Deep Learning, Image Analysis, Model Optimization, Artificial Intelligence and Machine Learning (AI/ML), Hugging Face, Natural Language Processing, Artificial Neural Networks, Tensorflow, Applied Machine Learning, Model Training, Fine-tuning, Generative AI, Embeddings, Supervised Learning, Large Language Modeling, Artificial Intelligence
Build toward a degree
Intermediate · Specialization · 3 - 6 Months