专业详情

Computer science majors take courses covering algorithms, data structures, logic, programming languages, systems, and theory. Electives include artificial intelligence, computer graphics, computer vision, cryptography, databases, networks, and scientific computing.

Requirements for the CS major in either the College of Arts and Sciences or the College of Engineering are as follows:

  • a calculus sequence (note different college requirements)
    • Math 1110-1120-2210 (A&S)
    • Math 1910-1920-2940 (ENGR or A&S)
  • Computer Science course requirements (see chart for prerequisite structure of CS courses):
  • introductory programming
    • CS 111x (CS 1110 or 1112)
    • CS 2110 (or CS 2112) or equivalent (i.e. ECE 2400/ENGRD 2140)
  • a five-course computer science core
    • CS 2800 (or CS 2802)
    • CS 3110
    • CS 3410 or CS 3420
    • CS 4410 or CS 4414
    • CS 4820
  • three 4000+ CS Electives each at three credits
    • Exceptions: CS 4090, CS 4998, and CS 4999 are NOT allowed
  • CS Practicum or Project course:
    • CS practicums (CS 4xx1) or CS 3152, CS 4152, CS 4154, CS 4740, CS 4752, CS 5150, CS 5152, CS 5412, CS 5414, CS 5431, CS 5625, or CS 5643
  • three 3000+ Technical Electives (information) (3 credit min per course)
  • three 3000+ related courses to comprise an External Specialization–outside of computer science (3 credit min per course)
  • 3 credits Major-approved Elective(s)

In addition, students’ course selections must satisfy the requirement listed below. Note that courses used to satisfy this requirement are not extra but can be incorporated into the major requirements listed above, where applicable.

  • a probability course: one of BTRY/STSCI 3080, CS 4850, ECE 3100, ECON 3130, ENGRD 2700 or MATH 4710. (Choosing a 3000+ level course among these options is strongly recommended.)

For suggestions on how to select a set of electives that reflect one of a number of coherent, recognized sub-areas of study in computer science, see the material on Vectors. Please note that completion of a Vector in not required and vector completion is not confirmed nor noted on the transcript.