INTRODUCTION
What I nd most remarkable about the eld of computer science is its vast scope.
Practically any topic you might imagine falls in some way under the umbrella
of computer science. Many topics may seem to naturally belong there, such as
research into advanced computer architectures, distributed and cloud computing
(and their associated high-speed networking components), computer forensics,
operating systems, and the details of many dierent programming languages. But
these areas are just a few of a wider array of topics and activities found in com-
puter science. Computer scientists spend a great deal of time and energy study-
ing compression algorithms for images, video, and data; encryption techniques;
ecient hardware computation ...