Major in Computer Science (B.S. Degree)
Major Prerequisites:
Requirements of the Major:
A major in Computer Science consists of 10 courses: 8 computer science courses (three core courses and five electives) and two mathematics courses. Of the five electives, at least one must come from Systems and at least one must come from Applications. The other three electives are unrestricted. MAT 230 and CSC 221 should be completed before spring of the junior year.
- Mathematics Courses:
- Core Courses:
- Electives:
- Applications
- Systems
- Theory
- Other
Special topics seminars may be offered on occasion that would fall under the Applications (CSC 381), Systems (CSC 382), or Theory/Other (CSC 383) category of electives. These courses are eligible electives in the major.
Students can apply at most one independent study course towards their major. Such an independent study course cannot be used to satisfy the Systems or Applications area requirement. Independent study courses related to a senior honors thesis cannot be counted towards the major.
Minor in Computer Science
The Minor in Computer Science consists of six courses:
- Introductory Programming:
CSC 120 - Programming in the Humanities (= DIG 120) or
or
or
or
Advanced placement credit for Computer Science A
- Intermediate Courses:
CSC 221 - Data Structures
CSC 250 - Computer Organization
MAT 230 - Sets and Proofs
- Two Electives:
Chosen from 300-level CSC courses and MAT courses listed earlier as potential electives in the CSC major.
Special topics seminars may be offered on occasion that would fall under the Applications (CSC 381), Systems (CSC 382), or Theory/Other (CSC 383) category of electives. These courses are eligible electives in the minor.
Unless a specific exception is approved by the department, independent study courses may not be applied towards the CSC minor.
Honors in Computer Science
The Department of Mathematics and Computer Science grants honors to graduating students with outstanding records of accomplishment in computer science, as demonstrated in three areas: breadth and depth of curriculum, quality of academic performance, and significance of a scholarly project. Breadth and depth of curriculum are achieved by taking MAT 150, two major-eligible electives in the Applications category, two in the Systems category, one in the Theory category, and one more in either the Theory or Other category. Additionally, students will undertake two independent study courses with the honors thesis supervisor for work on the honors project itself.
All candidates for honors must prepare an honors thesis and defend the thesis orally before faculty in the department. Candidates must attain a grade point average of at least 3.2 overall and at least 3.5 on all courses that fulfill either the requirements of the Computer Science major or the course requirements for honors noted above. The final recommendation of the Department for graduation with honors is determined by the quality of the candidate’s complete academic record, thesis, and defense. Additionally, the department may choose to confer high honors upon a candidate who displays unusual independence and initiative, develops original results, and clearly and rigorously communicates these via a high-quality thesis and oral defense.
The Department recommends that students interested in an honors program notify their academic advisers and the chair of the department during the spring semester of the sophomore year, or as soon as possible thereafter. During the junior year, such a student should identify an area of computer science for exploration and seek out a member of the department to serve as a potential honors supervisor. Formal declaration
of pursuit of honors is recommended by the end of the advising period in the spring of the junior year and is due by the end of the first week of classes of the senior year. See the departmental honors page for the appropriate form and further details on the honors process and requirements.