Campuses:
This is archival data. This system was retired as of August 21, 2023 and the information on this page has not been updated since then. For current information, visit catalogs.umn.edu.
![]() |
Morris Campus
Computer Science B.A.Division of Science & Mathematics - Adm
Division of Science and Mathematics
The computer science curriculum is designed to not only provide a solid background in fundamentals, but also to continuously respond to rapid changes in the field of computing by equipping our students with modern tools, approaches, and cutting-edge concepts and technologies. Coursework in computer science spans three core areas of computing, including theory, software development, and systems. Beginning computer science courses are open to non-majors and satisfy the mathematical and symbolic reasoning component of the general education requirements. All computer science majors must complete a senior seminar capstone experience, and the discipline prides itself on the high quality of students' papers and presentations in this course. The program also includes mathematics or statistics in the required coursework. The computer science discipline is dedicated to offering a flexible set of important and relevant electives, which we update annually. Student input informs the electives we offer, and student input has inspired the creation of several electives.
Computer science majors develop software, explore hardware systems, and apply theoretical concepts. Reflecting the collaborative nature of today's world, team work is heavily integrated into computer science coursework. Students are encouraged to use and supplement their formal education through research opportunities, internship experiences, programming and robotics competitions, and student and professional organizations. Many students take advantage of the opportunity to collaborate with computer science faculty on research projects, presenting the results at international, national, and regional conferences, as well as at UMM's Undergraduate Research Symposium.
Study in computer science is required for management and math majors at UMM, as well as for students pursuing a variety of pre-engineering programs. Many UMM computer science majors enter the job market upon graduation, primarily in the computing industry. Others pursue postgraduate work toward a masters or doctoral degree in computing, business, library science, or a variety of other fields.
The student learning objectives of the computer science program span the following five categories:
• Students will be able to apply fundamental principles of computer science to solve problems in all core areas of computer science.
• Students will demonstrate technological flexibility through the ability to employ new sets of tools effectively.
• Students will be able to communicate technical ideas effectively both orally and in written form.
• Students will demonstrate their ability to work in groups as part of an effective team.
• Students will be able to identify and analyze ethical implications involving technology.
Program Delivery
This program is available:
Admission Requirements
For information about University of Minnesota admission requirements, visit the
Office of Admissions
website.
General Requirements
All students are required to complete general University and college requirements. For more
information, see the general education requirements.
Program Requirements
Students are required to complete 2 semester(s) of
any second language.
with a grade of C-, or better, or S, or demonstrate proficiency in the language(s) as defined by the department
or college.
Grades of D or D+ in CSCI 1201, 1301, 1302, 2101, Math 2202, and 3411 may not be used
to meet the major requirements.
No more than one course with a grade of D or D+, offset by an equivalent number of credits of A or B grades, may be used to meet the requirements for a computer science major.
Non-elective courses may not be taken S-N unless offered S-N only. Up to 4 credits of CSci 4xxx taken S-N may be counted towards the major requirements.
A minimum GPA of 2.00 is required in the major to graduate. The GPA includes all, and only, University of Minnesota coursework. Grades of "F" are included in GPA calculation until they are replaced.
Elective courses: computer science major electives are divided into three areas: systems courses (CSCI 44xx), theory courses (CSCI 45xx), and programming and languages courses (CSCI 46xx). The discipline offers an array of courses in each area. The courses listed are representative of the courses offered. New courses are continually developed and added to keep up with changes in the field.
Required Courses
CSCI 1201 {Inactive}
[M/SR]
(4.0 cr)
or
CSCI 1301 - Problem Solving and Algorithm Development
[M/SR]
(4.0 cr)
CSCI 1302 - Foundations of Computer Science
[M/SR]
(4.0 cr)
or
MATH 2202 - Mathematical Perspectives
[M/SR]
(4.0 cr)
MATH 3411 - Discrete and Combinatorial Mathematics
(4.0 cr)
CSCI 2101 - Data Structures
[M/SR]
(5.0 cr)
CSCI 3413 - Computing Systems: Concepts
(3.0 cr)
CSCI 3412 - Computing Systems: Practicum
(2.0 cr)
CSCI 3501 - Algorithms and Computability
(5.0 cr)
CSCI 3601 - Software Design and Development
(5.0 cr)
CSCI 4901 - Senior Seminar
(2.0 cr)
IS 1091W - Ethical and Social Implications of Technology
[E/CR]
(2.0 cr)
Elective Courses
Take 10 or more credit(s) including exactly 3 sub-requirements(s) from the following:
Computing Systems Courses (44xx):
Take 2 - 4 credit(s) from the following:
·
CSCI 4403 - Systems: Data Mining
(4.0 cr)
·
CSCI 4409 - Systems: Programming for Parallel Architecture
(2.0 cr)
·
CSCI 4410 - Systems: Cloud Computing Architectures
(2.0 cr)
·
CSCI 4453 - Systems: Database Systems
(4.0 cr)
·
CSCI 4454 - Systems: Robotics
(4.0 cr)
·
CSCI 4457 - Systems: Ubiquitous Computing
(4.0 cr)
·
CSCI 4458 - Systems: Bioinformatic Systems
(4.0 cr)
·
Theory Courses (45xx):
Take 2 - 4 credit(s) from the following:
·
CSCI 4506 - Theory: Fuzzy Logic and Fuzzy Sets
(2.0 cr)
·
CSCI 4553 - Theory: Evolutionary Computation and Artificial Intelligence
(4.0 cr)
·
CSCI 4554 - Theory: Cryptography
(4.0 cr)
·
CSCI 4555 - Theory: Neural Networks and Machine Learning
(4.0 cr)
·
CSCI 4557 - Theory: Quantum Computing
(4.0 cr)
·
Processes, Programming, and Languages Courses (46xx):
Take 2 - 4 credit(s) from the following:
·
CSCI 4604 - Processes, Programming, and Languages: Graphical User Interfaces
(2.0 cr)
·
CSCI 4605 - Processes, Programming, and Languages: Refactoring
(2.0 cr)
·
CSCI 4610 - Processes, Programming, and Languages: Programming for Cloud Computing
(2.0 cr)
·
CSCI 4651 - Processes, Programming, and Languages: Programming Languages
(4.0 cr)
·
CSCI 4654 - Processes, Programming, and Languages: Modern Functional Programming
(4.0 cr)
·
CSCI 4656 - Processes, Programming, and Languages: Human-Computer Interaction and Interface Design
(4.0 cr)
·
CSCI 4657 - Processes, Programming, and Languages: Programming Languages for Client-Server Systems
(4.0 cr)
·
CSCI 4658 - Processes, Programming, and Languages: Usability, Design, and Mobile Technologies
(4.0 cr)
·
CSCI 4659 - Processes, Programming, and Languages: Measuring and Managing Software Quality
(4.0 cr)
Math and Statistics Electives
MATH 1101 and above, excluding MATH 2211, or STAT 2xxx and above, excluding STAT 3701.
Take 12 or more credit(s) from the following:
·
CSCI 2701 - Introduction to Data Science
[M/SR]
(4.0 cr)
·
MATH 1101 - Calculus I
[M/SR]
(5.0 cr)
·
MATH 1102 - Calculus II
[M/SR]
(5.0 cr)
·
MATH 2101 - Calculus III
[M/SR]
(4.0 cr)
·
MATH 2202 - Mathematical Perspectives
[M/SR]
(4.0 cr)
·
MATH 2401W - Differential Equations
[M/SR]
(4.0 cr)
·
MATH 2501 - Probability and Stochastic Processes
[M/SR]
(4.0 cr)
·
MATH 3111 - Linear Algebra
(4.0 cr)
·
MATH 3xxx
·
MATH 4xxx
·
STAT 2xxx
·
STAT 3501 - Survey Sampling
[M/SR]
(4.0 cr)
·
STAT 3601 - Data Analysis
[M/SR]
(4.0 cr)
·
STAT 3611 - Multivariate Statistical Analysis
[M/SR]
(4.0 cr)
·
STAT 3901 - Statistical Communication
(2.0 cr)
·
STAT 4xxx
|
![]() |
|
![]() |
Credits: | 4.0 [max 4.0] |
Typically offered: | Every Fall |
Credits: | 4.0 [max 4.0] |
Typically offered: | Every Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Every Spring |
Credits: | 4.0 [max 4.0] |
Prerequisites: | 1102 or higher or # |
Typically offered: | Every Fall |
Credits: | 5.0 [max 5.0] |
Typically offered: | Every Fall |
Credits: | 3.0 [max 3.0] |
Typically offered: | Every Spring |
Credits: | 2.0 [max 2.0] |
Typically offered: | Every Fall |
Credits: | 5.0 [max 5.0] |
Typically offered: | Every Fall |
Credits: | 5.0 [max 5.0] |
Typically offered: | Every Spring |
Credits: | 2.0 [max 2.0] |
Grading Basis: | S-N only |
Typically offered: | Every Fall & Spring |
Credits: | 2.0 [max 2.0] |
Typically offered: | Every Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 2.0 [max 2.0] |
Typically offered: | Periodic Spring |
Credits: | 2.0 [max 2.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 2.0 [max 2.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Periodic Spring |
Credits: | 2.0 [max 2.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 2.0 [max 2.0] |
Prerequisites: | 3601 or # |
Typically offered: | Periodic Fall & Spring |
Credits: | 2.0 [max 2.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Prerequisites: | 2101 or # |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Prerequisites: | 2101 or # |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Prerequisites: | 3601 or # |
Typically offered: | Periodic Fall & Spring |
Credits: | 4.0 [max 4.0] |
Prerequisites: | 3601 or # |
Typically offered: | Periodic Fall |
Credits: | 4.0 [max 4.0] |
Typically offered: | Periodic Fall |
Credits: | 4.0 [max 4.0] |
Course Equivalencies: | CSci 2701/Stat 2701 |
Typically offered: | Every Spring |
Credits: | 5.0 [max 5.0] |
Typically offered: | Every Fall & Spring |
Credits: | 5.0 [max 5.0] |
Typically offered: | Every Fall & Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Every Fall & Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Every Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Every Fall |
Credits: | 4.0 [max 4.0] |
Course Equivalencies: | Math 2501/Stat 2501 |
Typically offered: | Every Fall |
Credits: | 4.0 [max 4.0] |
Typically offered: | Every Fall & Spring |
Credits: | 4.0 [max 4.0] |
Typically offered: | Fall Even Year |
Credits: | 4.0 [max 4.0] |
Typically offered: | Every Fall |
Credits: | 4.0 [max 4.0] |
Typically offered: | Every Spring |
Credits: | 2.0 [max 2.0] |
Grading Basis: | A-F only |
Typically offered: | Every Spring |