2024-2025 Catalog 
    Jun 14, 2024  
2024-2025 Catalog

Computer Science Major

Professor of Computer Science McCulloch
Assistant Professor of Data Analytics Dietrich
Assistant Professor of Mathematics Guo
Assistant Professor of Mathematics McCurdy
Associate Professor of Mathematics Jackson
Professor of Mathematics and Computer Science Wiebe
Professor of Mathematics and Statistics Linder


The department offers majors in computer science and in mathematics. The department also offers the computer science 3-2 option major for those students planning to pursue a combined-degree pre-engineering program (see Combined Bachelor’s/Professional Degrees  for general information on pre-engineering programs).

The department provides a full range of courses for students anticipating graduate work in computer science, mathematics, or statistics. There are also courses available for cognate majors where strong mathematical or computer skills are required. Lastly, the department provides service courses in support of many majors on campus, especially those requiring statistics or calculus.

Majors often take advanced courses in other departments directly complementing their studies in mathematics or computer science. Double majors with mathematics or computer science and a related area, such as economics or physics, are often undertaken. Upon graduation, recent majors have found employment in business, management science, statistical research, computing, actuarial science, environmental research, and teaching. In addition, majors have gained admission to graduate or professional programs in computer science, mathematics, philosophy, physics, economics, business, law, and medicine. Potential majors and others interested should consult with any member of the department in planning their course work.

Students double majoring in mathematics and computer science are limited to 17 courses within the department among those counted toward the 34 units required for graduation.

Students wishing to concentrate in computer science should contact Professor McCulloch. Those wishing to concentrate in mathematics should contact Professor Jackson. Those wishing to concentrate in statistics should contact Professor Linder. Those wishing to concentrate in secondary education should contact the Chair of the department.

Courses for Non-Majors

The department offers a number of courses specifically as a service to non-majors who seek training in mathematical sciences. These include MATH 105 , a course in elementary probability and statistics that includes computer experience, and which prepares students to read the increasingly quantitative journals of the social and life sciences. Exploring Computer Science (CS 103 ) offers a broad, applications-oriented introduction to computing for students having no prior computing experience. Great Ideas in Mathematics (MATH 104 ) provides an introduction to modern mathematical ideas for students who will study no further mathematics. Precalculus (MATH 108 ) is for students who have a moderate mathematical background but not one sufficient to begin calculus immediately. The calculus courses (MATH 110 , MATH 111 , and MATH 210 ) are recommended for students who wish to continue the study of mathematics in college after a strong high school background. They are particularly important for any of the sciences and economics. Introduction to Computer Science and Programming (CS 110 ) provides a careful entry into the discipline of computer science and teaches programming in a high-level language.

Learning Objectives

Computer Science, rather than being the study of physical computing machinery and/or computer programs, is the study of abstract transformational processes. A student completing a major in computer science will have been

  1. Exposed to a broad range of the intellectual achievements of computer science;
  2. Shown the crucial, pervasive role of abstraction as a conceptual and practical tool for conceptualizing about complex objects;
  3. Given an opportunity to secure the theoretical and applied foundations necessary to either continue studies in graduate school or to seek employment as a professional computer scientist.


Subject Matter Objectives

Given the nature of computer science as a mathematical, logical, and scientific discipline, a computer science education should focus on the acquisition of conceptual and foundational material that will serve students for their entire careers. The acquisition of sets of specific technical facts (whose rapid obsolescence is almost certain) is not a major objective.

A student completing a major in computer science should have acquired

  1. A basic knowledge of algorithmic concepts (including programming and data structures);
  2. A basic knowledge of relevant mathematical concepts (including discrete mathematics and logic);
  3. A basic knowledge of hardware concepts (including computer organization and architecture);
  4. An advanced knowledge of relevant theoretical concepts (including automata theory, computability theory, and analysis of algorithms);
  5. An advanced knowledge of software/system concepts (including a selection of concepts in programming languages, artificial intelligence, operating systems, and/or information systems).