Dynamic Programming (with Ruby)
Dynamic Programming (DP) is a powerful method that can efficiently solve some complex problems by using solutions to simpler subproblems.
This lesson will cover the characteristics of problems that lend themselves to DP, how to identify problems that may be good candidates for DP, and how to leverage DP to solve those problems. We'll examine and solve a number of problems with DP, drawing connections between some seemingly unrelated problems. Problems covered would include some quintessential Computer Science problems as well as some problems you might encounter during a technical interview.
Familiarity with recursion will be a big help, but we can cover it if needed. The number and complexity of problems covered will depend on the experience level of the students.
Be sure to complete the following Codewars challenge before class!
(If your RailsSchool profile includes your Codewars username, you'll get
a nifty star if you complete the challenge.)
http://www.codewars.com/kata/maximum-subarray-sum/train/ruby