Dec 21, 2024  
2017-2018 Catalog 
    
2017-2018 Catalog [ARCHIVED CATALOG]

Computer Science


Professors: Chartier, Heyer, Mossinghoff (Chair), Neidinger
Associate Professor: Yerger
Assistant Professors: Kabala, Kuchera, Mendes, Peck, Ramanujan
 

Major in Computer Science (B.S. Degree)


Major Prerequisites:

 

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.
 

 

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:
 

  1. Introductory Programming (one of the following)

    CSC 120 - Programming in Humanities (= DIG 120)  
      
      
      
     
  2. Data Structures

      
     
  3. Discrete Mathematics

    CSC 220 - Discrete Structures (= MAT 220)  
     
  4. Systems

    CSC 250 - Computer Organization  
     
  5. 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.

Computer Science Courses


The 100-level courses are introductory and are open to students with no prior coursework in Computer Science.  The 200-level courses are either intermediate courses in fundamental Computer Science, or interdisciplinary introductory programming courses.  The 300-level courses cover more advanced fundamental topics in Computer Science, and typically require one or more 200-level courses as prerequisites.  The 400-level courses involve advanced topics.