Required courses for the BA degree are CSCI 111, CSCI 112, CSCI 209, CSCI 210, CSCI 211, as well as either MATH 121, MATH 201/MATH 225. In addition, two electives in the range CSCI315-CSCI341 and two additional CSCI electives are required.
The entry point for the CSCI major is CSCI 111: Fundamentals of Programming I.
CSCI 111 is the prerequisite for CSCI 112: Fundamentals of Programming II.
CSCI 112 is the prerequisite or corequisite for CSCI 210: Computer Organization.
CSCI 112 is the prerequisite for CSCI 209: Software Development.
Both CSCI 112 and MATH 121, MATH 201/MATH 225 are the prerequisites for CSCI 211: Algorithm Design and Analysis.
CSCI 209 is the prerequisite for CSCI 312: Programming Language Design and for most 300-level CSCI electives.
MATH 121, MATH 201/MATH 225 are the prerequisites for CSCI 313: Theory of Computation.
Bachelor of Science Requirements
Required courses for the BS degree are CSCI 111, CSCI 112, CSCI 209, CSCI 210, CSCI 211, CSCI 312, CSCI 313, as well as either MATH 121, MATH 201/MATH 225 and MATH 102 and MATH 222. In addition, two electives in the range CSCI315-CSCI341, two additional CSCI electives, and two additional MATH electives at the 200-level or higher are required.
Note that, unlike the BA degree, the BS degree requires both CSCI 312 and CSCI 313 and four additional MATH classes.
The entry point for the CSCI major is CSCI 111: Fundamentals of Programming I.
CSCI 111 is the prerequisite for CSCI 112: Fundamentals of Programming II.
CSCI 112 is the prerequisite or corequisite for CSCI 210: Computer Organization.
Both CSCI 112 and MATH 121, MATH 201/MATH 225 are the prerequisites for CSCI 211: Algorithm Design and Analysis.
CSCI 209 is the prerequisite for CSCI 312: Programming Language Design and for the 300-level CSCI electives.
MATH 121, MATH 201/MATH 225 are the prerequisites for CSCI 313: Theory of Computation.
MATH 102: Calculus II is the prerequisite for MATH 222: Linear Algebra.