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.

Coursera
Skills you'll gain: Java, Application Development, Java Programming, Software Engineering, Microsoft Visual Studio, Data Structures, Programming Principles, Algorithms
★ 4.4 (10) · Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: Apache Kafka, Spring Boot, JUnit, Real Time Data, Java, Data Pipelines, Unit Testing, Restful API, Integration Testing, Scalability
Intermediate · Course · 3 - 6 Months

Macquarie University
Skills you'll gain: Human Factors (Security), Security Awareness, Safety Culture, Computer Security Awareness Training, Cyber Governance, Cyber Security Strategy, User Experience, Cyber Attacks, Security Strategy, Cyber Security Policies, Security Management, Usability, Cyber Risk, Cybersecurity, Cyber Security Assessment, Ethical Standards And Conduct, Network Security, Employee Training, Information Privacy, Accountability
★ 4.9 (14) · Beginner · Course · 1 - 3 Months

Skills you'll gain: Transaction Processing, Data Persistence, Performance Tuning, System Programming, Memory Management, Operating Systems, C++ (Programming Language), C (Programming Language), System Configuration, Hardware Architecture, Data Storage, Computer Hardware, Data Storage Technologies, Computing Platforms, Program Development, Application Development
★ 5 (71) · Beginner · Course · 1 - 4 Weeks

Skills you'll gain: 3D Modeling, 3D Assets, Computer Graphic Techniques, Computer Graphics, Visualization (Computer Graphics), File Management, Graphical Tools
Intermediate · Course · 3 - 6 Months

Universidad de los Andes
Skills you'll gain: Game Design, Video Game Development, Scrum (Software Development), Agile Methodology, Agile Software Development, Software Design Documents, Software Development Methodologies, Augmented and Virtual Reality (AR/VR), Virtual Reality, Software Documentation, Backlogs, Sprint Planning, Video Production, Prototyping, Digital Publishing, User Interface (UI)
★ 5 (7) · Intermediate · Course · 1 - 3 Months

LearnQuest
Skills you'll gain: Test Driven Development (TDD), Unit Testing, Development Testing, Software Testing, Java, Test Case, Maintainability, Software Design
★ 3.6 (17) · Intermediate · Course · 1 - 4 Weeks

Coursera
Skills you'll gain: Eclipse (Software), Java, Integrated Development Environments, Java Programming, Code Reusability, Functional Design
★ 4.2 (21) · Intermediate · Guided Project · Less Than 2 Hours

Codio
Skills you'll gain: Prompt Engineering, OpenAI API, Multimodal Prompts, Generative AI, Photo Editing, OpenAI, Animations, Computer Graphics, Application Programming Interface (API), Graphic and Visual Design
★ 4.3 (12) · Beginner · Course · 1 - 4 Weeks

Skills you'll gain: TypeScript
★ 4.4 (19) · Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: Unreal Engine, Game Design, User Interface (UI), Video Game Development, User Interface (UI) Design, Virtual Environment, Visualization (Computer Graphics), No-Code Development, Software Installation, Content Management, Event-Driven Programming
★ 4.3 (6) · Beginner · Course · 1 - 3 Months

University of Cape Town
Skills you'll gain: Climate Change Adaptation, Climate Change Programs, Water Resources, Water Sustainability, Sustainable Development, Environmental Policy, Hydrology, Water Resource Management, Land Management, Environmental Science, Environmental Resource Management, Environment, Natural Resource Management, Environment and Resource Management, Socioeconomics, Economic Development, Vulnerability, Governance
★ 4.8 (127) · Beginner · Course · 1 - 3 Months