Algorithm design courses can help you learn sorting algorithms, graph theory, dynamic programming, and complexity analysis. You can build skills in problem-solving, optimizing code efficiency, and understanding data structures like trees and hash tables. Many courses introduce tools such as Python, Java, or C++, along with frameworks for implementing algorithms, that support tasks in artificial intelligence, data analysis, and software development.

Skills you'll gain: Field-Programmable Gate Array (FPGA), Electronic Systems, Hardware Design, Application Specific Integrated Circuits, Electronics Engineering, Serial Peripheral Interface, Computational Logic, Electrical Engineering, Computer Architecture, Schematic Diagrams, Semiconductors, Electronic Hardware, Electronics, Electronic Components, Internet Of Things, Embedded Systems, Theoretical Computer Science, Electrical and Computer Engineering, Diagram Design, Programmable Logic Controllers
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Computational Thinking, Algorithms, Graph Theory, Data Structures, C++ (Programming Language), C and C++, Programming Principles, Computer Programming, Object Oriented Programming (OOP), Technical Design, Theoretical Computer Science
Intermediate · Specialization · 1 - 3 Months

Skills you'll gain: Data Structures, Graph Theory, Algorithms, Computational Thinking
Intermediate · Course · 1 - 3 Months

Scrimba
Skills you'll gain: Software Design Patterns, Computational Thinking, Software Design, Algorithms, Program Development, Software Development, Software Engineering, Programming Principles, Computer Programming, Problem Solving, Data Structures, Computer Science, Javascript, Web Development, Machine Learning Methods, Data Science
Intermediate · Specialization · 1 - 4 Weeks

Skills you'll gain: Data Structures, Algorithms, Programming Principles, Computational Thinking
Intermediate · Course · 1 - 3 Months

Arizona State University
Skills you'll gain: Experimentation, Sample Size Determination, Research Design, Regression Analysis, Statistical Analysis, Statistical Methods, Data Analysis Software, Statistical Modeling, Statistical Hypothesis Testing, Design Strategies, Sampling (Statistics), Probability & Statistics, Mathematical Modeling, Analysis, Model Evaluation, Data Transformation, Descriptive Statistics, Probability Distribution, Variance Analysis, Data Analysis
Beginner · Specialization · 3 - 6 Months

University of Alberta
Skills you'll gain: Software Architecture, Model View Controller, Unified Modeling Language, Object Oriented Design, Service Oriented Architecture, API Design, Web Services, Software Design Patterns, Software Design, Simple Object Access Protocol (SOAP), Microservices, Restful API, Code Review, Product Family Engineering, Software Systems, Object Oriented Programming (OOP), Java, Software Development, Software Documentation, Maintainability
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Graph Theory, Network Analysis, Social Network Analysis, NoSQL, Data Science, Query Languages, Visualization (Computer Graphics), Applied Machine Learning, Data Transformation, Big Data, Python Programming, Spatial Data Analysis, Advanced Analytics, Deep Learning, Machine Learning, Machine Learning Algorithms, Time Series Analysis and Forecasting, Simulations
Intermediate · Course · 3 - 6 Months

Princeton University
Skills you'll gain: Graph Theory, Data Structures, Algorithms, Theoretical Computer Science, Operations Research, Computational Thinking, Computer Programming, Network Routing, Java Programming, Linear Algebra
Intermediate · Course · 3 - 6 Months

Alberta Machine Intelligence Institute
Skills you'll gain: Supervised Learning, Data Preprocessing, Feature Engineering, Responsible AI, Machine Learning Algorithms, Data Ethics, Applied Machine Learning, Model Evaluation, Data Quality, Classification Algorithms, MLOps (Machine Learning Operations), Model Deployment, Jupyter, Data Validation, Machine Learning, Decision Tree Learning, Business Operations, Data Cleansing, Product Lifecycle Management, Project Management
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Theoretical Computer Science, Algorithms, Computational Thinking, Pseudocode, Data Structures, Design Strategies, Programming Principles, Computer Science, Advanced Mathematics, Python Programming, Analysis
Build toward a degree
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Data Structures, Graph Theory, Algorithms, Java, Java Programming, Theoretical Computer Science, Computer Programming, Computational Thinking, Programming Principles, Performance Tuning, Object-Relational Mapping, Computer Programming Tools
Intermediate · Specialization · 1 - 3 Months