College of Letters & Science
Room 5355 Computer Sciences Building, 1210 West Dayton Street, Madison, WI 53706; 608-262-1204; www.cs.wisc.edu
Professors A. Arpaci-Dusseau, R. Arpaci-Dusseau, Bach, Barford, Cai, Dyer, Ferris, Gleicher, Hill, Horwitz, Jha, Livny, Miller, Naughton, Patel, Reps, Ron, Shavlik, Sohi, van Melkebeek, Wood, Wright; Associate Professors Akella, Banerjee, Chawla, Doan, Joseph, Liblit, Sankaralingam, Swift, Zhu; Assistant Professors Lu, Mutlu, Re, Recht, Ristenpart, Sifakis, Snyder, Zhang
Undergraduate advisor in the major: See any member of the department's undergraduate advising committee. Office hours of committee members are posted outside the department office and at Undergraduate Advisors. Complete information on the undergraduate program is available at Undergraduate Program.
To be accepted into the computer sciences major, students must complete one Comp Sci course at UW-Madison and achieve a grade point of 2.0 or better in that course. The course must be worth 2 or more credits. Suggested courses include Comp Sci 202, Comp Sci 240, Comp Sci 252, Comp Sci 302, Comp Sci 354, and Comp Sci 367.
[catalog update 6/2/14]
Students who have difficulty interpreting or meeting the requirements for the computer sciences major may meet with a member of the department's Undergraduate Advising Committee. Office hours for members of this committee are posted at this link. No appointment is required.
After completing the acceptance requirements, students should meet with a member of the department's Undergraduate Advising Committee to work out a course plan and file a Major Declaration form. They should bring an up-to-date transcript or DARS report to the meeting. Students may also wish to download the course plan for the major and fill it in before the meeting. This form allows students to list courses they intend to take for the major, and when they intend to take them. The course plan can be changed later, as many times as needed. Students who are unsure about which courses to take, or when to take them, can raise those issues during the meeting with an advisor.
Required Course Work
In addition to all college requirements, students majoring in computer sciences must complete the following courses:
(1) Basic Comp Sci Courses: Comp Sci 240, 302, 367, 352, 354
(2a) Basic Calculus: Math 221 and 222.
(2b) Additional Mathematics Courses: Two mathematical courses that presuppose basic calculus.
The courses that may be used to fulfill this requirement are: Comp Sci 412, 416, 435, 513, 514, 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 Comp Sci 412 may not be combined with Comp Sci 416. The Math Department may have additional restrictions on giving credit to certain pairs of math courses.
(3) Advanced Comp Sci Courses: a total of six computer sciences courses:
(3a) One (1) course chosen from Comp Sci 577 (recommended) or Comp Sci 520. Students who intend to do graduate work in computer science should take both Comp Sci 577 and Comp Sci 520.
(3b) Two (2) courses chosen from Comp Sci 407, 506, 536, 537, 538, 552, 564, 640, or 642. Comp Sci 536 and 538 may not both be used to satisfy requirement (3b). [catalog update 1/13/14]
(3c) One (1) course chosen from Comp Sci 412, 416, 425, 513, 514, 515, 525, 534, 540, 545, 547, 559, or 570. If either Comp Sci 412 or Comp Sci 416 is used to satisfy requirement (2b), neither course may be used to satisfy requirement (3c).
(3d) The remaining two courses are considered general electives, and should be 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 courses may not be used to fulfill this requirement: Comp Sci 402, 550, 681, 682, 691, and 692. Comp Sci 638 and 691–699 may be used only in exceptional cases; the instructor will specify whether the course can be used as a Comp Sci elective. A description of the material studied must be included with the course plan. Note that Comp Sci 691 may not be used by itself; it must be followed by Comp Sci 692. [catalog update 1/13/14]
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.
Students 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 toward the 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 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:
(1) 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.
(2) 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.)
(3) 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 & Science. This minimum cumulative GPA may be distinct from the minimum GPA requirement for courses in the major.
A non-honors student can earn Distinction in the 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:
(1) Earning a B or better in at least one 700-level Comp Sci course, or
(2) Completing a two-semester Senior Thesis (Comp Sci 691 & 692) involving at least 6 credits
The computer sciences certificate is designed to enhance other majors by providing a firm foundation in computer sciences that will prepare students for graduate school and the job market. All undergraduate and Special students are eligible for the certificate except for majors in computer sciences, and electrical and computer engineering.
To earn a computer sciences certificate, students must complete six computer sciences courses, each worth at least 2 credits, with a minimum grade of C, including:
(1) Comp Sci 302 and Comp Sci 367 (or equivalent transfer or AP credits). Completing just Comp Sci 367 counts as completing both 302 and 367 (so only 5 courses total are required in that case).
(2) No more than four courses below the 400 level, excluding Comp Sci 250, 298, 304, 368, and 371.
(3) At least two courses at the 400 level or above, excluding Comp Sci 402, 550, 699, and 915. Comp Sci 638 may only be used if it has been approved for use towards the computer science major.
(4) For students currently enrolled in a bachelor's degree program at UW–Madison, at least 50 percent of the credits must be in residence at UW–Madison. For Special students at least 12 of the credits must be earned at UW–Madison. Nongraded (S/U) courses cannot be used. Thus, students cannot take any course work for the computer sciences certificate on a pass/fail basis.
Students wishing to obtain a computer sciences certificate must see a member of the department's Undergraduate Advising Committee to prepare a course plan and submit a certificate declaration form. Office hours of committee members are posted outside the student coordinator's office and at this link.