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.

Epic Games
Skills you'll gain: Game Design, Video Game Development, Prototyping, Unreal Engine, System Design and Implementation, Creativity, Innovation, Storytelling
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Real-Time Operating Systems, Embedded Systems, Embedded Software, System Programming, System Design and Implementation, Software Design, OS Process Management, Linux, Systems Analysis, Test Tools, Theoretical Computer Science, Verification And Validation, Algorithms
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: User Research, Figma (Design Software), Design Research, User Experience Design, Prototyping, Wireframing, UI/UX Research, Persona (User Experience), User Experience, User Centered Design, Collaborative Software, Interactive Design, Persona Development
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Mockups, User Flows, Wireframing, Interaction Design, Interactive Design, User Interface and User Experience (UI/UX) Design, User Interface (UI), Application Design, Experience Design, User Experience Design, UI Components, Design
Beginner · Guided Project · Less Than 2 Hours

The University of Chicago
Skills you'll gain: Climate Change Programs, Mathematical Modeling, Predictive Modeling, Physical Science, Simulation and Simulation Software, Environmental Science, Process Modeling, Simulations, Numerical Analysis, Programming Principles
Mixed · Course · 1 - 3 Months

Skills you'll gain: File I/O, Plot (Graphics), Pandas (Python Package), Data Persistence, NumPy, Scripting, Object Oriented Programming (OOP), Python Programming, Query Languages, Databases, Object Oriented Design, Data Import/Export, Data Access, File Management
Beginner · Course · 1 - 4 Weeks

Coursera
Skills you'll gain: Object Oriented Programming (OOP), Java, Object Oriented Design, Java Programming, Computer Programming
Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: Data Access, Object Oriented Design, Relational Databases, Object Oriented Programming (OOP), Database Software, JUnit, Data Integrity, SQL, Database Development, Java, Java Programming, Database Management, Databases
Beginner · Course · 1 - 4 Weeks

Coursera
Skills you'll gain: Hypertext Markup Language (HTML), Web Development, HTML and CSS, Web Design and Development, Web Development Tools, Web Design, Development Testing
Intermediate · Guided Project · Less Than 2 Hours

Logical Operations
Skills you'll gain: File I/O, File Management, File Systems, Python Programming, Data Import/Export, Programming Principles, Computer Programming, Object Oriented Programming (OOP), Software Development
Mixed · Course · 1 - 4 Weeks

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Scalability, Distributed Computing, Dataflow, Event-Driven Programming, Microservices, System Design and Implementation, Software Architecture, Data Pipelines, Software Design Patterns, Software Design, Functional Design, Cloud Computing
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Exploratory Data Analysis, NumPy, Data Visualization, Data Analysis, Plot (Graphics), Seaborn, Matplotlib, Statistical Visualization, Cloud Computing, Jupyter, Dimensionality Reduction, Data Science, Unsupervised Learning, Scikit Learn (Machine Learning Library), Machine Learning Methods, Numerical Analysis, Python Programming, Data Manipulation
Intermediate · Guided Project · Less Than 2 Hours