B.A./B.S. in Computer Science

Students interested in studying computer science have the option of obtaining the Bachelor of Science (B.S.) degree through the College of Science & Engineering or the Bachelor of Arts (B.A.) degree through the College of Liberal Arts.

Requirements for all computer science degrees

For both degrees, students must complete the following requirements:

  • Liberal education requirement: These university-wide requirements ensure a student has a broad education covering a number of different areas.
  • Required computer science classes: These classes provide a solid foundation in the theory and practice of computer science. Since the field changes so quickly, it is important for students to have a foundation in computer science basics so they can continue to learn as the field evolves.
  • Upper division major electives: The upper division major electives consist of computer science electives. Students interested in interdisciplinary work may be able to take some of these classes from related areas as well. The purpose is to allow students to get greater depth in a computer science area of their choice.
  • Free electives: These allow students to study other topics which interest them, to get a minor, to do interdisciplinary work, or to take additional computer science courses to attain greater depth or breadth.

For both the B.S. and B.A., all required courses must be taken A-F and passed with a grade of C- or better.

Differences in requirements between B.A. and B.S. degrees

Though the B.S. and B.A. degree programs share many requirements, they differ in the following ways:

  • The B.S. requires two lab science courses (one of which is Physics I; the other is chosen from a list of approved lab science courses).
  • The B.S. requires an upper division math oriented requirement.
  • The B.S. includes 23 credits of upper division elective courses (sometimes referred to as “tracks”). These 23 credits include the upper division math-oriented required course, and ask that 11 out of the 23 total credits come from upper division CSCI courses. The other 12 can also be CSCI courses, but could also come from non-CSCI approved track electives. Conversely, the B.A. requires 8 credits of upper division (4XXX-5XXX) computer science courses.
  • The B.A. requires an additional 18 upper division credits outside of CSCI to meet the CLA requirements. STAT 3021 counts for 3 of these 18 credits.
  • The B.A. requires four semesters of second language coursework or demonstrated proficiency. (More information on this requirement can be obtained from the CLA advising office.)

The degree requirements listed here apply to all students who began their education at the University of Minnesota during the Fall of 2013 or after for CSE students and Fall 2014 or after for CLA students. Previous degree requirements can be found in the appendix. Degree requirements between the current program and previous programs cannot be mixed. It is recommended that students who enrolled at the University of Minnesota prior to Fall 2013 contact an undergraduate advisor when planning their degree completion.