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.

University of Michigan
Skills you'll gain: Qualitative Research, User Research, Usability Testing, User Centered Design, Research Methodologies, Needs Assessment, Interviewing Skills, Research, Human Computer Interaction, Data Collection
Beginner · Course · 1 - 3 Months

Skills you'll gain: 3D Modeling, Computer Graphics, SketchUp (3D Modeling Software), 3D Assets, Visualization (Computer Graphics), Virtual Environment, Architectural Design, Image Quality, Performance Tuning, Design, Creative Design, Game Design, Design Elements And Principles, Aesthetics
Intermediate · Specialization · 3 - 6 Months

University of Illinois Urbana-Champaign
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Development Environment, Engineering Software, Computer Programming, Data Structures, Debugging, Program Development
Intermediate · Course · 1 - 4 Weeks

University of Toronto
Skills you'll gain: Swift Programming, Apple iOS, Model View Controller, Apple Xcode, Mobile Development, Objective-C (Programming Language), User Interface (UI), Application Design, Application Development, Object Oriented Programming (OOP), Programming Principles, UI Components, Animations, User Interface and User Experience (UI/UX) Design, Application Frameworks, Interaction Design, Development Environment, Computer Programming, Image Analysis, Persistence
Intermediate · Specialization · 3 - 6 Months
Starweaver
Skills you'll gain: Endpoint Detection and Response, Threat Detection, MITRE ATT&CK Framework, Cyber Threat Hunting, Cyber Threat Intelligence, Intrusion Detection and Prevention, Threat Modeling, Security Information and Event Management (SIEM), Cyber Security Strategy, Cybersecurity, Malware Protection, Data Loss Prevention, Cyber Attacks, Data Security, Encryption, System Implementation, Open Source Technology
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Operating System Administration, Cloud Computing, Linux Commands, Linux Administration, Linux Servers, Cloud Security, Operating Systems, Windows PowerShell, Windows Servers, File Systems, System Software, Mac OS, Command-Line Interface, Active Directory, Computer Systems, Virtual Machines, Firewall, Virtualization, Containerization, User Accounts
Beginner · Course · 1 - 3 Months

Skills you'll gain: User Experience, UI/UX Research, User Experience Design, Usability Testing, Design Research, Data Visualization, Usability, User Centered Design, User Research, Interactive Data Visualization, Data Analysis, Qualitative Research, Quantitative Research, Data Validation
Beginner · Course · 3 - 6 Months

University of Colorado System
Skills you'll gain: Object Oriented Design, Unity Engine, Debugging, Object Oriented Programming (OOP), Game Design, Video Game Development, Software Design Patterns, Data Structures, C# (Programming Language), Prototyping, Graph Theory, Computer Programming, Data Management, Event-Driven Programming, Software Architecture, Application Design, Algorithms, Computational Thinking, Data Storage, Application Development
Beginner · Specialization · 3 - 6 Months

University of Washington
Skills you'll gain: Other Programming Languages, Software Design, Ruby (Programming Language), Programming Principles, Data Structures, Software Architecture, Computer Programming, Functional Design, Debugging
Intermediate · Course · 1 - 4 Weeks

LearnQuest
Skills you'll gain: Eclipse (Software), Java, Java Programming, Integrated Development Environments, Development Environment, Software Installation, Computer Programming, Programming Principles, Program Development, Object Oriented Programming (OOP)
Beginner · Course · 1 - 4 Weeks

Universidad de los Andes
Skills you'll gain: Computational Thinking, Data Structures, Matplotlib, NumPy, Pandas (Python Package), Computer Programming, Data Manipulation, Python Programming, Algorithms, Data Analysis, Debugging
Beginner · Course · 1 - 4 Weeks

Dartmouth College
Skills you'll gain: C (Programming Language), Programming Principles, Embedded Systems, Program Development, Computer Engineering, Development Environment, Algorithms, Data Structures, System Programming, Computer Programming, Debugging
Beginner · Course · 1 - 3 Months