Computer Science emphasizes both the theoretical and the applied. The goal of Computer Science education is not to prepare a technician who is skilled only in using today's tools and meeting only today's challenges in a single field. Instead, computer scientists thoroughly understand how computer technologies do what they do and why they were designed as they were. This frees computer scientists not only to solve today's challenges with today's tools, but to seek better solutions and to adapt to changing challenges and needs in a wide variety of disciplines. Computer scientists can do this because their coursework has given them a keen understanding of the technical aspects of hardware and software design and operation, how computers represent and process data and instructions, how data are encrypted and authenticated, how databases organize information for rapid recall, how mathematical systems can be solved and visualized graphically, and how all of these technical considerations impact the design and performance of an integrated computer system. This comprehensive background in computing prepares students to face challenges and create opportunities in science, engineering, business, education, and, indeed, in society as a whole.