## Computer Science Requirements

### Major

Computer science majors must complete a minimum of 10 one-semester courses in computer science. These include seven required core courses and at least three additional upper-level (numbered 300 or above) electives. In addition, all majors must complete the equivalent of one semester of calculus; AP credit is allowed to satisfy this requirement. Prospective computer science majors are strongly encouraged to complete the equivalent of two semesters of calculus. Advanced placement credit may be used to count toward major requirements.

The required computer science core consists of the following courses:

- CSCI 131 (Techniques of Programming)
- CSCI 132 (Data Structures)
- CSCI 135 (Discrete Structures) or MATH 243 (Mathematical Structures)
- CSCI 226 (Computer Systems and Organization)
- CSCI 235 (Analysis of Algorithms)
- CSCI 324 (Programming Languages Design and Implementation)
- CSCI 328 (Ethical Issues in Computer Science)

In addition to the core courses, majors are required to take at least three elective courses numbered above 300. We strongly recommend that students take at least one upper-level course carrying the project course designation. A project course allows students to combine skills and concepts they have previously learned during their undergraduate courses with new material in a complex implementation task. The project course is often scheduled for the last year of undergraduate study, where it can serve as a capstone for the undergraduate experience.

### Minor

The department also offers a computer science minor open to students in all majors, including mathematics.

Computer science minors must complete a minimum of six one-semester courses in computer science. In addition, all minors must complete the equivalent of one semester of calculus.

The required computer science courses are:

- CSCI 131 (Techniques of Programming)
- CSCI 132 (Data Structures)
- CSCI 135 (Discrete Structures) or MATH 243 (Mathematical Structures)
- CSCI 226 (Computer Systems and Organization)

In addition to these required courses, minors must take either two additional 300-level courses or CSCI 235 (Analysis of Algorithms) and an additional 300-level course. Advanced placement credit may be used toward the required courses for the minor.

**Courses Listed as Full?**

For information and assistance regarding enrollment in courses officially listed as full, please contact our computer science coordinator.

**Approval for Computer Science Courses Taken Elsewhere**

Computer science courses require pre-approval from the computer science coordinator. Contact the computer science coordinator to initiate the approval process. Upon completion of the course, arrange to send a transcript to the Registrar's Office at Holy Cross so that appropriate credit can be awarded.

**Advanced Placement**

Students with a score of 4 or 5 on the AP **Computer Science A** exam earn one unit of credit for CSCI 131 and are advised to enroll in CSCI 132. Students with AP Computer Science A credit will forfeit their AP credit if they opt to take either CSCI 131 or CSCI 110. AP Computer Science A credit may be used to count toward the 10 course major or 6 course minor requirement.

A score of 4 or 5 on the **AP Computer Science Principles** exam will earn one unit of credit for CSCI 110, Survey of Computer Science. Students will forfeit their AP credit if they opt to take CSCI 110. AP Computer Science Principles credit does not count for the major or minor.

A score of 4 or 5 on either AP Computer Science exam fulfills the common requirement for mathematics.

## Mathematics Requirements

### Major

#### Requirements for Majors in the Class of 2019

Majors must take at least 10 courses in mathematics above Mathematics 133 or 135.

The following courses are required:

- MATH 134 (Calculus 2 with Fundamentals) or MATH 136 (Calculus 2)
- MATH 241 (Multivariable Calculus)
- MATH 242 (Principles of Analysis)
- MATH 243 (Mathematical Structures)
- MATH 244 (Linear Algebra)

In addition to the required courses, majors must take five elective mathematics courses numbered above 300. At least one of these must be a project course.

Majors must complete at least two courses from the areas of Analysis, Algebra, and Geometry/Topology, plus at least one course from the area of Applied Mathematics/Statistics. Majors should consult with their academic advisers no later than the end of their second year to plan their major course selections with this requirement in mind.

#### Requirements for Majors in the Classes of 2020 and Later

Majors must take at least 10 courses offered by the mathematics and computer science department.

The following courses are required:

- MATH 134 (Calculus 2 with Fundamentals) or MATH 136 (Calculus 2)
- MATH 241 (Multivariable Calculus)
- MATH 243 (Mathematical Structures)
- MATH 244 (Linear Algebra)
- MATH 351 (Modern Algebra 1)
- MATH 361 (Real Analysis 1)

In addition to the required courses, majors must take at least four elective courses, at least three of which must be mathematics courses numbered above 300, or STAT 375 (Probability Theory), or STAT 376 (Mathematical Statistics). Majors may also take CSCI 131, STAT 231, or STAT 232 as one of their electives. At least one elective must be a project course.

MATH 110, STAT 120, MATH 133, MATH 135 and STAT 220 do not count toward the major.

### Project Courses

In these courses, in place of a final exam, students work on a substantial project leading to a written report and an oral presentation.

These projects provide majors with independent learning experiences, where students either investigate some topic using the tools and concepts studied in the course or explore mathematical topics beyond those covered in the course.

Majors are encouraged to take advantage of the close student-faculty contact afforded by upper-division seminars, independent study, and departmental honors, which permit students to explore topics of mutual interest to students and faculty that are not part of the regular course offerings. Also, throughout the curriculum, in courses and in independent work, students are able to explore and utilize the growing relationship between mathematics and computing.

**Approval for Mathematics Courses Taken Elsewhere**

Mathematics courses require pre-approval from the department chair. Contact the department chair to initiate the approval process. Upon completion of the course, arrange to send a transcript to the Registrar's Office at Holy Cross so that appropriate credit can be awarded.

**Advanced Placement**

Students who have received a score of 4 or 5 on the AP Calculus AB exam, or a subscore of 4 or 5 on the AP Calculus BC Exam, will earn credit for MATH 135 and are advised to take MATH 136. Students will forfeit their credit if they opt to take MATH 133 or 135.

Students who receive a score of 4 or 5 on the AP Calculus BC exam will earn credit for MATH 136 and are advised to take MATH 241 (Multivariable Calculus). Students will forfeit their credit if they opt to take MATH 133, 134, 135 or 136.

**Courses Listed as Full?**

For information and assistance regarding enrollment in courses officially listed as full, please contact the department chair.

## Statistics Requirements

### Minor

Statistics minors must complete the following requirements:

- MATH 134 (Calculus 2 with Fundamentals) or MATH 136 (Calculus 2)
- One introductory statistics course: BIOL 275, ECON 249, STAT 220, PSYC 200, or SOCL 226.
- STAT 231 (Linear Models) or ECON 314 (Econometrics)
- STAT 232 (Categorical Data Analysis)
- Two elective statistics courses.

Current statistics electives include STAT 375 (Probability Theory), STAT 376 (Mathematical Statistics), STAT 380 (Statistical Computing), STAT 381 (Statistical Learning), CSCI 307 (Data Mining), PSYC 318 (Advanced Statistics), BIOL 383 (Applied Evolution). In addition to MATH 134 or MATH 136, mathematics majors who minor in statistics may count one course toward both the major and the minor.