Computer Science Major
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.
To complete the computer science major, a student must complete the following courses:
- Gateway courses:
- Core courses (one course from each of the following four areas):
- Models of computation: any COMP course numbered 300-305.
- Algorithms: any COMP course numbered 310-315.
- Programming languages: any COMP course numbered 320-325.
- Systems: any COMP course numbered 330-335.
- Two additional electives.
- Mathematical foundations:
- Any COMP course at the 300+ level except COMP409-COMP410 can be used as an elective for the major.
- No course may be used to satisfy more than one requirement.
- 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.
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 their first or sophomore years by taking the gateway sequence COMP211–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 COMP312 (Design and Analysis of Algorithms) and COMP321 (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 COMP301 (Automata Theory and Formal Languages).
The transfer credit policy for the COMP major is:
- You can transfer at most 2 courses per semester (or summer, or winter session) away towards the COMP major.
- You can transfer at most 4 courses in total towards the COMP major.
- You must take at least 2 of COMP211, COMP212, and MATH228 at Wesleyan.
- You must take at least three 300-level COMP courses used to satisfy the major requirements at Wesleyan.
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:
- Computational Science and Quantitative World Modeling (CSM): wesleyan.edu/imcp/csm.html
- Integrative Genomic Sciences (IGS): wesleyan.edu/imcp/igs.html
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.
This program provides an attractive option for mathematics and computer science majors to enrich their course and research background. Students are advised to begin research by their junior year if they intend to pursue the BA/MA. Admission is competitive and based on GPA, faculty recommendations, and research experience. For more information, visit wesleyan.edu/grad/degree-programs/ba-ma.html. Advanced undergraduates may enroll in graduate (500-level) courses.
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.
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.
We encourage all students to participate in faculty research via individual tutorials and/or a Senior thesis. There is no mandatory capstone experience.