# Computer Science Major

The bachelor of arts and bachelor of science degrees share some general requirements, but each also has its own additional requirements. In sum, 15 to 15 1/2 course credits are required for the major. A grade of C- or better must be maintained in all courses towards the major.

General requirements

For both the B.A. and B.S. degrees, all candidates must complete the following requirements.

Foundational requirement: Four courses:

- CPSC 115L. Introduction to Computing
- CPSC 203. Mathematical Foundations of Computing
- CPSC 215L. Data Structures and Algorithms
- CPSC 275L. Introduction to Computer Systems

Breadth requirement: One course in each of the three areas: theory, systems and software, selected from the list below.

- Theory
- CPSC 219. Theory of Computation
- CPSC 320. Analysis of Algorithms

- Systems
- CPSC 315. Systems Software
- CPSC 333. Computer Networks
- CPSC 375. High-Performance Computing
- CPSC 385. Computer Security

- Software
- CPSC 304. Computer Graphics
- CPSC 310. Software Design
- CPSC 316. Foundations of Programming Languages
- CPSC 340. Principles of Software Engineering
- CPSC 352. Artificial Intelligence
- CPSC 372. Database Fundamentals

Elective requirement: Two additional courses selected from the designated elective courses listed below. At most one may be CPSC 110, and at most one may be outside computer science.

- Any computer science course numbered 110, above 215 and below 399, or 415
- ENGR 221L. Digital Circuits and Systems
- ENGR 323L. Microprocessor Systems
- MATH 228. Linear Algebra
- MATH 252. Introduction to Mathematical Modeling I
- MATH 254. Introduction to Mathematical Modeling II
- MATH 305. Probability
- MATH 309. Numerical Analysis
- MATH 314. Combinatorics and Computing

Senior exercise: A yearlong senior seminar (CPSC 403-404\footnote{Fulfills the Writing Intensive Part II requirement.}) and a yearlong senior project (CPSC 498-499), worth two course credits in total. The senior project is an independent project that is conducted under the supervision of a faculty adviser and performed in conjunction with the senior seminar.

Requirements for the bachelor of arts degree

In addition to the general requirements, candidates pursuing the B.A. degree must complete:

Mathematics requirement: MATH 131. Calculus I.

Cognate requirement: One additional Writing Intensive course outside computer science and one additional Numerical and Symbolic Reasoning course selected from the list below.

- Any mathematics course numbered 107 or above
- POLS 242. Political Science Research Methods
- PSYC 221L. Research Design and Analysis
- SOCL 201L. Research Methods in the Social Sciences

Requirements for the bachelor of science degree

In addition to the general requirements, candidates pursuing the B.S. degree must complete:

Additional elective requirement: In addition to two courses for the elective requirement, one more course selected from the designated elective courses listed above. Of the total of three elective courses, at most one may be CPSC 110, and at most one may be outside computer science.

Mathematics requirement: MATH 131. Calculus I, and MATH 132. Calculus II.

Admission to the major

To be admitted to the major, students must receive a grade of C- or better in CPSC 203 and CPSC 215L. Upon submission of the declaration of major form to the department chair, an adviser in the department will be assigned.

ADDITIONAL OPPORTUNITIES

AP credit: Students who scored 4 or 5 on the AP Computer Science Principles examination will be awarded 1 course credit in place of CPSC 110. Students who scored 4 or 5 on the AP Computer Science A examination will be awarded 1 1/4 course credits in place of CPSC 115L. Both may be counted toward the major upon submitting a written request to the department chair.

Study away: Students are strongly urged to consult with their advisers as early as possible in the process of preparing to study away. Students should have completed the foundational requirement (CPSC 115L, CPSC 203, CPSC 215L, and CPSC 275L) before studying away. Students must consult with their faculty advisers to identify courses that will be acceptable for transfer credits from their study-away institutions. Students must fulfill the yearlong requirement of the senior seminar (CPSC 403-404) and the senior project (CPSC 498-499) during their senior year at Trinity.

Graduate school preparation: Students planning to attend graduate school in computer science are advised to take the following courses, which are needed for successful admission to and progress in graduate school: CPSC 219, CPSC 315, CPSC 316, CPSC 320, and MATH 228.

Honors: Honors are awarded to qualified students by a vote of the faculty. Typically, honors will be awarded to students who maintain a B+ average in all computer science courses numbered 200 and above and who complete the CPSC 403-404 and CSPC 498-499 sequences with a grade of A- or better.