I gave this talk on May 11, 2015 at the Technical University of Berlin to a Bachelor's degree computer science course.