Nov 30, 2024  
2023-2024 Catalog 
    
2023-2024 Catalog [ARCHIVED CATALOG]

Computer Science


Professors: Chartier, Heyer, Molinek
Associate Professor: Ramanujan(Chair), Yerger
Assistant Professors: Kabala, M. Kuchera, Mendes, Peck, H. Smith, Wiedenbeck, Zhuang
Visiting Assistant Professor: Miazi, Pulaj, Troyka
Adjunct Assistant Professor: Seminario

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 383 ) category of electives. These courses are eligibile electives in the major or minor.

Independent studies include options in Applications (CSC 391  or CSC 491  ), Systems (CSC 392  or CSC 492  ), Theory (CSC 393  or CSC 493  ), or Other (CSC 394  or CSC 494  ), all of which are eligible electives in the major or minor.  CSC 390  is an Independent Study that does not count for major or minor credit.

 

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 any 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 383 ) category of electives.

Independent studies include options in Applications (CSC 391  or CSC 491  ), Systems (CSC 392  or CSC 492  ), Theory (CSC 393  or CSC 493  ), or Other (CSC 394  or CSC 494  ). CSC 390  is an Independent Study that does not count for major or minor credit.

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. 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.

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.