# Required Courses Flow Chart for BS or BA

- BS and BA: Two courses (six credits) in CSCI are required from CSCI 315 through 341. Six additional credits (two courses) are required for all BS and BA candidates.
- BS: CSCI 312, CSCI 313, MATH 222, and six additional credits in Mathematics from 200 level or above are required
- BA: CSCI 312 or CSCI 313 is required. No additional Mathematics courses are required.

As you can see in the image above, the entry point for the CSCI major is CSCI 111, Fundamentals of Programming I.

Required courses for the BA degree are CSCI 111, CSCI 112, CSCI 209, CSCI 210, CSCI 211, and either CSCI 312 or CSCI 313, as well as either MATH 121 or MATH 301, and either MATH 118 or MATH 102.

Required courses for the BS degree are both CSCI 312 and CSCI 313 and both MATH 102 and MATH 222.

The arrows in the chart indicate prerequisites, namely:

- CSCI 111 is the prerequisite for CSCI 112, Fundamentals of Programming II, and CSCI 210, Computer Organization.
- CSCI 112 is the prerequisite for CSCI 209, Software Development.
- CSCI 112, CSCI 210, and MATH 121, Discrete Mathematics, or MATH 301, Fundamentals Concepts of Mathematics, are the prerequisites for CSCI 312, Programming Language Design.
- CSCI 112 and MATH 121 or MATH 301 are the prerequisites for CSCI 211, Algorithm Analysis.
- MATH 121 or MATH 301 are the prerequisites for CSCI 313, Theory of Computation.
- MATH 102, Calculus II, or MATH 122, Discrete Mathematics II, and MATH 222, Linear Algebra, are also required for a BS in computer Science.