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.

CS major.jpg

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.

BS Degree Over 4 Years
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. 

BA Degree Over 4 Years
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


BA Degree Over 3 Years
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