For some time, the field of computer science has been considered an academic discipline, focused on theories and techniques to collect, analyze, and produce useful information. Rapid advances in the field have positioned computer science as the mathematics of the twentyfirst century with broad application to reallife problems in virtually every other field.Undergraduate students majoring in Computer Science complete a structured program that encompasses the main questions: Given the enormous difficulty of writing large programs, what kinds of computer languages can be easily specified, easily understood, and yet mechanically translated What are the most advantageous ways of distributing computing loads over a collection of networked processors Are some functions inherently harder to compute than others Do functions exist which cannot be computed How is knowledge best represented in a computer