Twin Cities campus
 
Twin Cities Campus

Computer Science B.A.

Computer Science and Engineering
College of Liberal Arts
  • Program Type: Baccalaureate
  • Requirements for this program are current for Fall 2017
  • Required credits to graduate with this degree: 120
  • Required credits within the major: 55
  • Degree: Bachelor of Arts
Computer science concerns the study of the hardware, software, and theoretical aspects of high-speed computing devices and the application of these devices to a broad spectrum of scientific, technological, and business problems. The curriculum gives students a basic understanding of computer science. After completing a required set of fundamental courses, students can arrange their subsequent work around one of several emphases within computer science. The program prepares students for a variety of industrial, governmental, and business positions involving the use of computers, or for graduate work in the field.
Program Delivery
This program is available:
  • via classroom (the majority of instruction is face-to-face)
Admission Requirements
Students must complete 5 courses before admission to the program.
Freshman and transfer students are usually admitted to pre-major status before admission to this major.
A GPA above 2.0 is preferred for the following:
  • 3.20 already admitted to the degree-granting college
  • 3.20 transferring from another University of Minnesota college
  • 3.20 transferring from outside the University
A 3.2 technical GPA or above will guarantee admission. Students applying to the major with below a 3.2 technical GPA will be considered for admission based on space available in the program. Information on the Technical GPA can be found z.umn.edu/techgpa There are two entry sequences for introductory computer science: [CSCI 1133 & CSCI 1933], or [(CSCI 1103 or CSCI 1113) & CSCI 1913]. Students who intend to major in Computer Science should take the 1133-1933 sequence. Students who have AP credit in computer science will receive credit for CSCI 1103 and must take CSCI 1913. Students who are in other majors and would like to transfer to the computer science program may choose either sequence. Please note that the sequences cannot be mixed and matched. Students who take CSCI 1133 must take CSCI 1933, and students who take either CSCI 1103 or CSCI 1113 must take CSCI 1913.
For information about University of Minnesota admission requirements, visit the Office of Admissions website.
Required prerequisites
Mathematics and Computer Science
Take a total of five courses for 20 credits. CSCI 1133 & 1933 is the recommended sequence. Sequences cannot be mixed and matched. See above note for more information.
Mathematics Core
MATH 1271 - Calculus I [MATH] (4.0 cr)
or MATH 1371 - CSE Calculus I [MATH] (4.0 cr)
or MATH 1571H - Honors Calculus I [MATH] (4.0 cr)
MATH 1272 - Calculus II (4.0 cr)
or MATH 1372 - CSE Calculus II (4.0 cr)
or MATH 1572H - Honors Calculus II (4.0 cr)
CSCI 2011 - Discrete Structures of Computer Science (4.0 cr)
Computer Science Introductory Core
Option 1
CSCI 1133 - Introduction to Computing and Programming Concepts (4.0 cr)
CSCI 1933 - Introduction to Algorithms and Data Structures (4.0 cr)
or Option 2
CSCI 1103 - Introduction to Computer Programming in Java (4.0 cr)
or CSCI 1113 - Introduction to C/C++ Programming for Scientists and Engineers (4.0 cr)
CSCI 1913 - Introduction to Algorithms, Data Structures, and Program Development (4.0 cr)
General Requirements
All students in baccalaureate degree programs are required to complete general University and college requirements including writing and liberal education courses. For more information about University-wide requirements, see the liberal education requirements. Required courses for the major, minor or certificate in which a student receives a D grade (with or without plus or minus) do not count toward the major, minor or certificate (including transfer courses).
Program Requirements
Students are required to complete 4 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.
CLA BA degrees require 4 semesters or the equivalent of a second language. CLA degrees require students to complete 48 credits of upper division coursework taken at the 3xxx, 4xxx, or 5xxx level. For a BA at least 18 of the 48 upper division credits must be outside of the major. For some specific majors, there are exceptions to this requirement. This program requires 18 upper division credits outside the major. See your advisor for a list of courses that can or cannot be used to meet this requirement. Students may complete no more than one degree in the computer science program: a BA or a BS or a minor. All incoming CLA freshmen must complete the First Year Experience course sequence.
Major Courses
STAT 3021 - Introduction to Probability and Statistics (3.0 cr)
CSCI 2021 - Machine Architecture and Organization (4.0 cr)
CSCI 2033 - Elementary Computational Linear Algebra (4.0 cr)
CSCI 2041 - Advanced Programming Principles (4.0 cr)
CSCI 4041 - Algorithms and Data Structures (4.0 cr)
CSCI 4061 - Introduction to Operating Systems (4.0 cr)
Electives
No more than 3 credits from CSCI 4970 or 59xx courses may count toward the elective requirement.
Take 8 or more credit(s) from the following:
· CSCI 4xxx
· CSCI 5xxx
Senior Project
CSCI 3081W - Program Design and Development [WI] (4.0 cr)
Upper Division Writing Intensive within the major
Students are required to take one upper division writing intensive course within the major. If that requirement has not been satisfied within the core major requirements, students must choose one course from the following list. Some of these courses may also fulfill other major requirements.
Take 0 - 1 course(s) from the following:
· CSCI 3081W - Program Design and Development [WI] (4.0 cr)
· CSCI 3921W - Social, Legal, and Ethical Issues in Computing [CIV, WI] (3.0 cr)
· CSCI 4511W - Introduction to Artificial Intelligence [WI] (4.0 cr)
· CSCI 4970W - Advanced Project Laboratory [WI] (3.0 cr)
· CSCI 5127W - Human-Centered Design and Prototyping of Ubiquitous Computing Systems [WI] (3.0 cr)
 
More program views..
View college catalog(s):
· College of Liberal Arts
View sample plan(s):
· Computer Science

View checkpoint chart:
· Computer Science B.A.
View PDF Version:
Search.
Search Programs

Search University Catalogs
Related links.

College of Liberal Arts

TC Undergraduate Admissions

TC Undergraduate Application

One Stop
for tuition, course registration, financial aid, academic calendars, and more
 
MATH 1271 - Calculus I (MATH)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00067 - Math 1271/Math 1281/Math 1371/
Typically offered: Every Fall, Spring & Summer
Differential calculus of functions of a single variable, including polynomial, rational, exponential, and trig functions. Applications, including optimization and related rates problems. Single variable integral calculus, using anti-derivatives and simple substitution. Applications may include area, volume, work problems. prereq: 4 yrs high school math including trig or satisfactory score on placement test or grade of at least C- in [1151 or 1155]
MATH 1371 - CSE Calculus I (MATH)
Credits: 4.0 [max 4.0]
Course Equivalencies: Math 1142/1271/1281/1371/1571H
Typically offered: Every Fall & Spring
Differentiation of single-variable functions, basics of integration of single-variable functions. Applications: max-min, related rates, area, curve-sketching. Use of calculator, cooperative learning. prereq: CSE or pre-bioprod concurrent registration is required (or allowed) in biosys engn (PRE), background in [precalculus, geometry, visualization of functions/graphs], instr consent; familiarity with graphing calculators recommended
MATH 1571H - Honors Calculus I (MATH)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00067 - Math 1142/1271/1281/1371/1571H
Grading Basis: A-F only
Typically offered: Every Fall
Differential/integral calculus of functions of a single variable. Emphasizes hard problem-solving rather than theory. prereq: Honors student and permission of University Honors Program
MATH 1272 - Calculus II
Credits: 4.0 [max 4.0]
Course Equivalencies: Math 1272/1282/1252/1372/1572
Typically offered: Every Fall, Spring & Summer
Techniques of integration. Calculus involving transcendental functions, polar coordinates. Taylor polynomials, vectors/curves in space, cylindrical/spherical coordinates. prereq: [1271 or equiv] with grade of at least C-
MATH 1372 - CSE Calculus II
Credits: 4.0 [max 4.0]
Course Equivalencies: Math 1272/1282/1252/1372/1572
Typically offered: Every Spring
Techniques of integration. Calculus involving transcendental functions, polar coordinates, Taylor polynomials, vectors/curves in space, cylindrical/spherical coordinates. Use of calculators, cooperative learning. prereq: Grade of at least C- in [1371 or equiv], CSE or pre-Bioprod/Biosys Engr
MATH 1572H - Honors Calculus II
Credits: 4.0 [max 4.0]
Course Equivalencies: 00068 - Math 1272/1282/1252/1372/1572
Grading Basis: A-F only
Typically offered: Every Spring
Continuation of 1571. Infinite series, differential calculus of several variables, introduction to linear algebra. prereq: 1571H, honors student, permission of University Honors Program
CSCI 2011 - Discrete Structures of Computer Science
Credits: 4.0 [max 4.0]
Course Equivalencies: 02004
Typically offered: Every Fall & Spring
Foundations of discrete mathematics. Sets, sequences, functions, big-O, propositional/predicate logic, proof methods, counting methods, recursion/recurrences, relations, trees/graph fundamentals. prereq: MATH 1271 or MATH 1371 or instr consent
CSCI 1133 - Introduction to Computing and Programming Concepts
Credits: 4.0 [max 4.0]
Course Equivalencies: 02133 - CSci 1133/CSci 1133H
Typically offered: Every Fall, Spring & Summer
Fundamental programming concepts using Python language. Problem solving skills, recursion, object-oriented programming. Algorithm development techniques. Use of abstractions/modularity. Data structures/abstract data types. Develop programs to solve real-world problems. prereq: concurrent registration is required (or allowed) in MATH 1271 or concurrent registration is required (or allowed) in MATH 1371 or concurrent registration is required (or allowed) in MATH 1571H or instr consent
CSCI 1933 - Introduction to Algorithms and Data Structures
Credits: 4.0 [max 4.0]
Course Equivalencies: 00008
Typically offered: Every Fall, Spring & Summer
Advanced object oriented programming to implement abstract data types (stacks, queues, linked lists, hash tables, binary trees) using Java language. Inheritance. Searching/sorting algorithms. Basic algorithmic analysis. Use of software development tools. Weekly lab. prereq: 1133 or instr consent
CSCI 1103 - Introduction to Computer Programming in Java
Credits: 4.0 [max 4.0]
Typically offered: Every Fall
Fundamental programming concepts/software development using Java language. Problem solving skills. Algorithm development techniques. Use of abstractions/modularity. Data structures/abstract data types. Substantial programming projects. Weekly lab.
CSCI 1113 - Introduction to C/C++ Programming for Scientists and Engineers
Credits: 4.0 [max 4.0]
Typically offered: Every Fall, Spring & Summer
Programming for scientists/engineers. C/C++ programming constructs, object-oriented programming, software development, fundamental numerical techniques. Exercises/examples from various scientific fields. prereq: Math 1271 or Math 1371 or Math 1571H or instr consent
CSCI 1913 - Introduction to Algorithms, Data Structures, and Program Development
Credits: 4.0 [max 4.0]
Typically offered: Every Fall, Spring & Summer
Advanced object oriented programming to implement abstract data types(stacks, queues, linked lists, hash tables, binary trees) using Java language. Searching/sorting algorithms. Basic algorithmic analysis. Scripting languages using Python language. Substantial programming projects. Weekly lab. prereq: (EE major and EE 1301) or (CmpE major and EE 1301) or 1103 or 1113 or instr consent
STAT 3021 - Introduction to Probability and Statistics
Credits: 3.0 [max 3.0]
Typically offered: Every Fall, Spring & Summer
This is an introductory course in statistics whose primary objectives are to teach students the theory of elementary probability theory and an introduction to the elements of statistical inference, including testing, estimation, and confidence statements. prereq: Math 1272
CSCI 2021 - Machine Architecture and Organization
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
Introduction to hardware/software components of computer system. Data representation, boolean algebra, machine-level programs, instruction set architecture, processor organization, memory hierarchy, virtual memory, compiling, linking. Programming in C. prereq: 1913 or 1933 or instr consent
CSCI 2033 - Elementary Computational Linear Algebra
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
Matrices/linear transformations, basic theory. Linear vector spaces. Inner product spaces. Systems of linear equations, Eigenvalues, singular values. Algorithms/computational matrix methods using MATLAB. Use of matrix methods to solve variety of computer science problems. prereq: [MATH 1271 or MATH 1371], [1113 or 1133 or knowledge of programming concepts]
CSCI 2041 - Advanced Programming Principles
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
Principles/techniques for creating correct, robust, modular programs. Computing with symbolic data, recursion/induction, functional programming, impact of evaluation strategies, parallelism. Organizing data/computations around types. Search-based programming, concurrency, modularity. prereq: [1913 or 1933], 2011
CSCI 4041 - Algorithms and Data Structures
Credits: 4.0 [max 4.0]
Course Equivalencies: 02015
Typically offered: Every Fall & Spring
Rigorous analysis of algorithms/implementation. Algorithm analysis, sorting algorithms, binary trees, heaps, priority queues, heapsort, balanced binary search trees, AVL trees, hash tables and hashing, graphs, graph traversal, single source shortest path, minimum cost spanning trees. prereq: [(1913 or 1933) and 2011] or instr consent; cannot be taken for grad CSci cr
CSCI 4061 - Introduction to Operating Systems
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
Processes/threads, process coordination, interprocess communication, asynchronous events, memory management/file systems. Systems programming projects using operating system interfaces and program development tools. prereq: 2021 or EE 2361; CS upper div, CS minor, CompE upper div., EE upper div., EE grad, ITI upper div., Univ. honors student, or dept. permission; no cr for grads in CSci.
CSCI 3081W - Program Design and Development (WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00728
Typically offered: Every Fall & Spring
Principles of programming design/analysis. Concepts in software development. Uses C/C++ language to illustrate key ideas in program design/development, data structures, debugging, files, I/O, state machines, testing, coding standards. prereq: [2021, 2041]; CS upper div, CS grad, Univ. honors student, or dept. permission
CSCI 3081W - Program Design and Development (WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00728
Typically offered: Every Fall & Spring
Principles of programming design/analysis. Concepts in software development. Uses C/C++ language to illustrate key ideas in program design/development, data structures, debugging, files, I/O, state machines, testing, coding standards. prereq: [2021, 2041]; CS upper div, CS grad, Univ. honors student, or dept. permission
CSCI 3921W - Social, Legal, and Ethical Issues in Computing (CIV, WI)
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Impact of computers on society. Computer science perspective of ethical, legal, social, philosophical, political, and economic aspects of computing. prereq: At least soph or instr consent
CSCI 4511W - Introduction to Artificial Intelligence (WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 01666 - CSci 4511W/CSci 5511
Prerequisites: 2041 or #
Typically offered: Every Spring
Problem solving, search, inference techniques. Knowledge representation. Planning. Machine learning. Robotics. Lisp programming language. Cannot be taken for grad CSci credit. prereq: 2041 or instr consent
CSCI 4970W - Advanced Project Laboratory (WI)
Credits: 3.0 [max 9.0]
Typically offered: Every Fall & Spring
Formulate and solve open-ended project: design, implement, interface, document, test. Team work strongly encouraged. Arranged with CSci faculty. prereq: Upper div CSci, 4061, instr consent; cannot be taken for grad cr
CSCI 5127W - Human-Centered Design and Prototyping of Ubiquitous Computing Systems (WI)
Credits: 3.0 [max 3.0]
Typically offered: Fall Even Year
Principles of human-centered design applied to real-world challenges. A semester-long team project involving (1) investigating human needs, (2) charting the solution space through ideation and visual exploration, and (3) rapidly prototyping and iterating ubiquitous computing solutions. Collaborative writing describing your process and findings. prereq: CSci 4041, upper division or graduate student, or instructor permission; CSci 5115 or equivalent recommended.