REQUIREMENTS
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. HighPerformance 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 403404\footnote{Fulfills the Writing Intensive Part II requirement.}) and a yearlong senior project (CPSC 498499), 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 studyaway institutions. Students must fulfill the yearlong requirement of the senior seminar (CPSC 403404) and the senior project (CPSC 498499) 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 403404 and CSPC 498499 sequences with a grade of A or better.