Computer science is the study of what computers can and cannot do. Central to that study is the concept of the algorithm, a set of directions for solving a problem or accomplishing a task. Computer science studies algorithms in terms of their implementation in hardware and software, their analysis, and their applications. The curriculum in computer science provides students with an understanding of the fundamental principles of computing and the capabilities, limitations, and applications of algorithmic problem solving. It provides students with the central skills of the discipline: fluency in multiple approaches to programming and problem solving, the ability to use analytical methods that establish the correctness and efficiency of algorithms, the ability to use levels of abstraction to manage complexity, and preparation to adapt to technological changes in the field. It provides students with the ability to convey technical information in written and oral communication to all audiences, experts and non-experts alike.
Major requirements and prerequisite structure
Major Sequence in Computer Science
A minimum of twelve courses to include:
CS 125, 126, or 127; students who are placed directly into CS 128 need to take an additional course that counts towards the major to replace this course.
CS 128, 253, 256, 354, 355, and 357.
Three additional upper-level courses in computer science.
MATH 135 and 136.
Minor Sequence in Computer Science
A minimum of six courses to include:
CS 125, 126, or 127; students who are placed directly into CS 128 need to take an additional course that counts towards the minor to replace this course.
Three additional courses, two at the 300-level or above in computer science.
MATH 135 or 136.
Only one of the courses CS 125, 126, and 127 will count towards the major or minor in computer science. Students in the major or minor with previous experience may opt to skip CS 125, 126, and 127, instead starting in CS 128. This requires approval of the department chair, and it requires taking an additional course that counts toward the computer science major or minor to take the place of the skipped course.
At most, one of CS 498 and CS 499 may count toward completion of the major degree requirements; neither may count for the minor degree requirements.