Students in CS-402 take part in a classroom discussion.

Undergraduate Programs in Computer Sciences

Major in Computer Sciences

This is an accordion element with a series of buttons that open and close related content panels.

Computer Science Major Declaration Requirements

  • Completion of COMP SCI 300 and MATH 222
  • Grade of BC or higher in an introductory programming course (COMP SCI 300, 354, or 400) taken at UW-Madison
  • 2.25 GPA or higher in the first completed attempt of the following courses: COMP SCI 300 and MATH 222
  • If a student needs additional coursework to meet the 2.250 GPA requirement, COMP SCI 240, 354, or 400 may also be used
    • For purposes of computer sciences major declaration requirements, GPA is calculated with UW-Madison courses only and includes the first attempt of all eligible major declaration coursework (listed above) that is completed at the time of submitting major declaration request. Repeated coursework is not included.

Sample Four-Year Planning Guides

Check out our sample guides based on beginning CS and Math courses:

Links to the UW-Madison Guide

The UW- Madison Guide includes all the information you need to complete your undergraduate degree in Computer Sciences.

BA information and requirements

BS information and requirements

Honors in the Major

Students may declare Honors in the Computer Sciences Major in consultation with the Computer Sciences undergraduate coordinator(s).  To earn Honors in the Major in Computer Sciences, students must satisfy both the requirements for the major and the following additional requirements:

  • Earn a minimum 3.300 University GPA
  • Earn a minimum 3.500 GPA for all COMP SCI and major courses
  • Complete one COMP SCI course numbered 500 through 699, taken for Honors with a grade of B or higher
  • Complete COMP SCI 681 and COMP SCI 682 for a total of 6 credits.

If you are interested in pursuing Honors in the Major, please connect with your assigned CS Advisor about declaring!


Many incoming students are curious to know how they can get involved in research on our campus.

Within the department, students can work with a particular faculty member as part of a senior thesis, a senior honors thesis, or directed study.

CS majors are eligible to earn research credit for doing research with any of the faculty in our department or a number of affiliate faculty across campus. Affiliate faculty are housed in different departments (such as Engineering, Genetics, and Psychology), but do research that is very closely related to CS.

Students who are in the initial stages of setting up research opportunities can go to our website and look at research groups within the department. This page breaks down all of our faculty by the area of their research (such as AI, security, programming languages, etc.).

It is up to the student to take the initiative to set up a research opportunity. The first step is always to reach out to faculty, so it is important to develop rapport with professors as you work through your courses.

It can be challenging for first and second year students to secure research opportunities.  Many instructors like to see that a student has completed at least one CS Advanced level course.  First and second year students are interested in gaining more experience, they can participate in student organizations, hackathons and personal projects. 

Other Campus wide Research Opportunities:


Many Computer Sciences students participate in internships.  Often students get an internship the summer between their Junior and Senior year.  There are many resources available on campus to support students in preparing for their search and finding an internship.

SuccessWorks: SuccessWorks is the L&S career services office. They offer individual appointments, drop-ins, workshops, mock interviews, and other career prep services. They have multiple interviewing rooms for students who are offered phone or Skype interviews and want a professional space to have that interview. They also have a career closet where students can find gently used professional clothing for interviews. 

Handshake: UW students can sign up for Handshake, a career & internship search tool through UW. Events hosted by campus career services are also found on Handshake, like workshops. All employers that want to post jobs are vetted by UW career services staff members. 

Career Fairs: There are 3 groups of career fairs CS students are encouraged to attend. CS Advising helps advertise these events, as well as career & internship prep events, to our students.

  • L&S Career Fairs: L&S has a career and internship fair each term, and a STEM-specific career fair in the spring. They also offer events leading up to the fairs, like resume drop-ins, career prep workshops, mock interviews, etc. These are hosted by L&S SuccessWorks.
  • Engineering Career Fairs: These fairs are also offered once per semester. CS majors are allowed to attend the Engineering Career Fairs and other events/workshops, even if they are not majoring in an Engineering program, but are not able to make individual appointments with Engineering Career Services.
  • CDIS Career Fair: This fair is held every fall, and is tailored specifically to CS students. It’s typically held in Union South and brings in a few dozen employers. 

CS Major Declaration Frequently Asked Questions

This is an accordion element with a series of buttons that open and close related content panels.

If I earn a D in Math 222, should I retake the course to help with declaring the major?

When it comes to declaring the CS Major, we use the first completed attempt of a course. Retaking a course does not replace first-attempt grades. If a student does not feel they adequately learned material from a course and are considering retaking it, please meet with an advisor.  For more information on retaking a course, please refer to the L&S Retake Policy:

Does the CS Department accept AP/transfer credit for courses needed to declare?

The CS Department does allow students to use AP/transfer credit for Math 222 Calculus II in order to declare.  Incoming transfer students who have transfer credit for any CS introductory programming courses (ie. CS 300, 400, and/or 354), will be provided information during their orientation on what course they will need to complete in order to declare the major.  

If I drop a course that is needed to declare the CS Major (ie. Math 222), will this impact my ability to declare the major in the future?

Dropping a course will not impact your ability to declare the CS Major in a future term.  The CS Department only looks at courses that have been completed and have a posted grade on a student’s transcript.

After completion of all eligible courses (ie. Math 222, CS 300, 400, 240 & 354), my declaration GPA is not at the required 2.25 GPA, are there any exceptions that the CS Department is able to provide in this situation?

Unfortunately, no. If a student is unable to meet the 2.25 GPA requirement with all eligible courses, they will not be able to declare the CS Major.  If a student finds themselves in this situation, we encourage them to make an appointment with an advisor to discuss a parallel plan.

If I have completed several CS introductory courses, can I pick which courses are used to calculate the declaration GPA?

All courses completed at time of declaration will be used in the declaration GPA calculation.  For example, if a student has completed Math 222, CS 300 and CS 400, all 3 courses will be factored into the student’s declaration GPA.  A student can not pick which courses they would like to use in this calculation.  Also, only the first attempt at a course is used in calculating a student’s declaration GPA.  Students are encouraged to submit a major declaration request as soon as they are eligible.

Is there a deadline for me to declare the CS Major?

While there is no set deadline to declare the major, the CS Department will pause processing declaration requests during enrollment periods.  (ie. During April for Fall Term enrollment and November for Spring Term enrollment). We encourage students to declare the major as soon as they are eligible.  


Declare a Major in Computer Sciences

Certificate in Computer Sciences

This is an accordion element with a series of buttons that open and close related content panels.


Whether you are majoring in a physical, biological or social science, you can enhance your career with a background in computer sciences. The Computer Sciences Certificate is a program designed to deepen and validate your computing savvy for your future career prospects and/or graduate school. Compared to a major in computer sciences, the certificate requires fewer courses and offers more flexibility in course selection. You are eligible to enroll in the Computer Sciences Certificate program if:

  • you are currently enrolled in a bachelor’s degree program at UW–Madison, and
  • you are not majoring in computer sciences or computer engineering.

CS Certificate Declaration Requirements

  • Completion of COMP SCI 300
  • Grade of BC or higher in an introductory programming course (COMP SCI 300, 354, or 400) taken at UW-Madison

Link to the UW-Madison Guide

The UW- Madison Guide includes all the information you need to complete your Certficate  in Computer Sciences: