This document contains the lecture notes taken by the students in the course Algorithms in the Real World taught at UC Berkeley during the Fall semester, 1997. The class covered the following set of ten topics: Compression, Cryptography, Linear Programming, Integer Programming, Triangulation, N-body simulation, VLSI Physical Design, Pattern Matching in Biology, Indexing, and Clustering. Between 2 and 3 lectures were dedicated to each topic. For all topics this document looked both at algorithms and at case studies in which the problems are used in real-world applications.

The class was a graduate class and assumed that the students came in with a working knowledge of the material covered in a standard algorithms textbook, such as Cormen, Leiserson and Rivest's Introduction to Algorithms. A goal of the class was to have the students gain an appreciation of how interesting algorithms and data-structures are used in many real-world applications.

The notes contained in this document are based on what was covered in the lectures and are not meant to be complete, and although the scribe takers corrected many of the mistakes in the lectures, many others got through. Unfortunately the notes contain very few references to the original work on which they rely. Instead, included at the end of the document is a list of primary texts on the topics from which one can find further information.