Recommended Schedules for Computer Science Majors
Students intending to major in Computer Science are strongly encouraged to take Math 123 and either CS 110 or 111 during their first semester. CS 110 and CS 111 are alternative entry points into the major. The two courses are introductions to programming and cover the same general concepts; only the application areas are different. Students in CS 110 will apply these concepts to the manipulation of digital images while students in CS 111 will apply these concepts to problems in bioinformatics and biology, geosciences, physics, and/or chemistry. It is still possible to major in Computer Science if you start the major during your sophomore year, but your schedule will be much more constrained.
The prerequisite graph for the computer science major is shown below. Consult the catalog for details.
Bachelor of Science in Computer Science
The Bachelor of Science degree gives students solid preparation for either graduate school or industry. The BS degree requires 8 core courses plus CS 372, CS 334, and 3 additional electives. We strongly encourage BS candidates to also take additional mathematics courses if they intend to apply to graduate school. (Please see the course catalog for details.)
The following table outlines a "normal" schedule for a student pursuing a BS.
| Fall | Spring | ||||||||||
| First Year | Math 123: Calculus I CS 110 or 111: Foundations of Computing |
CS 173: Intermediate CS | |||||||||
| Sophomore | CS 174: Discrete Mathematics or Math 210: Intro Proof Techniques CS 281: Computer Organization |
CS 271: Data Structures CS 275: Elementary Graph Theory |
|||||||||
| Junior | CS 334: Theory of Computation CS elective |
CS 371: Algorithm Design and Analysis CS elective |
|||||||||
| Senior | CS 372: Operating Systems | CS elective | |||||||||
Bachelor of Arts in Computer Science
The Bachelor of Science degree requires 8 core courses plus 2 additional electives. We recommend that BA candidates also consider a second major or a strong minor. Students intending to apply to graduate school should pursue the BS degree instead. (Please see the course catalog for more details.)
The following tables outline "normal" schedules for a student pursuing a BA.
| Fall | Spring | ||||||||||
| First Year | Math 123: Calculus I CS 110 or 111: Foundations of Computing |
CS 173: Intermediate CS | |||||||||
| Sophomore | CS 174: Discrete Mathematics or Math 210: Intro Proof Techniques CS 281: Computer Organization |
CS 271: Data Structures CS 275: Elementary Graph Theory |
|||||||||
| Junior | CS elective | CS 371: Algorithm Design and Analysis | |||||||||
| Senior | CS elective | ||||||||||
| Fall | Spring | ||||||||||
| First Year | |||||||||||
| Sophomore | Math 123: Calculus I CS 110 or 111: Foundations of Computing |
CS 173: Intermediate CS | |||||||||
| Junior | CS 174: Discrete Mathematics or Math 210: Intro Proof Techniques CS 281: Computer Organization |
CS 271: Data Structures CS 275: Elementary Graph Theory |
|||||||||
| Senior | CS elective | CS 371: Algorithm Design and Analysis CS elective |
|||||||||

