These lecture notes are copyrighted material. Use of these pages for the class CMSC311 at the University of Maryland is permitted. Personal use of these notes by individuals at other locations is also permitted. Any other use requires permission of the author (Jeffrey K. Hollingsworth, hollings@cs.umd.edu)