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.

Universidad Nacional Autónoma de México
Skills you'll gain: Android Development, Android Studio, Mockups, Android (Operating System), Java, Mobile Development, Object Oriented Programming (OOP), Java Programming, Prototyping, Application Design, Application Development, Wireframing, Software Design Patterns, JSON, Application Lifecycle Management, User Interface (UI) Design, Program Development, Restful API, Geospatial Information and Technology, Instagram
Intermediate · Specialization · 3 - 6 Months
University of California, Irvine
Skills you'll gain: Blockchain, Cryptography, Encryption, FinTech, Data Sharing, Transaction Processing, Fraud detection, Distributed Computing, Payment Systems, Data Integrity, Emerging Technologies, Digital Assets, Authentications, Software Systems, Data Security, Computer Systems, Software Architecture, Network Security, Version Control, Network Analysis
Beginner · Specialization · 3 - 6 Months

University of Illinois Urbana-Champaign
Skills you'll gain: Graph Theory, Data Structures, Unstructured Data, Network Routing, Algorithms
Mixed · Course · 1 - 4 Weeks

University of Alberta
Skills you'll gain: Model View Controller, Software Design Patterns, Software Design, Unified Modeling Language, Object Oriented Design, Code Review, Software Architecture, Programming Principles, Maintainability, Java, Application Design
Intermediate · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Unity Engine, Video Game Development, Object Oriented Programming (OOP), C# (Programming Language), Software Design Patterns, Event-Driven Programming, Computer Programming, UI Components, Data Import/Export, Debugging, File Management
Intermediate · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), Data Structures, C and C++, Object Oriented Programming (OOP), Computer Programming, Unit Testing, Algorithms, Computer Science, Debugging, Integration Testing, Software Design
Intermediate · Course · 1 - 3 Months

University of California, Davis
Skills you'll gain: DevOps, CI/CD, Process Mapping, Culture Transformation, Continuous Improvement Process, Lean Methodologies, Risk Management, Process Improvement, Organizational Structure, Kanban Principles, Operational Efficiency, User Feedback, Systems Thinking
Intermediate · Course · 1 - 4 Weeks
University of Alberta
Skills you'll gain: Agile Methodology, Kanban Principles, Agile Software Development, Software Development Methodologies, Software Development Life Cycle, Scrum (Software Development), Software Engineering, Process Driven Development
Mixed · Course · 1 - 4 Weeks

LearnQuest
Skills you'll gain: Visual Basic (Programming Language), Development Environment, Program Development, Microsoft Development Tools, .NET Framework, Data Storage, Computer Programming, Software Development, Computational Logic, Cross Platform Development, Command-Line Interface, Debugging
Beginner · Course · 1 - 4 Weeks

The Hong Kong University of Science and Technology
Skills you'll gain: Android Development, User Interface (UI), Mobile Development, Interactive Design, Application Development, No-Code Development, Data Storage, Game Design, Program Development, Geographic Information Systems, Programming Principles, Computer Programming, Development Testing
Beginner · Course · 1 - 3 Months

Skills you'll gain: JUnit, Test Driven Development (TDD), Version Control, Git (Version Control System), GitHub, Performance Tuning, Unit Testing, Data Structures, Java Programming, Development Testing, Algorithms, Program Development, Software Testing, Java, Computer Programming, Software Development, Programming Principles, Debugging, Scalability
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Agile Methodology, Scrum (Software Development), System Programming, Embedded Software, Embedded Systems, Software Testing, Agile Software Development, Linux, Linux Administration, Shell Script, Docker (Software), Git (Version Control System), Linux Commands, Bash (Scripting Language), Operating Systems, C++ (Programming Language), File Systems, OS Process Management, Debugging, Internet Of Things
Intermediate · Specialization · 1 - 3 Months