• For Individuals
  • For Businesses
  • For Universities
  • For Governments
Log In
Join for Free
  • Browse
  • Dynamic Programming

Dynamic Programming Courses Online

Master dynamic programming techniques for solving complex problems. Learn to break down problems into simpler subproblems for efficient solutions.


Explore the Dynamic Programming Course Catalog


  • Status: Free Trial
    Free Trial
    U

    University of Colorado Boulder

    Dynamic Programming, Greedy Algorithms

    Skills you'll gain: Theoretical Computer Science, Algorithms, Data Structures, Computational Thinking, Computer Programming, Programming Principles, Computer Science, Advanced Mathematics, Mathematical Theory & Analysis, Python Programming, Program Development, Analysis, Data Analysis

    Build toward a degree

    4.6
    Rating, 4.6 out of 5 stars
    ·
    234 reviews

    Advanced · Course · 1 - 4 Weeks

  • Status: Free Trial
    Free Trial
    S

    Stanford University

    Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

    Skills you'll gain: Algorithms, Bioinformatics, Graph Theory, Computational Thinking, Data Structures, Theoretical Computer Science

    4.8
    Rating, 4.8 out of 5 stars
    ·
    1.3K reviews

    Intermediate · Course · 1 - 4 Weeks

  • Status: Free Trial
    Free Trial
    D

    Duke University

    Rust Programming

    Skills you'll gain: Rust (Programming Language), Containerization, Data Pipelines, CI/CD, Docker (Software), Jenkins, DevOps, Unit Testing, Large Language Modeling, Restful API, Serverless Computing, Generative AI, Amazon Web Services, Software Testing, Maintainability, Command-Line Interface, Prometheus (Software), Natural Language Processing, Computer Programming, Cloud Computing

    3.9
    Rating, 3.9 out of 5 stars
    ·
    256 reviews

    Beginner · Specialization · 3 - 6 Months

  • Status: Free Trial
    Free Trial
    V

    Vanderbilt University

    MATLAB Programming for Engineers and Scientists

    Skills you'll gain: Prompt Engineering, Image Analysis, Data Visualization Software, Matlab, Algorithms, Machine Learning Methods, User Interface (UI), Applied Machine Learning, ChatGPT, Scatter Plots, Object Oriented Programming (OOP), Dimensionality Reduction, Classification And Regression Tree (CART), Computer Programming, Histogram, AI Personalization, Data Processing, Data Analysis, Programming Principles, Debugging

    4.8
    Rating, 4.8 out of 5 stars
    ·
    18K reviews

    Beginner · Specialization · 3 - 6 Months

  • Status: Free Trial
    Free Trial
    U

    University of Alberta

    Fundamentals of Reinforcement Learning

    Skills you'll gain: Reinforcement Learning, Machine Learning, Artificial Intelligence, Markov Model, Algorithms, Linear Algebra, Probability Distribution

    4.8
    Rating, 4.8 out of 5 stars
    ·
    2.9K reviews

    Intermediate · Course · 1 - 3 Months

  • Status: New
    New
    Status: Free Trial
    Free Trial
    P

    Packt

    Object-Oriented Programming and Functions

    Skills you'll gain: C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Computer Programming, Programming Principles, Maintainability, Data Validation

    Intermediate · Course · 1 - 4 Weeks

What brings you to Coursera today?

  • Status: Free Trial
    Free Trial
    C

    Columbia University

    Advanced Topics in Derivative Pricing

    Skills you'll gain: Derivatives, Credit Risk, Financial Market, Capital Markets, Futures Exchange, Equities, Risk Analysis, Risk Management, Market Dynamics, Portfolio Management, Financial Modeling, Mathematical Modeling, Probability Distribution, Computer Programming

    4.4
    Rating, 4.4 out of 5 stars
    ·
    30 reviews

    Intermediate · Course · 1 - 3 Months

  • Status: Preview
    Preview
    U

    University of Cape Town

    Julia Scientific Programming

    Skills you'll gain: Jupyter, Statistical Analysis, Data Visualization, Plot (Graphics), Scientific Visualization, Exploratory Data Analysis, Data Manipulation, Data Science, Other Programming Languages, Statistical Hypothesis Testing, Computer Programming, Mathematical Modeling, Package and Software Management

    4.4
    Rating, 4.4 out of 5 stars
    ·
    435 reviews

    Beginner · Course · 1 - 4 Weeks

  • Status: Preview
    Preview
    U

    University of Washington

    Programming Languages, Part A

    Skills you'll gain: Software Installation, Programming Principles, Other Programming Languages, Functional Design, Computer Programming, Ruby (Programming Language), Theoretical Computer Science, Object Oriented Programming (OOP), Computational Thinking

    4.9
    Rating, 4.9 out of 5 stars
    ·
    1.9K reviews

    Intermediate · Course · 1 - 3 Months

  • Status: New
    New
    Status: Free Trial
    Free Trial
    L

    LearnQuest

    Decision-Making in Dynamic Environments

    Skills you'll gain: Reinforcement Learning, Responsible AI, Agentic systems, Data Ethics, Artificial Intelligence, Machine Learning Methods, Distributed Computing, Simulations

    Beginner · Course · 1 - 4 Weeks

  • Status: New
    New
    Status: Free Trial
    Free Trial
    E

    EDUCBA

    AI Driven Machine Learning with Python

    Skills you'll gain: Regression Analysis, Matplotlib, Feature Engineering, Time Series Analysis and Forecasting, Jupyter, Image Analysis, Scikit Learn (Machine Learning Library), Applied Machine Learning, Tensorflow, Data Visualization, Machine Learning Algorithms, Amazon Web Services, Python Programming, Cloud Applications, Data Transformation, Predictive Modeling, Data Processing, Health Informatics, Machine Learning, Artificial Intelligence and Machine Learning (AI/ML)

    Beginner · Specialization · 1 - 3 Months

  • Status: New
    New
    Status: Free Trial
    Free Trial
    N

    National Taiwan University

    Operations Research

    Skills you'll gain: Operations Research, Mathematical Modeling, Process Optimization, Report Writing, Business Mathematics, Network Model, Business Modeling, Industrial Engineering, Linear Algebra, Business Operations, Applied Mathematics, Operations Management, Algorithms, Resource Allocation, Case Studies, Engineering Calculations, Project Design, Machine Learning, Program Implementation, Business Analytics

    4.8
    Rating, 4.8 out of 5 stars
    ·
    715 reviews

    Beginner · Specialization · 3 - 6 Months

Dynamic Programming learners also search

C Programming
Programming
C
Beginner Programming
Development
C Programming Projects
Programming Projects
Computer Programming
1234…406

In summary, here are 10 of our most popular dynamic programming courses

  • Dynamic Programming, Greedy Algorithms: University of Colorado Boulder
  • Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming: Stanford University
  • Rust Programming: Duke University
  • MATLAB Programming for Engineers and Scientists: Vanderbilt University
  • Fundamentals of Reinforcement Learning: University of Alberta
  • Object-Oriented Programming and Functions: Packt
  • Advanced Topics in Derivative Pricing: Columbia University
  • Julia Scientific Programming: University of Cape Town
  • Programming Languages, Part A: University of Washington
  • Decision-Making in Dynamic Environments: LearnQuest

Skills you can learn in Business Strategy

Modeling (25)
Market (economics) (21)
Plan (19)
Planning (16)
Strategic Management (16)
Business Model (13)
Operations Management (13)
Analytics (12)
Evaluation (12)
Project Management (11)
Supply Chain (10)
Decision-making (9)

Frequently Asked Questions about Dynamic Programming

Dynamic programming is an algorithmic technique that solves optimization problems by breaking them down into simpler sub-problems. The solutions to these sub-problems are stored along the way, which ensures that each problem is only solved once. Dynamic programming has become an important technique for efficiently solving complex optimization problems in applications such as reinforcement learning for artificial intelligence (AI) and genome sequencing in bioinformatics.

The advantages of dynamic programming can be understood in relation to other algorithms used to solve optimization problems. Like divide and conquer algorithms, dynamic programming breaks down a larger problem into smaller pieces; however, unlike divide and conquer, it saves solutions along the way so each problem is only solved once, improving the speed of this approach. By contrast, greedy algorithms also solve each problem only once, but unlike dynamic programming, it does not look back to consider all possible solutions, running the risk that the greedy algorithm will settle on a locally optimal solution that is not globally optimal.

Ultimately, there is no single “silver bullet” algorithm that is best for every application, and different types of problems will require different techniques. However, dynamic programming’s ability to deliver globally optimal solutions with relative efficiency makes it an important part of any programmer’s skill set.‎

Dynamic programming is a valuable career skill for programmers working on complex optimization problems in high-tech fields such as data science, artificial intelligence and machine learning, robotics, and bioinformatics. Computer scientists with the ability to find the right approaches to these high-value problems are highly sought after and compensated accordingly by leading companies in these industries. According to the Bureau of Labor Statistics, computer and information research scientists earned a median annual salary of $122,840 per year in 2019, and these jobs are expected to grow much faster than the average across the rest of the economy.‎

Yes! There are an incredibly wide range of learning opportunities in computer science on Coursera, including courses and Specializations in algorithms and dynamic programming. Coursera lets you learn about dynamic programming remotely from top-ranked universities from around the world such as Stanford University, National Research University Higher School of Economics, and University of Alberta. And, because learners on Coursera pay a significantly lower tuition than on-campus students, you won’t need to use dynamic programming or other algorithmic techniques to determine whether it’s an optimal investment in your career.‎

The people best suited for roles in dynamic programming are computer programmers and people with experience working with algorithms. Dynamic programming is an algorithmic technique for breaking down a problem into simpler subproblems, so it’s important that people who pursue roles in dynamic programming have experience working in fields that utilize this technique. People who work as aerospace engineers or in economics are best suited for these roles.‎

A common career path for someone in dynamic programming is a job as a computer and information research scientist. These scientists design software systems and invent new computing languages, which they later test and present to colleagues in academic journals and conferences. Another common career path for someone studying dynamic programming is working with robotics or in computer programming.‎

It’s important for learners to have a strong handle on algorithms, so topics related to advanced algorithms and complexity, discrete optimization, data structures and algorithms, algorithms on strings, and algorithms on graphs are extremely useful. Reinforcement learning may explore topics related to AI tools and how it is useful in game development, customer interaction, and supply chain. For learners looking to improve their computer programming skills, the fundamentals of computing may help you program and think like a computer scientist. Competitive programming is the next step up and is a great option if you want to explore topics related to dynamic programming and number and graph theories.‎

Most people with a background in dynamic programming are hired to work in the federal government, according to the U.S. Bureau of Labor Statistics. Some people also work for computer systems and design-related services companies. Research and development companies hire people with a background in dynamic programming as well as software publishers.‎

Online Dynamic Programming courses offer a convenient and flexible way to enhance your knowledge or learn new Dynamic Programming skills. Choose from a wide range of Dynamic Programming courses offered by top universities and industry leaders tailored to various skill levels.‎

When looking to enhance your workforce's skills in Dynamic Programming, it's crucial to select a course that aligns with their current abilities and learning objectives. Our Skills Dashboard is an invaluable tool for identifying skill gaps and choosing the most appropriate course for effective upskilling. For a comprehensive understanding of how our courses can benefit your employees, explore the enterprise solutions we offer. Discover more about our tailored programs at Coursera for Business here.‎

This FAQ content has been made available for informational purposes only. Learners are advised to conduct additional research to ensure that courses and other credentials pursued meet their personal, professional, and financial goals.

Other topics to explore

Arts and Humanities
338 courses
Business
1095 courses
Computer Science
668 courses
Data Science
425 courses
Information Technology
145 courses
Health
471 courses
Math and Logic
70 courses
Personal Development
137 courses
Physical Science and Engineering
413 courses
Social Sciences
401 courses
Language Learning
150 courses

Coursera Footer

Skills

  • Artificial Intelligence (AI)
  • Cybersecurity
  • Data Analytics
  • Digital Marketing
  • English Speaking
  • Generative AI (GenAI)
  • Microsoft Excel
  • Microsoft Power BI
  • Project Management
  • Python

Certificates & Programs

  • Google Cybersecurity Certificate
  • Google Data Analytics Certificate
  • Google IT Support Certificate
  • Google Project Management Certificate
  • Google UX Design Certificate
  • IBM Data Analyst Certificate
  • IBM Data Science Certificate
  • Machine Learning Certificate
  • Microsoft Power BI Data Analyst Certificate
  • UI / UX Design Certificate

Industries & Careers

  • Business
  • Computer Science
  • Data Science
  • Education & Teaching
  • Engineering
  • Finance
  • Healthcare
  • Human Resources (HR)
  • Information Technology (IT)
  • Marketing

Career Resources

  • Career Aptitude Test
  • Examples of Strengths and Weaknesses for Job Interviews
  • High-Income Skills to Learn
  • How Does Cryptocurrency Work?
  • How to Highlight Duplicates in Google Sheets
  • How to Learn Artificial Intelligence
  • Popular Cybersecurity Certifications
  • Preparing for the PMP Certification
  • Signs You Will Get the Job After an Interview
  • What Is Artificial Intelligence?

Coursera

  • About
  • What We Offer
  • Leadership
  • Careers
  • Catalog
  • Coursera Plus
  • Professional Certificates
  • MasterTrack® Certificates
  • Degrees
  • For Enterprise
  • For Government
  • For Campus
  • Become a Partner
  • Social Impact
  • Free Courses
  • Share your Coursera learning story

Community

  • Learners
  • Partners
  • Beta Testers
  • Blog
  • The Coursera Podcast
  • Tech Blog

More

  • Press
  • Investors
  • Terms
  • Privacy
  • Help
  • Accessibility
  • Contact
  • Articles
  • Directory
  • Affiliates
  • Modern Slavery Statement
  • Do Not Sell/Share
Learn Anywhere
Download on the App Store
Get it on Google Play
Logo of Certified B Corporation
© 2025 Coursera Inc. All rights reserved.
  • Coursera Facebook
  • Coursera Linkedin
  • Coursera Twitter
  • Coursera YouTube
  • Coursera Instagram
  • Coursera TikTok