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 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)
Please note that a grade of C or better in CSCI-131, or permission of the CS Coordinator, is a prerequisite for CSCI-132. A grade of C or better in CSCI-132, or permission of the CS Coordinator, is a prerequisite for both CSCI-226 and CSCI-235.
In addition to the core courses, majors are required to take at least three elective courses numbered above 300. We recommend that students consider taking 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)
Please note that a grade of C or better in CSCI-131, or permission of the CS Coordinator, is a prerequisite for CSCI-132. A grade of C or better in CSCI-132, or permission of the CS Coordinator, is a prerequisite for both CSCI-226 and CSCI-235.
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.
Other Information
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 17³Ô¹ÏÍø so that appropriate credit can be awarded.
Computer Science Elective in Physics
Quantum Computing (PHYS 275) counts as an elective towards the requirements for the computer science major and minor.
For students pursuing dual programs in both Physics and Computer Science, the course will count for credit towards both programs of study. For physics students, prerequisites for Quantum Computing include PHYS 221 "Methods" and PHYS 223 "Modern Physics", or permission of the instructor. The course may also be available by permission for students with an interest in physics who have taken both MATH 244 "Linear Algebra" and either CSCI 226 "Systems and Organization" (recommended) or CSCI 132 "Data Structures" (at minimum).
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
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 17³Ô¹ÏÍø 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.