Honors Program in Computer Science

Requirements for an Honors Major

An Honors major in computer science will consist of: two 2-credit preparations, one 2-credit research report or thesis, Senior Honors Study, and a minor preparation.

The following will be submitted to external examiners to be evaluated:

  1. Two 2-credit preparations to be selected from the combinations of courses listed below. Each of these 2-credit preparations will be examined by a three-hour written exam and an oral exam.

    The two 2-credit preparations must include four distinct courses. In certain circumstances, the Computer Science program may be willing to consider other groupings of courses, seminars, or courses with attachments. If the required courses and preparations would not satisfy a course major, additional computer science courses must be taken to meet course major requirements. In all cases, the Computer Science program must approve the student's plan of study.

    Possible Prepartaions (depending on course scheduling, one or more of these may not be available to a particular class of honors students):
    PREPARATION COURSE COMBINATION
    Algorithms and Theory CPSC 41 (Algorithms), CPSC 46 (Theory of Computation)
    Intelligent Systems CPSC 81 (Robotics), CPSC 63 (Artificial Intelligence)
    Compiler Design and Theory CPSC 46 (Theory of Computation), CPSC 75 (Compiler Design and Construction)
    Computer Architecture CPSC 24 (Fundamental of Digital System), CPSC 25 (Computer Architecture)
    Programming Languages CPSC 43 (Programming Languages), CPSC 75 (Compiler Design and Construction)
    Perception and Action Systems CPSC 27 (Computer Vision), CPSC 81 (Robotics)
    Systems CPSC 25 (Computer Architecture), CPSC 45 (Operating Systems)
    Distributed Systems CPSC 45 (Operating Systems), CPSC 85 (Distributed Systems)
    Visual Information Systems CPSC 27 (Computer Vision), CPSC 40 (Computer Graphics)
    Graphics CPSC 40 (Computer Graphics), CPSC 140 (Advanced Computer Graphics)
    Natural Language Models CPSC 63 (Artificial Intelligence), CPSC 65 (Natural Language Processing)

  2. One 2-credit research report or thesis to be read by an external examiner and examined orally.

    At a minimum, this will involve a review of scholarly papers from the primary literature of computer science and the writing of a scholarly scientific paper. We hope that the paper will report on a research experience involving the student and faculty (here or elsewhere). It is expected that most of the research or scholarly groundwork will be completed before the fall semester of the senior year either by 1 credit of work in the spring semester of the junior year or full-time summer work. Students will register for at least 1 credit of thesis work in the fall of the senior year to complete the work and write the paper. It is expected that the paper will be completed by the end of the fall semester.

To be eligible for an Honors major in computer science students must:
  1. Have a B+ average in all computer science courses completed by the end of junior year. These must include: CPSC 21, CPSC 22, CPSC 35, and at least one of CPSC 25 (Architecture) or CPSC 46 (Theory)

  2. Have demonstrated proficiency in mathematical argument and reasoning by the end of the junior year. Ordinarily, this proficiency will be assumed if the student has:

  3. Complete by the end of the senior year both of CPSC 25 and CPSC 46 as well as CPSC 180 (Thesis) and CPSC 199 (Senior Honors Study, which will consist of full participation in CPSC 97 (Senior Conference) with course students in the spring semester of the senior year).

Requirements for an Honors Minor

An honors minor in computer science requirs a 2-credit preparation to be selected from combinations of courses listed above. An examiner will set both a three-hour written exam and an oral exam for the preparation.

To be eligible for an Honors minor in computer science a student must:

  1. Have a B+ average in all computer science courses completed by the end of junior year. These must include CPSC 21, CPSC 22, CPSC 35, and at least one of the CPSC 25 or CPSC 46.

  2. Have demonstrated some proficiency in mathematical argument and reasoning by the end of the junior year. Ordinarily, this proficiency will be assumed if the student has: