Computer Science

Outcomes of the Computer Science Major

Upon completion of a computer science major, a student will be able to:

  1. Understand the fundamental concepts of computer science, including: abstraction; elementary algorithms and data structures; boolean logic and its digital representations; and computer organization.
  2. Program in multiple languages and understand the basic concepts of code organization and documentation.
  3. Understand the principles of mathematical proof and of elementary number theory, probability, and combinatorics; use these principles to reason about computation.
  4. Execute a sustained research project:
    1. Choose and define a significant topic of inquiry from the major field.
    2. Independently execute a significant research project under the mentorship of an adviser.
    3. Identify, analyze, critique, and evaluate existing scholarship.
    4. Develop new research or systematize or explain existing research.
  5. Clearly communicate work done:
    1. Write a clear and coherent document that is substantially longer than a traditional term paper or project and in the style and format appropriate to the field.
    2. Present, discuss, and defend their work orally in front of scientific and non-scientific audiences.

Outcomes of the Math-Computer Science Interdisciplinary Major

Upon completion of the mathematics-computer science interdisciplinary major, a student will have demonstrated a broad mastery of the fundamentals of mathematics and computer science, planned and executed a sustained research project, and clearly communicated their understanding/findings both in written and oral presentation. The student will be able to:

    1. Make arguments and solve problems in topics from one-variable calculus; the real and complex number systems and beginning analysis; combinatorics, probability, and number theory; linear algebra; and vector calculus.
    2. Understand the fundamental concepts of computer science, including: abstraction; elementary algorithms and data structures; boolean logic and its digital representations; and computer organization.
    3. Program in multiple languages and understand the basic concepts of code organization and documentation.
    4. Execute a sustained research project:
      1. Choose and define a significant topic of inquiry from the major field.
      2. Independently execute a significant research project under the mentorship of an adviser.
      3. Identify, analyze, critique, and evaluate existing scholarship.
      4. Develop new research or systematize or explain existing research.
    5. Clearly communicate work done:
      1. Write a clear and coherent document that is substantially longer than a traditional term paper or project and in the style and format appropriate to the field.
      2. Present, discuss, and defend their work orally to scientific and non-scientific audiences.