Unit 4 - Divide & Conquer

The easiest way to tackle a large problem (or project) is to split the larger problem into smaller problems and tackle the smaller problems, combining them into a final product. Consider baking - the final outcome is lovely but it is a complicated product made of smaller "problems", each tackled by the chef and sous chefs one-by-one.

In computer science, it is no different. If we can reduce a larger problem into the sum of smaller problems, we can write algorithms that are more efficient at completing certain tasks.

The web lessons are being rewritten in markdown README files. They should be the same but the web one is a bit prettier.

4.1 - Recursion (part 1)   [Web Lesson]   [GitHub Repo]

4.2 - Recursion (part 2)   [Web Lesson]   [GitHub Repo]

4.3 - Split Search [Web Lesson]   [GitHub Repo]

4.4 - Merge Sort [Web Lesson]   [GitHub Repo]

4.5 - Model View Controller    [GitHub Repo]  

4.6 - MVC with Graphics & Events    [GitHub Repo]