Planning Your Computer Science Major

This page provides some advising information to help majors plan their schedules.

Are you an incoming freshman interested in the CSCI major? See this freshman advising guide >>

Model schedules

Every student's schedule is different, and the CSCI faculty are here to help students plan what courses and sequence are right for each student. The following model schedules, however, display some typical scenarios.

Freshmen who have a strong interest in computer science should try to complete all of CSCI 235, 243, and 245, and Math 231 in their first year. This gives them the maximum flexibility in terms of choosing electives later. The four-year schedule might look like this:

Freshman CSCI 235, CSCI 243 CSCI 245, MATH 231
Sophomore CSCI 351, PHYS 231 CSCI 345, CSCI 335
Junior CSCI elective, other MATH CSCI elective
Senior CSCI elective CSCI elective CSCI 494

Freshmen who want to try out computer science without as large of a time commitment up front may take either CSCI 235 (for a more practical flavor) or CSCI 243 (for a more theoretical flavor) in their first semester. Here's a schedule for trying out CSCI 235 and then going on to complete the major:

Freshman CSCI 235 CSCI 245 MATH 231
Sophomore CSCI 351, CSCI 243  CSCI 345, CSCI 335
Junior CSCI elective, PHYS 231 CSCI elective, other MATH
Senior CSCI elective  CSCI elective, CSCI 494

Here's a schedule for trying out CSCI 243.

Freshman CSCI 243 CSCI 235, MATH 231
Sophomore CSCI 245, PHYS 231 CSCI 345, CSCI 335
Junior CSCI 351, other MATH  CSCI elective
Senior CSCI elective CSCI elective, CSCI 494

Sophomores who take a computer science course and decide to switch majors can follow this three-year plan for completing the major. A variation of this might also be viable for students with enough AP credit to complete an entire college degree in three years.

Sophomore CSCI 235  CSCI 245, MATH 231
Junior CSCI 351, CSCI 243, PHYS 231 CSCI 345, CSCI 335, other MATH
Senior CSCI elective, CSCI elective  CSCI elective, CSCI 494

Headed for Graduate School?

Students who are interested in graduate school in computer science or a related field should note that the requirements for a major represent a minimal program of study. Good preparation for graduate school would involve taking more than what is required.

In particular, we recommend:

  • Of the computer science electives
    Graduate-school bound students should take both CSCI 445 (Algorithms) and CSCI 455 (Operating Systems). In addition, they should take as many of the electives as possible; CSCI 365 (Programming Languages) would have the next priority after the two already mentioned.
  • Of mathematics supporting requirements
    Students should consider a minor in mathematics, if not a second major. Students should attempt to fit into their course of studies all of MATH 232 (Calc II),  MATH 343 (Advanced Discrete Mathematics), and MATH 363 (Prob and Stats). Note that MATH 231 (Calc I) and MATH 245 (Linear Algebra) are already required for the CSCI major.