Objectives--The computer science curriculum is designed to provide students with a strong foundation in the diverse and rapidly changing field of computing. The science of computing is emphasized with a focus on fundamental principles and the formal underpinnings of the field. Students are encouraged to use and supplement their formal education through a variety of research opportunities, participation in discipline colloquia and student/professional organizations, and pursuit of internship experiences or international studies opportunities.

Program Delivery

This program is available:

via classroom (the majority of instruction is face-to-face)

Minor Requirements

No more than two courses 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 minor. Non-elective courses taken S-N may not be counted towards the minor. A minimum GPA of 2.00 is required in the minor in order to graduate. The GPA includes all, and only, University of Minnesota coursework. Grades of "F" are included in GPA calculation until they are replaced.

Overview of computing systems, operating systems, and networks. Sources of complexity. Fundamental abstractions such as memory, processing, and communication; memory management and data storage; threads, processes, race conditions and deadlock; and inter-process and inter-computer communication. Modularity and organization; virtualization; protection and security; performance. [Note: Credit will not be granted if credit has been received for CSci 3401]
prereq: CSci 1302 or both Math 2202 and Math 3411, CSci 2101 or instr consent

CSCI 3403 - Computing Systems: Practicum

Credits:

2.0
[max 2.0]

Typically offered:

Every Fall

Lab experience with key computing systems tools and concepts. Command-line tools; shell and system scripting; system programming. Pointers and explicit memory management. Digital logic, gates, electronics, and microcomputers. Network organization and communication; client-server programming. Processes and threads; parallel and distributed computing. Performance and profiling. [Note: Credit will not be granted if credit has been received for CSci 3401]
prereq: CSci 1302 or both Math 2202 and Math 3411, CSci 2101 or instr consent

Design and implementation of medium- and large-scale software systems. Principles of organizing and managing such designs and implementations throughout their lifetime. Designing for modularity and software reuse; use of libraries. Dynamics of working in groups. Group work on a substantial software project.
prereq: C- or better in 2101 or instr consent

Same as Stat 2701. Introduction to data science and informatics and their application to real world scenarios. Computational approaches to data types; database creation including technologies such as SQL/no-SQL; data visualization; data reduction, condensation, partitioning; statistical modeling; and communicating results.
prereq: CSci 1201 or CSci 1251 or CSci 1301, Stat 1601 or Stat 2601 or Stat 2611 or instr consent

MATH 1021 - Survey of Calculus
(M/SR)

Credits:

4.0
[max 4.0]

Prerequisites:

1012 or placement; credit will not be granted for Math 1021 if a grade of C- or higher has previously been received for Math 1101

Typically offered:

Every Spring

Short course for students in social sciences, biological sciences, and other areas requiring a minimal amount of calculus. Topics include basic concepts of functions, derivatives and integrals, exponential and logarithmic functions, maxima and minima, partial derivatives; applications.
prereq: 1012 or placement; credit will not be granted for Math 1021 if a grade of C- or higher has previously been received for Math 1101

MATH 1101 - Calculus I
(M/SR)

Credits:

5.0
[max 5.0]

Typically offered:

Every Fall & Spring

Limits and continuity; the concepts, properties, and some techniques of differentiation, antidifferentiation, and definite integration and their connection by the Fundamental Theorem. Partial differentiation. Some applications. Students learn the basics of a computer algebra system.
prereq: 1012, 1013 or placement

MATH 1102 - Calculus II
(M/SR)

Credits:

5.0
[max 5.0]

Typically offered:

Every Fall & Spring

Techniques of integration. Further applications involving mathematical modeling and solution of simple differential equations. Taylor's Theorem. Limits of sequences. Use and theory of convergence of power series. Students use a computer algebra system.
prereq: 1101