CS Major Requirements
1. Acceptance Requirements
To be accepted to the Computer Sciences major, you must fulfill two requirements:
- You must complete CS 240, CS 302, and CS 367 (either here at UW-Madison, or via AP credit, or via transfer credit). Note that completing 367 alone counts as completing both 302 and 367.
- You must have a GPA of 2.6 or higher in an admissible sequence of Comp Sci courses taken here at UW-Madison. The rules that define an admissible sequence are:
- The sequence must contain 2, or 3, or 4 courses.
- Each of Comp Sci 240, 302, and 367 must be included in the sequence, provided that it was taken here at UW-Madison.
- None of CS 298, CS 310, CS 368, CS 371, CS 402, or CS 550 can be included.
- Other Comp Sci courses taken at UW may be included as long as (a) the total number of courses used to meet the GPA requirement is at least 2 and is no more than 4, and (b) courses are included in the order in which they were taken.
Note: Effective Fall 2009, if a student takes the same course twice, both grades are used in the GPA calculation (the two grades are averaged, and that grade is used as part of the GPA calculation).
Students who are having difficulties interpreting or meeting the requirements for the Comp Sci major may meet with a member of the Comp Sci Undergraduate Advising Committee. Office hours for the members of this committee are posted at http://www.cs.wisc.edu/ugac/advisors.html. No appointment is required.
When you have completed the acceptance requirements, you should meet with a member of the Computer Sciences Department Undergraduate Advising Committee to declare the majotr. The office hours of the committee members can be found at http://www.cs.wisc.edu/ugac/advisors.html. Bring the following with you:
- A copy of your transcript or DARS report.
- A copy of the CS Department Course Plan Form, with as much filled in as you can.
- A copy of the University's Major Declaration Form, with the top part filled in.
2. Required Course Work
In addition to all college requirements, students majoring in Computer Sciences must complete the following courses:
- Basic Comp Sci Courses: CS 240, CS 302, CS 367, CS 352, and CS 354. Note that completing 367 alone counts as completing both 302 and 367.
- Basic Calculus: Math 221 and Math 222.
- Additional Mathematics Courses: Two mathematical courses that presuppose basic calculus.
The courses that can be used to fulfill this requirement are: CS 412, CS 416, 435, 513, 514, 515, 525, 526; Math 234, 309, 319, 320, 321, 322, 331, 340, 341, 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 Comp Sci courses: a total of six Comp Sci 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 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 525, CS 534, CS 540,CS 545, CS 547, CS 559, or CS 570.
- Electives: Two courses chosen in consultation with a member of the Undergraduate Advising Committee. Each elective must be a Computer Sciences course 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.
Some sections of CS 638 and CS 699 may be used and others may not. It is up to the instructor of each 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.
CS Majors may not take any CS course that is normally graded on an A-F basis as a pass/fail course.
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 Departmental Honors Advisor, any course numbered 300--699 may be taken for Honors credit. In addition, any course numbered 700 or above carries Honors credit for undergraduate students.
Requirements for Computer Sciences Major with Honors
Here are the requirements for obtaining a Computer Sciences Major with Honors:
- 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 (Comp Sci 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 requirement (3d) for the computer sciences 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 and 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 four groups of courses taken on this campus: (1) all courses carried for a grade; (2) all intermediate, advanced and intermediate/advanced required courses taken for a grade; (3) all Computer Sciences courses; (4) all upper-level Computer Sciences courses.
Here, ``Computer Sciences course'' means ``any Comp Sci course, even those merely cross-listed with Computer Sciences, whether or not on the student's Comp Sci Major Course Plan, as well as any non-CS course on that Course Plan''.
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 (2), (3), (4) only if the first grade was an F.
In 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.
We have tried here to give an accurate description of some of the Letters & Science Major requirements. However, in spite of our best efforts, our description may be incorrect and/or outdated, hence cannot be relied upon. For an authoritative description of these, and of any other, Letters & Science Major requirements, speak to someone in the Dean's office at 70 Bascom Hall, or look into a current copy of the Bulletin of the College of Letters & Science or the Undergraduate Catalog of UW. For example, there you will find the 15-Credit Rule: At least 15 upper level required Computer Sciences credits must be earned while on campus.
