1. Requirements for Declaring the CS Major
To declare the computer sciences major, students must complete one computer sciences course at UW-Madison and achieve a grade of C or better in that course. The course must be worth two or more credits. Suggested courses include CS 202, CS 240, CS 252, CS 301, CS 302, CS 354 and CS 367. Note that CS 202 and CS 301 do not count toward the CS major. If more than one CS course has been taken, any one may be used to fulfill the requirement for declaring the major.
2. Required Course Work
In addition to all college requirements, students majoring in computer sciences must complete the following courses:
- Basic CS Courses: CS 240, CS 302, CS 252 or CS 352*, CS 354 and CS 367. *Note that CS 252 is a prerequisite course for both 352 and 354, so most students will complete this requirement with CS 252.
- Basic Calculus: Math 221 and Math 222.
- Additional Mathematics Courses: Two mathematical courses that presuppose basic calculus. Suggested courses are Statistics 324 (Introductory Applied Statistics for Engineers) and Math 340 (Elementary Matrix and Linear Algebra). Other courses that can be used to fulfill this requirement are: CS 412, 416, 435, 513, 514, 515, 525, 526; Math 234, 309, 319, 320, 321, 322, 331, 375, 376, 419, 431, 443, 461, 475, 521, 541, 542, 567, 571; Stat 309, 310, 311, 312; ECE 331. For the purposes of this requirement, Math 375 may not be combined with Math 234, 320, or 340, and CS 412 may not be combined with CS 416. The math department may have additional restrictions on giving credit to certain pairs of math courses.
- Advanced CS courses: a total of six CS courses:
Theory: One course chosen from CS 577 (recommended), or CS 520. Students who intend to do graduate work in computer science should take both CS 577 and CS 520.
Hardware/Software: Two courses chosen from CS 407, CS 506, CS 536, CS 537, CS 538, CS 552, CS 564, CS 640, or CS 642. CS 536 and CS 538 may not both be used to satisfy this requirement.
Applications: One course chosen from CS 412, CS 416, CS 425, CS 513, CS 514, CS 515, CS 524, CS 525, CS 534, CS 540, CS 545, CS 547, CS 559, or CS 570.
Electives: Two Computer Sciences courses numbered 400 or higher and carrying a minimum of 3 credits. The following classes may not be used to fulfill this requirement: CS 402, CS 550, CS 681, CS 682, CS 691, CS 692 and CS 699. Some sections of CS 638 may be used and others may not. It is up to the instructor of each CS 638 section to specify whether it can be used as a CS elective.
No course may be used to satisfy more than one requirement for the computer sciences major.
All students must fulfill the L&S requirement of 15 credits of upper level work in the major completed in residence. All computer sciences courses numbered 400 or above count toward this requirement.
Courses taken on a pass/fail basis will not count toward fulfilling any major requirements. Thus, students must avoid taking any course on a pass/fail basis that is required to complete the major, including required courses in mathematics.
Prerequisites: The student should be aware that some of the courses listed above have prerequisite courses not specifically required for the major. It is the student's responsibility to meet prerequisite requirements, but courses taken to meet such requirements do not necessarily count towards the major.
3. Honors Program and Honors Major
Students enrolled in the honors program may elect to take computer sciences courses for honors credit. With the permission of the course instructor and the department's honors advisor, Nikki Lemmon, any course numbered 300 to 699 may be taken for honors credit. In addition, any course numbered 700 or above carries honors credit for undergraduate students. For more guidance on completing honors in the major, please visit the website of the College of Letters & Science Honors Program.
Requirements for Computer Sciences Major with Honors
The requirements for obtaining a CS major with honors are:
- Minimum GPA of 3.5, computed on all courses used for the major, and an overall GPA of at least 3.3 in all courses taken at UW-Madison at the time of graduation.
- A two-semester senior thesis or project (CS 681-682) involving at least 6 credits of work. (The student will be responsible for obtaining a thesis/project advisor. The thesis or project must be approved by both the thesis/project advisor and the department honors advisor. A thesis or project must be filed with the computer sciences department before a final [passing] grade for Comp Sci 682 can be awarded.)
- One of the courses counted for computer sciences electives in the major must be taken at the 700 or 800 level, with a grade of B or better. (These courses must be approved by the department honors advisor and should be selected to complement the student's degree plan and to aid in the student's senior thesis/project.)
Please note that a minimum cumulative grade point average of 3.3 is required to earn any honors degree in the College of Letters & Science. This minimum cumulative GPA may be distinct from the minimum GPA requirement for courses in the major.
4. Distinction in the Major
A non-honors student can earn distinction in the CS major either by earning at least a 3.75 GPA in the courses they use to fulfill the major requirements, or by earning at least a 3.5 GPA in those courses plus one of the following:
- Earning a B or better in at least one 700- or 800-level CS course, or
- Completing a 2-semester Senior Thesis (CS 691 & 692) involving at least 6 credits.
5. Letters & Science Grade Requirements
To obtain a computer sciences major, a student must have at least a 2.0 grade point average in each of the following two groups of courses taken on this campus:
1. all courses in the major, including math requirements and courses listed in the major department (any course under Computer Sciences or cross-listed with Computer Sciences).
2. all upper-level computer sciences major courses (any course under Computer Sciences or cross-listed with Computer Sciences numbered 400 and higher)
To obtain a Letters & Science degree, a student must have at least a 2.0 grade point average in each of the following two groups of courses taken on this campus:
3. all intermediate, advanced and intermediate/advanced required courses taken for a grade
4. all courses carried for a grade
All grade point averages are computed by weighting each course grade by the number of credits for the course. In this, the first grade received for a course is always counted. The grade in a repeated course is counted in (1), (2), (3) only if the first grade was an F.
In the Department of Computer Sciences, courses numbered less than 300 are elementary, 300- and 400-level courses (with the exception of CS 475) are intermediate, course numbered 500 or higher (as well as CS 475) are advanced, and courses numbered 400 or higher are upper level.
For an authoritative description of these, and of any other, Letters & Science major requirements, consult the UW-Madison Undergraduate Catalog.