The goal of the major is to provide an understanding of algorithmic problem solving as well as the conceptual organization of computers and complex programs running on them. Emphasis is placed on the fundamental principles of computer science, building upon the mathematical and theoretical ideas underlying these principles. The introductory and core courses build a broad and solid base for understanding computer science. The more advanced courses allow students to sample a variety of specialized areas including graphics, artificial intelligence, computer architecture, networks, compiler design, and operating systems. Independent study and honors work provide opportunities for students to study and conduct research on topics of special interest.
The major in Computer Science equips students to pursue a wide variety of career opportunities. It can be used as preparation for a career in computing, for graduate school, or to provide important background and techniques for the student whose future career will extend outside of computer science.
To assist those considering our program, we have provided both a summary of the requirements of the computer science major and various bits of informal advice on completing the program. In particular, we urge students to consider our advice on course scheduling and pursuits beyond the minimum requirements.