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: Data Structures, Development Environment, C++ (Programming Language), Debugging, Computational Thinking, Integrated Development Environments, Computer Programming
Beginner · Course · 1 - 4 Weeks

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Web Servers, Distributed Computing, Network Troubleshooting, Servers, Network Architecture, System Programming, Network Protocols, Systems Architecture, TCP/IP, Computer Networking, Network Performance Management, Scalability, File Transfer Protocol (FTP), System Design and Implementation, Web Services, Microservices, Debugging, OS Process Management, Software Development, Application Programming Interface (API)
Beginner · Course · 1 - 3 Months

Korea Advanced Institute of Science and Technology(KAIST)
Skills you'll gain: Scala Programming, Other Programming Languages, Computer Programming, Programming Principles, Theoretical Computer Science, Extensible Languages and XML, Concept Of Operations
Mixed · Course · 1 - 3 Months

Codio
Skills you'll gain: Algorithms, C++ (Programming Language), Data Structures, Theoretical Computer Science, Computer Programming, Programming Principles, Computational Thinking
Intermediate · Course · 1 - 4 Weeks

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

Skills you'll gain: Bash (Scripting Language), Operating Systems, File Systems, Linux Commands, Linux, SQL, Unix, Database Management, Command-Line Interface, Relational Databases, Authorization (Computing), Authentications, User Accounts
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Verification And Validation, Computational Logic, Theoretical Computer Science, Automation, System Testing, Systems Design, System Design and Implementation, Algorithms
Build toward a degree
Intermediate · Course · 1 - 4 Weeks
Stanford University
Skills you'll gain: Cryptography, Data Encryption Standard, Encryption, Key Management, Advanced Encryption Standard (AES), Public Key Cryptography Standards (PKCS), Cybersecurity, Authentications, Data Integrity, Secure Coding, Algorithms
Mixed · Course · 1 - 3 Months

Skills you'll gain: Software Development Life Cycle, Linux Commands, Software Architecture, Bash (Scripting Language), Restful API, Shell Script, Git (Version Control System), GitHub, Flask (Web Framework), Software Design, Version Control, File Management, Application Deployment, Linux, Software Development Methodologies, Software Design Patterns, Data Import/Export, Programming Principles, Web Scraping, Python Programming
Beginner · Specialization · 3 - 6 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