## 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, Techniques of Programming, and are advised to enroll in CSCI 132, Data Structures. *Students who experienced significant disruptions to their AP courses in Spring 2020, and students who are not confident of their programming skills, are encouraged to contact Prof. Kevin Walsh (kwalsh@holycross.edu) for advice on selecting an appropriate course.* 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 counts towards fulfilling course major or minor requirements.

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. This course does not count toward fulfilling the computer science major or minor requirements. Regardless of score, all students who have taken AP Computer Science Principles are encouraged to take CSCI 131.

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, PSYC 200, SOCL 226, STAT 220, or credit for AP Statistics.
- STAT 231 (Linear Models) or ECON 314 (Econometrics)
- STAT 232 (Categorical Data Analysis)
- Two elective statistics courses.

Students may declare the Statistics minor after having completed either STAT 231 (Linear Models) or ECON 314 (Econometrics).

Current statistics electives include STAT 225 (Experimental Design), STAT 226 (Bayesian Statistics), STAT 375 (Probability Theory), STAT 376 (Mathematical Statistics), STAT 380 (Statistical Computing), STAT 381 (Statistical Learning), STAT 392 (Seminar), CSCI 307 (Data Mining), BIOL 383 (Applied Evolution), PSYC 318 (Advanced Statistics).

In addition to either MATH 134 or MATH 136, mathematics majors who minor in statistics may count one course toward both the major and the minor.

**Advanced Placement**

Students who have received a score of 4 or 5 on the AP Statistics exam will earn one unit of credit for **ECON 249-AP** Statistics. Students will forfeit their AP credit if they opt to take any 100- or 200-level statistics course at the College, including STAT 120 Statistical Reasoning, STAT 220 Statistics, BIOL 275 Biological Statistics, ECON 249 Statistics, PSYC 200 Statistics, and SOCL 226 Social Statistics.