| CS 152 | 3 |
| CS 241 | 3 |
| CS 261 | 3 |
| EECE 238L | 4 |
| CS 251 | 3 |
| CS 257 | 3 |
| CS 293 | 1 |
| CS 341 | 3 |
| CS 351 | 4 |
| CS 361L | 3 |
| CS 362 | 3 |
| CS 460 | 3 |
| CS 481 | 3 |
| CS Technical Electives | 9 |
| Math 162 | 4 |
| Math 163 | 4 |
| Math 314 | 3 |
| Math 345 | 3 |
| English 101 | 3 |
| English 102 | 3 |
and ONE of the following:
| C&J 130 | 3 |
| English 219 | 3 |
| English 220 | 3 |
| American Studies | 182, 185 |
| Anthropology | 101, 130 |
| Economics | 105, 106 |
| Engineering | 200 |
| Geography | 102 |
| Linguistics | 101 |
| Political Science | 110, 200 |
| Psychology | 105 |
| Sociology | 101 |
| American Studies | 186 |
| Classics | 107, 204, 205 |
| Comparitive Literature | 223, 224 |
| English | 150, 292, 293 |
| Modern Languages | 101 |
| History | 101, 102, 161, 162 |
| Philosophy | 101, 201, 202 |
| Religious Studies | 107 |
| Art History | 101, 201, 202 |
| Dance | 105 |
| Media Arts | 210 |
| Music | 139, 140 |
| Theatre | 122 |
The Fine Arts requirement must be fulfilled with a 3-credit studio in Art, Music, Theatre, Dance, Media Arts. Three 1-credit studio courses do not satisfy the requirement.
One of the following sequences of laboratory science must be included in the 14 hours:
| Astronomy | 270, 270L and 271, 271L |
| Biology | 201, 201L and 202, 202L |
| Chemistry | 121, 123L and 122, 124L |
| EPS | 101, 105L and 201L |
| EnvSi | 101-102L and EPS 201L. |
| Physics | 160, 160L, and 161, 161L Physics is recommended. |
The two remaining laboratory science classes can be more advanced courses in the discipline chosen for the sequence or they can be introductory laboratory science hours taken from this list.
Laboratory science courses other than those above are subject to the approval of the CS advisor. They must be, at least, at a level such that majors in that discipline earn credit in the course and must have substantial laboratory content.
Course work should be sufficient to satisfy requirements for a minor.
The sequence CS 152L-251L-351L involves a comprehensive study of the fundamentals of computer programming. The language Java will be mastered and techniques and ideas of algorithmic program design, recursion, programmer team organization, structured programming, correctness, program specification, program testing, maintenance and modification and the use and implementation of various data structures and files will be covered. CS 152 and CS 251 are taught only in Java.
CS 259L is an accelerated course designed for potential CS students with some programming experience or education. It involves the same material as the normal undergraduate sequence CS 152L-251L. It requires a minimum of one year experience or instruction in a high level programming language and associated methodology.
The sequence CS241-341 introduces students to the memory organization of data storage, comupter architecture and design, and assembly language programming. CS 241 is taught only in C.
Students are provided with basic hardware literacy through EECE 238L, and the study of computer architecture included in CS 341L and CS 481.
The sequence CS 261-361Lintroduces the student to data structures and algorithms and the mathematics needed to analyze their time and space complexity. Topics include 0( ) notation, recurrence relations and their solution, sorting, hash tables, priority queues, search trees ( including, at least, one balanced tree structure), and basic graph representation and search. CS 362 introduces sophisticated data structures, algorithms that use them, and techniques for analyzing their performance. CS 361 is taught only in C.
CS 293 gives an overview of philosophical ethics, privacy and databases, intellectual property, computer security, computer crime, safety and reliability, professional resposibility and codes, electronic communities and the Internet, and social inpact of computers.
CS 357L provides an examination of several classes of programming languages.
CS 460 is a capstone design course involving a large team-oriented programming project.
CS 481 introduces the student to the principles of operating systems and provides further instruction on computer architecture. Technical electives taken from a wide variety of courses permit the student to specialize (numerical analysis, operations research, artificial intelligence, architecture and systems, etc.) or to acquire additional breadth.