Theory

Computer Science

Department/Program Description

The Department of Mathematics and Computer Science offers undergraduate majors in mathematics and in computer science. We also participate in the Informatics and Modeling Certificate Program. The department's graduate programs include a PhD in mathematics and MA programs in mathematics and in computer science.

Each student's course of study is designed to provide an introduction to the basic areas of mathematics or computer science and to provide the technical tools that will be useful later in the student's career. The course of study is planned in consultation with the student's faculty advisor and the department's advisory committees, DADCOM for mathematics and CADCOM for computer science.

The department's graduate programs include a PhD program in mathematics and MA programs in mathematics and in computer science. The research emphasis at Wesleyan at the doctoral level is in pure mathematics and theoretical computer science. One of the distinctive features of our department is the close interaction between the computer science faculty and the mathematics faculty, particularly those in logic and discrete mathematics.

Graduate students at Wesleyan enjoy small classes and close interactions with faculty and fellow graduate students. Graduate students normally register for three classes a semester and are expected to attend departmental colloquia and at least one regular seminar. The number of graduate students ranges from 17 to 21, with an entering class of three to six each year. There have always been both male and female students, graduates of small colleges and large universities, and U.S. and international students, including, in recent years, students from Bulgaria, Chile, China, Germany, India, Iran, and Sri Lanka. All of the department's recent PhD recipients have obtained faculty positions. Some have subsequently moved to mathematical careers in industry and government.

For additional information, please visit wesleyan.edu/mathcs/graduate/.

Mathematics

Student Learning Goals
  • Understanding abstraction: At its heart, Computer Science is the study of abstractions for the purpose of understanding computation, and as such students must learn appropriate levels of abstraction for solving computational problems. All courses in the curriculum contribute to this goal.
  • Programming: Students must learn how to program in a high-level language, as such programming is the primary tool in computer science. This is typically how students are first exposed to the field, and our majors achieve this goal in the freshman or sophomore year by taking the gateway sequence COMP 211—212.
  • Analysis: Students must learn how to reason about computation; this includes analyzing algorithms and proving properties such as correctness and complexity and requires an understanding of appropriate mathematical tools. The courses that focus primarily on this goal are COMP 312 (Design and analysis of algorithms) and COMP 321 (Design of programming languages).
  • Creation: Students must learn how to create original computational structures; this requires an understanding of fundamental techniques in algorithm and data structure design and an ability to combine established techniques in novel ways. All courses in the curriculum contribute to this goal.
  • Limits: Students must understand not only how to analyze and create computational structures, but also the limits of computation itself; this requires an understanding of the mathematical foundations and formalisms of computer science. This goal is primarily addressed in COMP 301 (Automata theory and formal languages).
Admission to the Major

To declare the computer science major, a student must have

  • earned a C or higher in COMP211;
  • either earned a C or higher in COMP212 or be enrolled in COMP212 and be earning a grade of C or higher based on completed work; and
  • either earned a C or higher in MATH228 or MATH261 or be enrolled in MATH228 or MATH261 and be earning a grade of C or higher based on completed work.

Note: The MATH228 or MATH261 requirement applies to students declaring the COMP major after June 30, 2016.

Major Requirements

To complete the computer science major, a student must complete the following courses:

Required Courses
COMP211 Computer Science I 1
COMP212 Computer Science II 1
COMP301 Automata Theory and Formal Languages 1
COMP312 Algorithms and Complexity 1
COMP321 Design of Programming Languages 1
COMP331 Computer Structure and Organization (or COMP231 if taken before 2015-2016) 1
MATH228 Discrete Mathematics 1
or MATH261 Abstract Algebra: Groups, Rings, and Fields
MATH221 Vectors and Matrices 1
or MATH223 Linear Algebra
Select two additional electives 2

Notes:

  • Any COMP course at the 300+ level except COMP409-COMP410 can be used as an elective for the major.
  • At most, one individual or group tutorial may be used as an elective unless prior approval is given.
  • Only 1.0-credit courses taken A–F may be used to satisfy major requirements.
Honors

An undergraduate may achieve the BA with honors in computer science via the following route:

  • The honors thesis, written under the supervision of a faculty member under conditions monitored by the University Committee on Honors.
Related Programs or Certificates

Informatics and Modeling Certificate. The department is an active participant in the Informatics and Modeling Certificate (wesleyan.edu/imcp). The certificate provides a framework to guide students in developing analytical skills based on the following two pathways:

The CSM pathway introduces students to modeling techniques and provides students with a foundation in the quantitative simulation, evaluation, and prediction of natural and social phenomena. The IGS pathway introduces students to the interdisciplinary field of bioinformatics and its relationships to molecular genomics, evolution, structural biology, and bioethics. The department offers courses that support both pathways, such as COMP211 and COMP212, and also offers special interdisciplinary courses for the IGS pathway, such as COMP327 and COMP350. The certificate requirements are described in the links for the two pathways.

Additional Information

Colloquia and Seminars

Lectures. The departmental colloquium series presents lectures on recent research by invited speakers from other institutions. Advanced undergraduates are welcome and encouraged to attend these colloquia and to participate in the computer science seminar.