Dynamic programming is a mathematical optimization method and algorithmic paradigm developed by Richard Bellman in the 1950s. It simplifies complicated problems by breaking them down into simpler sub-problems in a recursive manner, and has found applications in numerous fields. The relationship between the value of the larger problem and the values of the sub-problems is known as the Bellman equation.
University of Washington
Summer 2022
This course focuses on common data structures and algorithms. It integrates theoretical understanding with practical exercises, preparing students for software-related roles and industry technical interviews. Programming projects, unit testing, and source control techniques are emphasized.
No concepts data
+ 27 more conceptsStanford University
Winter 2023
This course provides an in-depth exploration of algorithm analysis and design. It covers various sorting, searching, and selection algorithms, data structures, and fundamental graph algorithms. It emphasizes the understanding of worst and average case analysis, recurrences, and asymptotics.
No concepts data
+ 30 more conceptsCarnegie Mellon University
Spring 2019
This course explores discrete music information representation and manipulation. It introduces timed event sequences, MIDI protocol, and non-real-time processing techniques like Markov models and algorithmic composition. Prior knowledge of course 15-122 is required.
No concepts data
+ 26 more conceptsCarnegie Mellon University
Spring 2022
This course explores the design and analysis of algorithms, algorithmic modelling techniques, and their efficiency. It aims to provide tools for designing and analyzing personal algorithms, using various analytical tools and frameworks. Some advanced topics not commonly covered in textbooks are also taught.
No concepts data
+ 37 more conceptsStanford University
Autumn 2022-2023
Stanford's CS 221 course teaches foundational principles and practical implementation of AI systems. It covers machine learning, game playing, constraint satisfaction, graphical models, and logic. A rigorous course requiring solid foundational skills in programming, math, and probability.
No concepts data
+ 88 more conceptsUC Berkeley
Fall 2008
This advanced course focuses on the applications of machine learning in the robotics and control field. It covers a wide range of topics including Markov Decision Processes, control theories, estimation methodologies, and robotics principles. Recommended for graduate students.
No concepts data
+ 27 more conceptsUC Berkeley
Spring 2020
This is an introductory course to computer science theory, exploring the design and analysis of various algorithms, number theory, and complexity. The prerequisites include familiarity with mathematical induction, big-O notation, basic data structures, and programming in a standard language.
No concepts data
+ 36 more conceptsPrinceton University
Spring 2023
This course surveys crucial algorithms and data structures used in modern computing, with emphasis on sorting, searching, graphs, and strings. It aims to develop implementations, understand their performance, and evaluate their effectiveness.
No concepts data
+ 25 more concepts