Description: This lesson is an introduction to a family of hard problems. These problems need an enormous amount of computational power if we seek for the best available solution. Alternatively, we can use heuristics that offer good (but often not optimal) solutions.
Objectives: To get to know and experiment with several known algorithms
Assessment: A simple three questions test
Resources: This lesson uses extensive java based demonstrations