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 Sequence in Computer Science:
- CS 127 or CS 126
- CS 128, CS 253, CS 256, CS 354, CS 355, and CS 357
- Three additional upper-level courses in computer science
Additional courses for the major:
- Math 135 and 136
Minor Sequence in Computer Science:
- CS 126 or 127
- CS 128
- three additional courses, two at the 300 level or above
- Math 135 or 136
Only one of the courses CS 126 and CS 127 will count towards the major or minor in computer science. Students may not take CS 126 after successfully completing CS 127. CS 498 does not count toward completion of the major or minor degree requirements in computer science. CS 499 does not count for the minor degree requirement.