Information for incoming first-year students and campus advisors – Computer Sciences Course Enrollment Flowchart
General Information
- Prerequisites are enforced on all CS courses.
- CS 200, 300, and 400 are intended for Computer Sciences majors.
- CS 220 and 320 are intended for Data Science majors.
- Other majors may require or recommend a Computer Sciences course – please consult with your advisor .
- Some courses have waitlists. Wait lists are monitored continually up through the add deadline. Course enrollment information can be found using this link. (Log in with your UW credentials).
- It is recommended to take no more than one programming course per semester in the first year.
Courses
This is an accordion element with a series of buttons that open and close related content panels.
CS 200: Programming I
- Language: Java
- Prerequisite: Quantitative Reasoning A (can be satisfied with math placement or credit for a course that fulfills QR-A)
- Notes & Details:
- CS 200 assumes little to no programming background.
- If seats are open, please make an open section work for your schedule, as getting off a waitlist is not guaranteed.
CS 300: Programming II
- Language: Java. It is expected that students know Java going into CS 300. Students are highly encouraged to speak with their instructor during the first week of class if they have any concerns about learning Java
- Prerequisite: CS 200, CS 220 or CS 301
- Notes & Details:
- If seats are open, please make an open section work for your schedule, as getting off a waitlist is not guaranteed.
CS 400: Programming III
- Language: Java. Students are highly encouraged to speak with their instructor during the first week of class if they have any concerns about learning Java
- Prerequisite: CS 300
- Notes & Details: Eligible freshmen can enroll, space permitting, or add themselves to the waitlist. Priority is given to incoming transfer students
CS 220: Data Programming I
- Language: Python
- Prerequisite: Quantitative Reasoning A (can be satisfied with math placement or credit for a course that fulfills QR-A)
- Notes & Details:
- CS 220 assumes little to no programming background
- If seats are open, please make an open section work for your schedule, as getting off a waitlist is not guaranteed.
CS 320: Data Programming II
- Language: Python
- Prerequisite: CS 220 or CS 300
- Notes & Details:
- Eligible freshmen can enroll, space permitting, or add themselves to the waitlist. Priority is given to incoming transfer students
CS 200 Self-Assessment
- If a student believes they have significant programming experience (ie. students who took an AP/IB class but not the test; students who took a course transferring in as CS electives; students who took programming courses in high school and are confident in their abilities), they can complete a self-assessment that would allow them to bypass CS 200.
- More information about the assessment can be found here: www.cs.wisc.edu/cs-200-300-placement-self-assessment/
- Students interested in this option, should contact CS Advising at advising@cs.wisc.edu.
Math Courses
- The Computer Sciences major requires Calculus I (Math 221, 171-217) and Calculus II Math 222
- Computer Sciences requires additional math courses beyond Calculus I & II; students will need to take a Linear Algebra course and a Probability/Statistics course. For the Linear Algebra requirement, we recommend Math 340 Linear Algebra. For the Probability/Statistics requirement, we recommend either Stats 324 Introductory Applied Statistics for Engineers or Math 331 Introductory Probability. Students double majoring with another math-based major, please review your other major’s requirements for math recommendations
Incoming Credits
This is an accordion element with a series of buttons that open and close related content panels.
Advanced Placement (AP)
- AP Computer Science Principles
- Score of 4 or higher gives credit for CS 102 (note that CS 102: Introduction to Computation is taught infrequently)
- Enroll in CS 200
- AP Computer Science A
- Score of 3 or higher gives credit for CS 200
- Enroll in CS 300
- Note for students who took the exam in 2020: Units 8-10 (2D Arrays, Inheritance, and Recursion) were not covered in this year’s AP exam. Inheritance and Recursion are already topics covered in CS 300. 2D Arrays will be built into the beginning of CS 300 because of the changes to AP. Students who earned a 3 or higher should still enroll in CS 300 and are welcome to talk to the CS consultants if they have any concerns
International Baccalaureate (IB)
- IB Computer Studies (higher level only)
- Score or 4 or higher gives credit for CS 200
- Enroll in CS 300
Transfer Credits
- If you have a Computer Sciences course transferring in as electives, you can request that it be reviewed by the CS Department. More information, including the form to request a reevaluation, can be found here
- If you are not sure on which syllabi you should submit for review, you can speak to the CS Consultant. If you need help changing your schedule post-SOAR due to updated credit evaluations, please email advising@cs.wisc.edu for some assistance
Consultants
This is an accordion element with a series of buttons that open and close related content panels.
When to contact a consultant
- Course Access
- AP/IB credits known but not posted to UW record (For AP scores, please send your unofficial score report)
- Issues enrolling in CS 200, 220, or 300
- Course Selection
- CS 200 vs 300 – students with substantial programming experience but no college level credit can talk to a CS consultant to determine the best first course
- Interested in Data Science and Computer Sciences and debating CS 200 or 220 as first course
- Transfer Credit
- Questions about whether or not to submit a reevaluation request
- Transfer credits not posted yet
- Anything else not covered on this page
How to contact a consultant
- Email us at: advising@cs.wisc.edu. Please include your campus ID and any necessary screenshots. Emails are responded to within 24 hours (except weekends)
- If we aren’t able to answer your question via email, we will schedule an appointment with you using the Teams platform.
Laptop Recommendations
Students are not required to own a computer, as it is possible to complete all work in on-campus computer labs. However, most students find it convenient to have a laptop. The Department of Computer Sciences does not recommend any specific manufacturer or model, though campus does provide recommendations that can be found here: Computers & equipment for students: What do I need?