The purpose of The Computer Science Handbook is to provide a single comprehensive reference for com- puter scientists, software engineers, and IT professionals who wish to broaden or deepen their understand- ing in a particular subfield of computer science. Our goal is to provide the most current information in each of the following eleven subfields in a form that is accessible to students, faculty, and professionals in computer science