This is the tenth post in an article series about MIT's lecture course "Introduction to Algorithms." In this post I will review lecture fifteen, which introduces the concept of Dynamic Programming and applies it to the Longest Common Subsequence problem. Dynamic programming is a design technique similar to divide and conquer. Divide-and-conquer algorithms partition the problem into independent sub