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.
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: Python Programming, Command-Line Interface, Programming Principles, Computer Programming, Scripting, Scripting Languages, Development Environment
Beginner · Guided Project · Less Than 2 Hours

Peking University
Skills you'll gain: Algorithms, Pseudocode, Theoretical Computer Science, Mathematical Modeling, Computational Thinking, Applied Mathematics, Data Structures, Graph Theory, Mathematical Theory & Analysis, Design Strategies, Bioinformatics
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

Rice University
Skills you'll gain: Data Visualization Software, Data Visualization, Plot (Graphics), Package and Software Management, Python Programming, Data Cleansing, Programming Principles, Data Processing, Data Manipulation, Software Installation, Development Environment, Data Structures, File Management, Scripting, Data Storage, Data Import/Export, Data Analysis, Program Development, Data Integration, Computer Programming
Beginner · Specialization · 3 - 6 Months

University of Michigan
Skills you'll gain: Debugging, Programming Principles, Python Programming, Data Structures, Computer Programming, Pseudocode, Computer Graphics
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Incident Response, Computer Security Incident Management, Intrusion Detection and Prevention, Event Monitoring, Threat Detection, Incident Management, Security Information and Event Management (SIEM), Cybersecurity, Cyber Threat Hunting, Continuous Monitoring, Network Security, Network Monitoring, Document Management, Network Analysis, Splunk, Technical Documentation, TCP/IP, Network Protocols
Beginner · 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

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

EIT Digital
Skills you'll gain: Verification And Validation, Systems Design, Process Driven Development, Systems Analysis, Mathematical Modeling, Data Modeling, Theoretical Computer Science, Distributed Computing, Algorithms, Data Structures
Intermediate · Course · 1 - 4 Weeks
Multiple educators
Skills you'll gain: Unit Testing, Data Structures, Event-Driven Programming, Interactive Data Visualization, Java, Java Programming, User Interface (UI), Object Oriented Programming (OOP), Debugging, Object Oriented Design, Computer Programming, Cryptography, Software Engineering, Performance Tuning, Encryption, Algorithms, Programming Principles, Data Analysis, Software Design, Problem Solving
Beginner · Specialization · 3 - 6 Months