BA / BS in Computer Science

Student discussion group

CSE Prospective Students Page
CLA Prospective Students Page
CLA Upper Division Application Requirements
Office of Undergraduate Admissions
CS&E Undergraduate Guide
CS&E Undergraduate Program Info

Why computer science?

Computer science is one of the fastest growing technology fields. Currently there are more jobs in this industry than graduates, making computer science students highly sought after by local and national companies. Most students graduate with a job already lined up.

Computer science is the study of software, hardware, and theoretical aspects of computing devices, along with the study of the application of computing in scientific, engineering, business, and other areas. Note that although programming is a part of computer science, it is only one part, and strong computer science programs require not only programming classes, but classes in other areas of computer science as well.

Computer scientists do many different types of work, from helping computers to run more efficiently, to making them safer, and improving mobile devices and other computerized technologies.

By choosing the CS&E department, you are guaranteed access to a world-class institution, internationally renowned faculty, state-of-the-art facilities, broad job possibilities, and a promising, impactful career. The CS&E department offers challenging B.S., B.A, M.S., and Ph.D. programs.

Undergraduate Admissions

Students interested in studying computer science at the University of Minnesota should apply to either the for the Bachelor of Science degree or the College of Liberal Arts for the Bachelor of Arts degree. The CS Undergraduate Guide and the University catalog contain additional information about these degrees and their requirements. The University of Minnesota also offers degrees in related fields, such as Computer Engineering and Information Technology Infrastructure. Once prospective students are admitted to one of these colleges, they can then take required lower division courses in computer science. Students officially enter the computer science major once they have successfully applied for upper division status, which is usually near the end of their sophomore year.

Admission to the University

Admission is done by colleges, rather than by the department. More admission information is available at Discover CLA and CSE Prospective students , as well as on the University Admissions website.

Admission to the Computer Science Major

Most students are admitted to the university as lower division students, and must take certain classes before being admitted to “upper division,” i.e., to a specific major. Information about the requirements and process for admission to upper division is in the “Application to Major” section of the CS Undergraduate Guide. Students must fulfill these requirements in a timely manner. Most CS students apply to upper division near the end of their sophomore year.

What is it like to earn a computer science degree at the University of Minnesota?

The computer science degree at the University of Minnesota consists of a foundation of math and science classes. Here are the different attributes and supporting 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 Emphasis: The upper division emphasis consists 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.