2017-2018 Catalog 
    Apr 20, 2018  
2017-2018 Catalog

Computer Science Major

Professor of Computer Science Zaring, McCulloch
Professor of Mathematics Schwartz
Professors of Mathematics and Computer Science Nunemacher, Wiebe
Professor of Mathematics and Statistics Linder
Associate Professor of Mathematics Jackson
Assistant Professor of Mathematics Pyzza

The department offers majors in computer science and in mathematics. In addition, the mathematics major can be designed to include a concentration in statistics. 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 wishing to concentrate in computer science should contact Professors McCulloch, Wiebe, or Zaring. Those wishing to concentrate in statistics should see Professor Linder. Those wishing to concentrate in secondary education should contact the department, and those wishing to prepare for graduate study in mathematics should contact Professors Jackson, Nunemacher, Schwartz, or Pyzza.

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).

Major Requirements

MATH 110 , MATH 111 , MATH 250 ; CS 110 , CS 210 , CS 255 , CS 270 , CS 360 , CS 380 ; and any three CS courses numbered 250 or above. (CS 110 , CS 210 , CS 270 , and MATH 250  must be completed by the end of the sophomore year).