Coursera
  • All DegreesExplore Bachelor’s & Master’s degrees
  • Bachelor’s DegreesExplore master’s degrees from leading universities
  • Master’s DegreesExplore Computer Science & Engineering degrees
  • Postgraduate StudiesDeepen your expertise with postgraduate learning
  • MasterTrack™Earn credit towards a Master’s degree
  • University CertificatesAdvance your career with graduate-level learning
Find your New CareerFor EnterpriseFor Universities
  • Browse
  • Top Courses
  • Log In
  • Join for Free
    Coursera
    • Browse
    • Dynamic Programming

    Filter by

    173 results for "dynamic programming"

    • Placeholder
      Stanford University

      Algorithms

      Skills you'll gain: Algorithms, Theoretical Computer Science, Computer Science, Mathematics, Data Structures, Graph Theory, Computer Programming, Data Management, Probability & Statistics, Computational Thinking, Probability Distribution, Entrepreneurship, General Statistics, Leadership and Management, Machine Learning, Mathematical Theory & Analysis, Operations Research, Problem Solving, Research and Design, Strategy and Operations

      4.8

      (5.6k reviews)

      Intermediate · Specialization · 3-6 Months

    • Placeholder
      Stanford University

      Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

      Skills you'll gain: Algorithms, Computer Science, Theoretical Computer Science, Computer Programming, Data Management, Data Structures, Machine Learning, Mathematical Theory & Analysis, Operations Research, Research and Design, Strategy and Operations

      4.8

      (1.2k reviews)

      Intermediate · Course · 1-4 Weeks

    • Placeholder
      University of Colorado Boulder

      Dynamic Programming, Greedy Algorithms

      Skills you'll gain: Algorithms, Theoretical Computer Science, Operations Research, Research and Design, Strategy and Operations, Computer Programming, Mathematical Theory & Analysis, Mathematics, Computational Logic, Data Management, Data Structures, Operating Systems, Other Programming Languages, Programming Principles, System Programming, Python Programming

      4.4

      (48 reviews)

      Advanced · Course · 1-4 Weeks

    • Free

      Placeholder
      Princeton University

      Algorithms, Part I

      Skills you'll gain: Algorithms, Computer Programming, Data Structures, Java Programming, Theoretical Computer Science, Computational Thinking, Data Management, Entrepreneurship, Graph Theory, Leadership and Management, Mathematics, Mobile Development, Operations Research, Problem Solving, Research and Design, Strategy and Operations

      4.9

      (10.3k reviews)

      Intermediate · Course · 3-6 Months

    • Placeholder
      Rice University

      Algorithmic Thinking (Part 2)

      Skills you'll gain: Algorithms, Theoretical Computer Science, Mathematical Theory & Analysis

      4.7

      (207 reviews)

      Intermediate · Course · 1-4 Weeks

    • Placeholder
      DeepLearning.AI

      Natural Language Processing with Probabilistic Models

      Skills you'll gain: Machine Learning, Natural Language Processing, Python Programming, Statistical Programming, Statistical Machine Learning, Artificial Neural Networks, Machine Learning Algorithms, Probability & Statistics, Algorithms, Computer Graphics, Computer Programming, Deep Learning, General Statistics, Human Computer Interaction, Markov Model, Operations Research, Research and Design, Strategy and Operations, Theoretical Computer Science

      4.7

      (1.5k reviews)

      Intermediate · Course · 1-4 Weeks

    • Placeholder
      Placeholder
      University of Alberta

      Fundamentals of Reinforcement Learning

      Skills you'll gain: Machine Learning, Reinforcement Learning, Machine Learning Algorithms, Python Programming, Statistical Programming, Markov Model, Computer Programming, Mathematics, Operations Research, Research and Design, Strategy and Operations

      4.8

      (2.5k reviews)

      Intermediate · Course · 1-3 Months

    • Placeholder
      Placeholder
      University of California San Diego

      Algorithmic Toolbox

      Skills you'll gain: Algorithms, Computer Programming, Theoretical Computer Science, C Programming Language Family, Computational Thinking, Entrepreneurship, Full-Stack Web Development, Leadership and Management, Mathematics, Problem Solving, Research and Design, Software Testing, Web Development

      4.6

      (12.1k reviews)

      Intermediate · Course · 1-3 Months

    • Placeholder
      Placeholder
      University of Alberta

      Sample-based Learning Methods

      Skills you'll gain: Machine Learning, Reinforcement Learning, Business Psychology, Markov Model, Machine Learning Algorithms, Entrepreneurship, Leadership and Management, Planning, Software Architecture, Software Engineering, Supply Chain and Logistics, Theoretical Computer Science

      4.8

      (1.2k reviews)

      Intermediate · Course · 1-3 Months

    • Placeholder
      Placeholder
      University of Cape Town

      Julia Scientific Programming

      Skills you'll gain: Computer Programming, Computational Thinking, Data Analysis, Data Visualization, General Statistics, Other Programming Languages, Plot (Graphics), Probability & Statistics, Statistical Tests, Theoretical Computer Science

      4.4

      (416 reviews)

      Beginner · Course · 1-4 Weeks

    • Placeholder
      Placeholder
      Columbia University

      Decision Making and Reinforcement Learning

      Skills you'll gain: Deep Learning, Machine Learning, Reinforcement Learning

      Intermediate · Course · 1-3 Months

    • Placeholder
      Placeholder
      Columbia University

      Advanced Topics in Derivative Pricing

      Skills you'll gain: Finance, Risk Management, Investment Management, Accounting, Audit, Computer Programming

      4.5

      (11 reviews)

      Intermediate · Course · 1-3 Months

    Searches related to dynamic programming

    dynamic programming, greedy algorithms
    greedy algorithms, minimum spanning trees, and dynamic programming
    1234…15

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

    • Algorithms: Stanford University
    • Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming: Stanford University
    • Dynamic Programming, Greedy Algorithms: University of Colorado Boulder
    • Algorithms, Part I: Princeton University
    • Algorithmic Thinking (Part 2): Rice University
    • Natural Language Processing with Probabilistic Models: DeepLearning.AI
    • Fundamentals of Reinforcement Learning: University of Alberta
    • Algorithmic Toolbox: University of California San Diego
    • Sample-based Learning Methods: University of Alberta
    • Julia Scientific Programming: University of Cape Town

    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.‎

    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
    Placeholder
    Arts and Humanities
    338 courses
    Placeholder
    Business
    1095 courses
    Placeholder
    Computer Science
    668 courses
    Placeholder
    Data Science
    425 courses
    Placeholder
    Information Technology
    145 courses
    Placeholder
    Health
    471 courses
    Placeholder
    Math and Logic
    70 courses
    Placeholder
    Personal Development
    137 courses
    Placeholder
    Physical Science and Engineering
    413 courses
    Placeholder
    Social Sciences
    401 courses
    Placeholder
    Language Learning
    150 courses

    Coursera Footer

    Learn Something New

    • Learn a Language
    • Learn Accounting
    • Learn Coding
    • Learn Copywriting
    • Learn HR
    • Learn Public Relations
    • Boulder MS Data Science
    • Illinois iMBA
    • Illinois MS Computer Science
    • UMich MS in Applied Data Science

    Popular Data Science Topics

    • Artificial Intelligence
    • Data Analysis
    • Data Engineering
    • Data Science
    • Excel
    • Machine Learning
    • Python
    • Power BI
    • R Programming
    • SQL

    Popular Computer Science & IT Topics

    • Blockchain
    • Coding
    • Computer Science
    • Cybersecurity
    • Full Stack Web Development
    • IT
    • Java
    • Software Engineering
    • Web Design
    • Web Development

    Popular Business Topics

    • Accounting
    • Business Finance
    • Communication Skills
    • Leadership & Management
    • Marketing
    • Product Management
    • Project Management
    • UX Design
    • UX Research
    • Writing

    Coursera

    • About
    • What We Offer
    • Leadership
    • Careers
    • Catalog
    • Coursera Plus
    • Professional Certificates
    • MasterTrack® Certificates
    • Degrees
    • For Enterprise
    • For Government
    • For Campus
    • Become a Partner
    • Coronavirus Response
    • Free Courses
    • All Courses

    Community

    • Learners
    • Partners
    • Beta Testers
    • Translators
    • Blog
    • Tech Blog
    • Teaching Center

    More

    • Press
    • Investors
    • Terms
    • Privacy
    • Help
    • Accessibility
    • Contact
    • Articles
    • Directory
    • Affiliates
    • Modern Slavery Statement
    Learn Anywhere
    Placeholder
    Placeholder
    Placeholder
    © 2023 Coursera Inc. All rights reserved.
    • Placeholder
    • Placeholder
    • Placeholder
    • Placeholder
    • Placeholder
    • Placeholder