Introductory computer science sequences FAQ

What are the appropriate course combinations?

The Department of Computer Science & Engineering has multiple courses that can be used for our introductory courses. We require students to take a computer science I course that matches with a specific computer science II course. Starting in Spring 2025, we will offer a one-credit course to allow for non-matching intro courses to be utilized while ensuring that students have exposure to Python in their introductory sequence.

Sequences below are the approved matches:

  • CSCI 1133 or 1133H (Introduction to Computing and Programming Concepts) AND CSCI 1933 or 1933H (Introduction to Algorithms and Data Structures)
    • Recommended introductory sequence for students pursuing a computer science major without any previous credit for computer science courses.
  • CSCI 1103 (Introduction to Computer Programming in Java) AND CSCI 1913 (Introduction to Algorithms, Data Structures, and Program Development)
  • CSCI 1113 (Introduction to C/C++ Programming for Scientists and Engineers) AND CSCI 1913 (Introduction to Algorithms, Data Structures, and Program Development)
  • CSCI 1103 (Introduction to Computer Programming in Java) AND CSCI 1933 or 1933H (Introduction to Algorithms and Data Structures) AND CSCI 1923 (Python as a Second Programming Language)
  • CSCI 1113 (Introduction to C/C++ Programming for Scientists and Engineers) AND CSCI 1933 or 1933H (Introduction to Algorithms and Data Structures) AND CSCI 1923 (Python as a Second Programming Language)
Other sequences
  • CSCI 1133 (Introduction to Computing and Programming Concepts) AND CSCI 2081
    • This is only accepted for the data science major or the computer science minor; this combination is not acceptable for computer science majors.
  • CSCI 1901 AND CSCI 1902
    • See the historical introductory sequence section later on this webpage for more information.
What about my AP credits?

For the most up-to-date information on how AP credit applies to the University of Minnesota - Twin Cities, please visit the Advanced Placement Course Awards page hosted by the Office of Admissions.

AP Computer Science Principles Test

The “Computer Science Principles” AP exam will earn college credit with appropriate test scores, but is not equivalent to any major coursework required for computer science or data science degrees or the computer science minor.

AP Computer Science A Test

The Computer Science A exam will earn college credit for CSCI 1103 with appropriate test scores. This course can be used for the first computer science course in the computer science majors or minor as long as CSCI 1913 is taken for the second computer science course. Students should not combine their CSCI 1103 equivalent through AP credit with CSCI 1933 because in this combination a student would not have any exposure to python programming.

Regarding the AP Computer Science A test

The AP Computer Science A test and CSCI 1103 do not cover the materials in CSCI 1913/1933. It is a common confusion among students that the language of instruction is the same as the intellectual content of the course. But after a fast introduction to Java and object-oriented programming, the majority of the time in CSCI 1913/1933 is spent on fundamental concepts such as data structures (linked lists, queues, stacks, binary search trees, directed graphs), algorithm analysis, and data structure implementation that are necessary to succeed in all of the courses following it in our major and minor sequences.

What is CSCI 1923?

Official course description
CSCI 1923 - Python as a Second Programming Language
(1 cr; Prereq-CSci 1103 or CSci 1113; Student Option; offered Every Fall & Spring)
Fundamental programming concepts and scripting using the Python language for students already familiar with programming concepts and syntax in C, C++, or Java. File IO and the use of libraries. Develop programs to solve real-world problems. This course is not intended for students who have taken CSCI 1133.

Who will be required to take CSCI 1923?
 
  • All students admitted to the University of Minnesota for Fall 2024 or later must take CSCI 1923 if they wish to pair an “odd combination.” This will be reflected in APAS reports for Computer Science and Data Science program students.
  • CSCI 1923 would not be enforced for students with an “odd combination” taken before Fall 2024. Students must contact our advising team (csciug@umn.edu for CSCI program updates; dsciug@umn.edu for DSCI program updates) to request an APAS correction to correct their records. 
    • Though it will not be required, we strongly encourage students in this scenario to take CSCI 1923 to understand what Python knowledge will be assumed in future courses.
  • Starting Fall 2024, anyone who has not fully completed a recommended combination of the introductory courses would need CSCI 1923 to use an “odd combination.”
     

What about the old CSCI 1901/1902 courses?

Prior to the creation of our new three course introductory sequence (CSCI 1133, CSCI 1933, and CSCI 2041), all computer science majors were required to take CSCI 1901 and CSCI 1902. There was not a third introductory course needed to complete the degree; there were more required major electives in the previous curriculum. CSCI 1901 is the old equivalent of CSCI 1133, just taught using a functional programming language. CSCI 1933 is essentially the same course as CSCI 1902 in terms of course content and the language learned in the course (Java). If students who have taken CSCI 1901 or 1902 want to pursue a CSCI major, the department can either:

  1. use the requirements from the time they were enrolled previously, which includes additional major electives OR
  2. they can use 1901/1902 in place of 1133/1933 and continue with the current requirements, which would include taking CSCI 2041.

Prior to 1999, the department offered a course numbered 3113 (shows up as CSCI 3113Q on an APAS Report) that was not part of the computer science major. Since it was never intended to count towards the major, it cannot be used to satisfy computer science course requirements. (The equivalent course numbers from that time period are CSCI 3316/3317)