Major in Computer Science (B.S. Degree)
- Introductory programming - satisfied by:
- MAT 111 or MAT 112 (or AP/IB credit for Calculus I)
Requirements of the Major:
A major in Computer Science consists of 10 courses: 9 computer science courses (four core courses and five electives) and one mathematics course. 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. CSC/MAT 220 and CSC 221 should be completed before spring of the junior year.
- Mathematics Course:
- Core Courses:
Special topics seminars may be offered on occasion that would fall under the Applications (CSC 381 ), Systems (CSC 382 ), Theory (CSC 383 ) or Other (CSC 384 ) category of electives. Independent studies (CSC 395 or CSC 495 ) may be applied to the major with approval of the department chair.
Minor in Computer Science
The Minor in Computer Science consists of six courses:
- Introductory Programming (one of the following)
CSC 120 - Programming in Humanities (= DIG 120)
- Data Structures
- Discrete Mathematics
CSC 220 - Discrete Structures (= MAT 220)
CSC 250 - Computer Organization
- Two electives
Chosen from computer science courses numbered above 300 and math courses cross listed as computer science courses.
Special topics seminars may be offered on occasion that would fall under the Applications (CSC 381 ), Systems (CSC 382 ), Theory (CSC 383 ) or Other (CSC 384 ) category of electives. Independent studies (CSC 395 or CSC 495 ) may be applied to the minor with approval of the department chair.
Courses taken Pass/Fail at Davidson College may not count toward the minor in Computer Science.
Graduate Studies in Computer Science
Students considering graduate school in computer science should include MAT 150 and MAT 324 in their coursework, and seek opportunities to engage in research and compete in programming contests. The Graduate Record Examination should be taken during the fall semester of the senior year.
Honors in Computer Science
The Mathematics and Computer Science Department 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 thesis project. The breadth and depth of curriculum is achieved by taking MAT 150, two 300- or 400-level electives in the Applications category, CSC 351 plus another 300- or 400-level elective in the Systems category, and CSC 324 plus another 300- or 400-level elective in the Theory or Other categories.
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. At the Department's discretion, in the case of an exceptional academic record, together with a thesis of the highest quality incorporating original mathematical or computational methods, the Department confers high honors.
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 department chair for the appropriate form and further details on the honors process and requirements.