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.

Meta
Skills you'll gain: Jest (JavaScript Testing Framework), React.js, Web Development Tools, UI Components, Unit Testing, Mobile Development Tools, Code Reusability, JavaScript Frameworks, Frontend Integration, Webpack, Front-End Web Development, Application Development, Software Design Patterns, Javascript, Web Applications, Dataflow, Data Access, Hypertext Markup Language (HTML), Data Sharing, User Interface (UI)
Intermediate · Specialization · 1 - 3 Months

Rice University
Skills you'll gain: Apache Kafka, Apache Spark, Apache Hadoop, Event-Driven Programming, Distributed Computing, Java Programming, Dataflow, Java, OS Process Management, Scala Programming, Data Structures, System Programming, Programming Principles, Servers, Application Frameworks, Computer Programming, Algorithms, Performance Tuning, Computer Science, Functional Design
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Prompt Engineering, Prompt Patterns, Unit Testing, Large Language Modeling, LangChain, Retrieval-Augmented Generation, Data Wrangling, Responsible AI, Exploratory Data Analysis, Unsupervised Learning, Model Evaluation, Generative Model Architectures, PyTorch (Machine Learning Library), ChatGPT, Generative AI, LLM Application, Keras (Neural Network Library), Vector Databases, Fine-tuning, Data Import/Export
Beginner · Professional Certificate · 3 - 6 Months

Rice University
Skills you'll gain: Programming Principles, Python Programming, Computational Logic, Development Environment, Computer Programming, Program Development, Integrated Development Environments, Debugging
Beginner · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Software Design Patterns, Debugging, Computer Programming, Programming Principles, Unit Testing, Algorithms, C (Programming Language), Program Development, Software Design, Graph Theory, Software Testing, Code Reusability, Memory Management, C and C++
Intermediate · Specialization · 3 - 6 Months

Rice University
Skills you'll gain: Java Programming, Java, Data Structures, System Programming, Programming Principles, Computer Programming, Algorithms, Computer Science, Data Sharing
Intermediate · Course · 1 - 3 Months

Skills you'll gain: File I/O, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Computer Programming, Data Import/Export, Data Structures, Python Programming, Data Persistence, Computational Logic, Code Reusability, Computer Science, Data Storage, File Management
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Prompt Engineering, AI Orchestration, AI Workflows, LangGraph, Agentic Workflows, LangChain, Retrieval-Augmented Generation, LLM Application, Prompt Patterns, Tool Calling, Agentic systems, Multimodal Prompts, Model Context Protocol, Generative AI Agents, Generative AI, AI Security, Vector Databases, AI Integrations, OpenAI API, Software Development
Advanced · Professional Certificate · 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, Software Engineering, Data Structures, Memory Management, Computer Programming Tools, Debugging, Program Development
Intermediate · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Event-Driven Programming, Interactive Data Visualization, Java, Java Programming, Object Oriented Programming (OOP), User Interface (UI), Object Oriented Design, Computer Programming, User Interface (UI) Design, Algorithms, Software Engineering, Geospatial Mapping, Programming Principles, Software Documentation
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Software Development Life Cycle, Software Architecture, Full-Stack Web Development, Software Design, Web Development, Software Development Methodologies, Software Design Patterns, Development Environment, Unified Modeling Language, Software Engineering, Web Applications, Software Development Tools, Software Development, Application Deployment, Programming Principles, Front-End Web Development, Web Language, Back-End Web Development, Integrated Development Environments, Python Programming
Beginner · Course · 1 - 3 Months
Skills you'll gain: Data Ethics, Data Analysis, Analytics, Data-Driven Decision-Making, Spreadsheet Software, Analytical Skills, Tableau Software, Data Sharing, Data Cleansing, Data Processing, Data Visualization Software, Data Visualization, SQL
Beginner · Course · 1 - 4 Weeks