[Return to Department of Mathematics and Computer Science homepage]
[Return to Computer Science Major page]
Computer Science
Sample Curriculum
Class of 2013+

This chart is based on the new university and college requirements ("core curriculum 2009") in effect in Fall 2009 for the class of 2013.
Quarter Freshman Year Sophomore Year Junior Year Senior Year
Fall Math 11 (Calc I)
CSci 10 (Intro CS)
Crit Think Writing (STS) I
Culture & Ideas I
Math 14 (Calc IV)
Rel Theol Culture I
Math 51 (Discr. Math)
Foreign Lang. I
Math 100 (5)
Comp. Engin. 177 (Op. Sys)
Math Up. Div.
CSci 161 or 166
Rel Theol Culture III
Winter Math 12 (Calc II)
Physics 31
CSci 60 (Obj. Orient. Prog.)
Culture & Ideas II
Rel Theol Culture II
Math 52 (Abst. Alg.)
Comp. Eng. 20 (Assemb.)
Social Science
Civic Engagement
Foreign Lang. II
CSci Elective
Comp. Eng. Elective
CSci Elective
Spring Math 13 (Calc. III)
Physics 32 & 32L
CSci 61 (Data Str.)
Crit Think Writing (STS) II
Math 53 (Lin. Alg)
Comp. Eng. 21 (Arch)
CSci 163* (Algorithms)
Culture & Ideas III
Math Up. Div.
CSci or Comp. Eng. Elect.
Students may not take more than 19 units a quarter without permission. Upper Division courses taken in some "elective" slots in the Junior and Senior year may lead to an overload.

-- One course (which may be a core course) must be designated as an "experiential learning" course.
-- Students must declare a "pathway" by the end of their sophomore year and take 4 approved courses (which may fulfill other requirements) in that pathway.
  1. The two upper division "pure" mathematics electives may be any courses from among the upper division mathematics courses in the Math/CS Department excluding Math 165 and 166. Highly recommended is Math 122 (Prob. & Stats. I); Math 102 (Adv. Calc.) and Math 123 (Prob. & Stats. II) are also suggested.
  2. Of the three computer science electives, one must be chosen from among: CSci 161 (Automata), CSci 166 (Num. Analysis), or CSci 167 (Bool. Alg.). The other two may be any upper division computer science course, not already taken to satisfy a requirement: CSci 161, 162 (Formal Lang), 164 (Comp. Simul.), 165 (Lin. Prog.), 166, 167, 168 (Graphics), 169 (Prog. Langs.), 181 (Appl. Cryptog.), 182 (Digital Steganography), or any of the following three upper division mathematics courses: Math 144 (Part. Diff. Eq.), 176 (Combin.), 177 (Graph Th.).
  3. The Computer Engineering elective must be chosen from courses offered in the Computer Engineering Department with courses number 100 or above.
  4. One additional computer-related elective must be taken from the lists of courses mentioned in note 2 or 3 above.
  5. Math 100 is highly recommended to fulfill the Advanced Writing requirement, but may not be taken to fulfill any mathematics and computer science upper division requirements for students majoring in mathematics or in computer science. Students are free to take any other course approved as fulfilling the Advanced Writing requirement.
  6. Students are encouraged to choose elective computing courses according to one of the following tracks:
    Foundations: CSci 161, Math 176, Math 177, Comp. Engin. 173 (Logic Prog.)
    Software: CSci 161, 169, Comp. Engin. 174 (Soft. Engin.), Comp. Engin. 178 (Database)
    Numerical Computation: Math 144, CSci 165, 166, Comp. Engin. 145 (Paral. Prog.)
    Graduate Preparation: CSci 166, Math 176, 177, Comp. Engin. 175 (Compilers)

At least 12 upper division courses (60 units) are required for graduation. Thus, if the English Composition course is not an upper division course, at least two of the free electives must be upper division courses.

The information presented on this webpage is not intended as the official statement of graduation requirements. The student is referred to the current University Bulletin.

Last Updated: 15 April 2009