This book provides a comprehensive introduction to this science. We will
investigate a wide range of topics including most of those that constitute a typical
university computer science curriculum. We want to appreciate the full scope
and dynamics of the field.