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: Event-Driven Programming, Debugging, Game Design, Animation and Game Design, Program Development, Algorithms, Computer Programming, Application Development, Problem Solving, Design, Computer Science
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Debugging, Java Programming, Java, Programming Principles, Computer Programming, Computer Science, Data Structures, Data Storage
Beginner · Course · 1 - 4 Weeks

DeepLearning.AI
Skills you'll gain: Tensorflow, Computer Vision, Image Analysis, Keras (Neural Network Library), Deep Learning, Artificial Neural Networks, Artificial Intelligence, Machine Learning
Intermediate · Course · 1 - 4 Weeks

Birla Institute of Technology & Science, Pilani
Skills you'll gain: C (Programming Language), Computer Hardware, Computer Programming, Computer Architecture, Computational Thinking, Data Structures, Algorithms, File Management, Operating Systems, Program Development, Debugging
Build toward a degree
Beginner · Course · 1 - 3 Months

JetBrains
Skills you'll gain: Object Oriented Programming (OOP), Data Structures, Software Development Tools
Beginner · Course · 1 - 3 Months
Duke University
Skills you'll gain: Java Programming, Software Design, Debugging, Software Engineering, Javascript, Computer Programming, Event-Driven Programming, Encryption, Algorithms, Image Analysis, Web Applications, Data Processing, Statistical Analysis, Data Import/Export, Predictive Modeling, Integrated Development Environments, Data Manipulation, Data Analysis, Web Servers, Cascading Style Sheets (CSS)
Beginner · Specialization · 3 - 6 Months

Universidad Nacional Autónoma de México
Skills you'll gain: Bayesian Network, Computational Logic, Markov Model, Artificial Intelligence, Game Theory, Theoretical Computer Science, Python Programming, Deductive Reasoning, Probability, Mathematical Modeling, Algorithms
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Programming Principles, Computer Programming, Scripting Languages, Python Programming, Scripting, Computer Science
Intermediate · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), Data Structures, C and C++, Object Oriented Programming (OOP), Software Design Patterns, Debugging, Computer Programming, Unit Testing, Algorithms, C (Programming Language), Programming Principles, Integrated Development Environments, Graph Theory, Computer Science, File Systems, Artificial Intelligence, Integration Testing, Software Design, Game Design
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Data Structures, Development Environment, C++ (Programming Language), Debugging, Computational Thinking, Integrated Development Environments, Computer Programming
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: CI/CD, Software Development Life Cycle, Open Web Application Security Project (OWASP), Continuous Integration, Istio, Linux Commands, Software Architecture, Agile Software Development, Cloud Computing Architecture, Application Deployment, Test Driven Development (TDD), Gherkin (Scripting Language), Kubernetes, Restful API, Git (Version Control System), DevOps, Grafana, Software Engineering, Data Import/Export, Application Development
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months

Skills you'll gain: Game Design, Programming Principles, Python Programming, Scripting, Computer Programming, Scripting Languages, Computer Science
Beginner · Guided Project · Less Than 2 Hours