Students receive a thorough grounding in modern computer science theory and learn how this theory can be applied to the design of complex software systems. Mathematics is employed throughout the computer science curriculum as a method for describing reasoning about computing systems. The curriculum begins with a year-long introduction to the art and science of computer programming, using the Java language to develop a large variety of applets designed to run within the student s World Wide Web home page. This introduces concepts of object-oriented programming, development and analysis of algorithms, and principles of software design. The student s intermediate years involve the study of how hardware is constructed and organized, the nature and development of programming languages, the study of efficient data structures and algorithms, and the theoretical study of the computational process.
Experience is gained using procedural, functional, logic, and object-oriented programming languages.
At each stage, appropriate mathematics is used as a method of describing and reasoning about computing systems. The student s final year is devoted to using this foundation to design and engineer major software projects in areas such as compiler and operating system design, computer graphics, or artificial intelligence. Degree Requirements Majors pursuing the Bachelor of Science in computer science must satisfy University Core Curriculum requirements and the all-college speech requirement. In addition, they must successfully complete the following courses and a sufficient number of electives to total 120 credits. Majors are encouraged to apply electives toward a minor or second major.