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 two introductory courses. We require students to take a computer science I course that matches with a specific computer science II course.
Sequences below are the approved matches:
- 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 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 1133 (Introduction to Computing and Programming Concepts) AND CSCI 2081
- 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.
Can I test out of/skip intro courses?
The Department of Computer Science & Engineering does not offer special exams for testing out of courses in our introductory sequence. Please connect with a Departmental Advisor (firstname.lastname@example.org) if you have any questions or concerns regarding testing out or skipping courses that are part of our introductory sequence. Petitions are rarely approved by the Director of Undergraduate Studies to bypass the set curriculum.
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 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:
- use the requirements from the time they were enrolled previously, which includes additional major electives OR
- 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)