Our graduates discover that computer science (CS) opens up a world of possibilities.
Computer scientists enjoy exceptional career opportunities, in settings ranging from large, established companies to adventurous new startups. They are also well qualified to pursue graduate study in a number of fields.
Our students are creative, analytical problemsolvers. This is a rich, collaborative and varied field that you will find challenging, no matter where your individual interests lie.
And there is more to CS than programming. While software engineering is an important skill, computer scientists also work with robots and other physical devices, design hardware that runs faster and more efficiently, and apply machine learning techniques to gain insight from large data sets—to name just a few examples.
Because CS has become highly interconnected with medicine, business and many other fields, it is a great fit with other interests you may have. You will enjoy a strong career outlook while having an impact on society.
DECLARATION REQUIREMENTS
To declare the computer sciences major, students must meet the following requirements:
 Completion of COMP SCI 300 and either MATH 222 or MATH 276
 Grade of BC or higher in one of these introductory programming courses, taken at UWMadison: COMP SCI 300, COMP SCI/E C E 354 or COMP SCI 400
 2.250 GPA or higher among the first completed attempts of these courses: COMP SCI 300 and either MATH 222 or MATH 276
^{1}  For purposes of computer sciences major declaration requirements, GPA is calculated with UWMadison courses only, and does not include repeated coursework. If a student needs additional coursework to meet the 2.250 GPA requirement, COMP SCI/MATH 240, COMP SCI/E C E 354, and/or COMP SCI 400 Programming III may also be used. Students having difficulties meeting the above requirements should schedule a meeting with a computer sciences advisor to discuss alternatives. For instructions on declaring the major, see the Department of Computer Sciences website. 
University General Education Requirements
All undergraduate students at the University of Wisconsin–Madison are required to fulfill a minimum set of common university general education requirements to ensure that every graduate acquires the essential core of an undergraduate education. This core establishes a foundation for living a productive life, being a citizen of the world, appreciating aesthetic values, and engaging in lifelong learning in a continually changing world. Various schools and colleges will have requirements in addition to the requirements listed below. Consult your advisor for assistance, as needed. For additional information, see the university Undergraduate General Education Requirements section of the Guide.
General Education 
* The mortarboard symbol appears before the title of any course that fulfills one of the Communication Part A or Part B, Ethnic Studies, or Quantitative Reasoning Part A or Part B requirements. 
College of Letters & Science Breadth and Degree Requirements: Bachelor of Science (B.S.)
Students pursuing a bachelor of science degree in the College of Letters & Science must complete all of the requirements below. The College of Letters & Science allows this major to be paired with either a bachelor of arts or a bachelor of science curriculum. View a comparison of the degree requirements here.
Bachelor of Science DEGREE REQUIREMENTS
Mathematics  Two (2) 3+ credits of intermediate/advanced level MATH, COMP SCI, STAT Limit one each: COMP SCI, STAT 
Foreign Language  Complete the third unit of a foreign language Note: A unit is one year of high school work or one semester/term of college work. 
L&S Breadth 

Liberal Arts and Science Coursework  108 credits 
Depth of Intermediate/Advanced work  60 intermediate or advanced credits 
Major  Declare and complete at least one (1) major 
Total Credits  120 credits 
UWMadison Experience  30 credits in residence, overall 30 credits in residence after the 86th credit 
Minimum GPAs  2.000 in all coursework at UW–Madison 2.000 in intermediate/advanced coursework at UW–Madison 
Non–L&S Students PURSUING AN L&S MAJOR
Non–L&S students who have permission from their school/college to pursue an additional major within L&S only need to fulfill the major requirements and do not need to complete the L&S breadth and degree requirements above. Please note that the following special degree programs are not considered majors so are not available to nonL&Sdegreeseeking candidates:
 Applied Mathematics, Engineering and Physics (Bachelor of Science–Applied Mathematics, Engineering and Physics)
 Journalism (Bachelor of Arts–Journalism; Bachelor of Science–Journalism)
 Music (Bachelor of Music)
 Social Work (Bachelor of Social Work)
Requirements for the Major
BASIC COMPUTER SCIENCES
Code  Title  Credits 

COMP SCI/MATH 240  Introduction to Discrete Mathematics  3 
COMP SCI/E C E 252  Introduction to Computer Engineering  2 
COMP SCI 300  Programming II  3 
COMP SCI/E C E 354  Machine Organization and Programming  3 
COMP SCI 400  Programming III  3 
Total Credits  14 
BASIC CALCULUS
Code  Title  Credits 

Complete one of these sequences:  914  
Calculus and Analytic Geometry 1 and Calculus and Analytic Geometry 2  
Calculus with Algebra and Trigonometry I and Calculus with Algebra and Trigonometry II and Calculus and Analytic Geometry 2  
Topics in Calculus I and Topics in Calculus II  
Total Credits  914 
ADDITIONAL MATHEMATICS (beyond calculus)
Code  Title  Credits 

Complete two courses for at least 6 credits:  610  
Elementary Matrix and Linear Algebra ^{1}  
or MATH 375  Topics in MultiVariable Calculus and Linear Algebra  
Introductory Applied Statistics for Engineers  
Introduction to Numerical Methods ^{2}  
Introduction to Cryptography  
Numerical Linear Algebra  
Numerical Analysis  
Linear Optimization  
Advanced Linear Programming  
Introduction to Random Signal Analysis and Statistics  
CalculusFunctions of Several Variables ^{1}  
or MATH 375  Topics in MultiVariable Calculus and Linear Algebra  
Techniques in Ordinary Differential Equations  
Linear Algebra and Differential Equations ^{1}  
or MATH 375  Topics in MultiVariable Calculus and Linear Algebra  
Applied Mathematical Analysis  
Applied Mathematical Analysis  
An Introduction to Probability and Markov Chain Models  
Linear Algebra  
Topics in MultiVariable Calculus and Differential Equations  
Introduction to the Theory of Probability  
Applied Linear Algebra  
College Geometry I  
Introduction to Combinatorics  
Analysis I  
Modern Algebra  
Modern Algebra  
Modern Number Theory  
Mathematical Logic  
Introduction to Probability and Mathematical Statistics I  
Introduction to Probability and Mathematical Statistics II  
Introduction to Theory and Methods of Mathematical Statistics I  
Introduction to Theory and Methods of Mathematical Statistics II 
^{1}  MATH 375 Topics in MultiVariable Calculus and Linear Algebra will not meet the requirement if a student already has credit for MATH 234 CalculusFunctions of Several Variables, MATH 320 Linear Algebra and Differential Equations or MATH 340 Elementary Matrix and Linear Algebra. 
Advanced Computer Science Courses
THEORY OF COMPUTER SCIENCE
Code  Title  Credits 

Complete one:  3  
Introduction to Algorithms  
Introduction to Theory of Computing 
SOFTWARE & HARDWARE
Code  Title  Credits 

Complete two:  68  
Foundations of Mobile Systems and Applications  
Software Engineering  
Introduction to Programming Languages and Compilers  
or COMP SCI 538  Introduction to the Theory and Design of Programming Languages  
Introduction to Operating Systems  
Introduction to Computer Architecture  
Database Management Systems: Design and Implementation  
Introduction to Computer Networks  
Introduction to Information Security 
APPLICATIONS
Code  Title  Credits 

Complete one:  3  
Introduction to Numerical Methods ^{1}  
Introduction to Combinatorial Optimization  
Numerical Linear Algebra  
Numerical Analysis  
Introduction to Optimization  
Linear Optimization  
Computational Photography  
Introduction to Artificial Intelligence  
Natural Language and Computing  
Computer Systems Modeling Fundamentals  
Computer Graphics  
Introduction to HumanComputer Interaction 
^{2}  In every case, a course used toward one requirement may not be used again toward another requirement. For example, if COMP SCI 412 is applied to the ADDITIONAL MATH (BEYOND CALCULUS) requirement, it cannot also apply to the APPLICATIONS requirement. 
ELECTIVES
Code  Title  Credits 

Complete two:  68  
Foundations of Mobile Systems and Applications  
Introduction to Numerical Methods  
Introduction to Combinatorial Optimization  
Introduction to Cryptography  
Introduction to Computational Statistics  
Introduction to Combinatorics  
Software Engineering  
Numerical Linear Algebra  
Numerical Analysis  
Introduction to Theory of Computing  
Introduction to Optimization  
Linear Optimization  
Advanced Linear Programming  
Matrix Methods in Machine Learning  
Image Processing  
Computational Photography  
Introduction to Programming Languages and Compilers  
Introduction to Operating Systems  
Introduction to the Theory and Design of Programming Languages  
Introduction to Artificial Neural Network and Fuzzy Systems  
Introduction to Artificial Intelligence  
Natural Language and Computing  
Computer Systems Modeling Fundamentals  
Introduction to Computer Architecture  
Introduction to Computational Geometry  
Computer Graphics  
Database Management Systems: Design and Implementation  
Medical Image Analysis  
Introduction to HumanComputer Interaction  
Introduction to Bioinformatics  
Introduction to Algorithms  
Virtual Reality  
Tools and Environments for Optimization  
Introduction to Computer Networks  
Introduction to Information Security  
Computer Game Technology  
Undergraduate Elective Topics in Computing 
Residence and quality of work
 2.000 GPA in all COMP SCI courses and courses counting toward the major
 2.000 GPA on 15 upperlevel credits, taken in residence ^{3}
 15 credits in COMP SCI, taken on campus
^{3}  COMP SCI courses numbered 400 through 699 count as Upper Level. 
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 (above) 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. ^{4}
^{4}  Senior Honors Thesis proposal must be approved by both the thesis/project advisor and the department undergraduate coordinator before enrollment in COMP SCI 681. A final thesis or project must be filed with the Department of Computer Sciences before a final grade for COMP SCI 682 can be awarded. 
Distinction in the Major
Distinction will be awarded at graduation to majors who are not declared for Honors in the Major, and who meet this criteria:
 Earn a minimum 3.750 GPA or higher in all COMP SCI and major courses, or
 Earn a minimum 3.500 GPA in all COMP SCI and major courses, plus:
 Complete one COMP SCI courses numbered 500 through 699 for Honors credit and at least a "B" grade
 Complete COMP SCI 691  COMP SCI 692 for at least 6 credits
 Recognize and apply the core principles of Computing (abstractions and algorithms) to solve realworld problems.
 Describe and apply the theoretical foundations of Computer Science (e.g., complexity analysis) in practical settings.
 Demonstrate knowledge of key elements of computer systems, e.g., hardware, operating systems, networks.
 Use fundamental and detailed knowledge, skills, and tools (e.g., specific algorithms, techniques methods, etc.) of computer science and develop the ability to acquire new knowledge, skills, and tools.
 Design, implement, and evaluate software in multiple programming paradigms and languages.
 Develop a substantial piece of software, and recognize the challenges of designing and developing software.
 Exhibit technical (designing, implementing, and testing) and teamwork (communication, collaboration, and professional practice) skills in order to develop solutions as a computer science practitioner.
 Can solve problems by applying a broad toolbox of knowledge and techniques.
First Year  

Fall  Credits  Spring  Credits 
COMP SCI 200  3  COMP SCI 300  3 
COMP SCI 304 (optional companion course)  1  COMP SCI/E C E 252  2 
MATH 221  5  MATH 222  4 
Communications Part A  3  Ethnic Studies  3 
Social Science Breadth  3  Foreign Language  4 
15  16  
Second Year  
Fall  Credits  Spring  Credits 
COMP SCI 400  3  COMP SCI/E C E 354  3 
COMP SCI/MATH 240  3  Additional Math (MATH 340 recommended)  3 
INTERLS 210  1  Physical Science Breadth  3 
Communications Part B  3  Humanities Breadth  3 
Literature Breadth  3  Social Science Breadth  3 
Elective  2  
15  15  
Third Year  
Fall  Credits  Spring  Credits 
COMP SCI Theory (COMP SCI 577 recommended)  4  COMP SCI Applications  3 
Additional Math (STAT 324 recommended)  3  COMP SCI Electives  3 
Literature Breadth  3  Humanities Breadth  3 
Biological Science Breadth  3  Social Science Breadth  3 
Social Science Breadth  3  Elective  3 
16  15  
Fourth Year  
Fall  Credits  Spring  Credits 
COMP SCI Software/Hardware  3  COMP SCI Software/Hardware  3 
COMP SCI Elective  3  Biological Science Breadth  3 
Physical Science Breadth  3  Elective  8 
Elective  5  
14  14  
Total Credits 120 
Advising
The undergraduate coordinators in the Department of Computer Sciences are ready to help students with questions about the major, L&S degree requirements and policy, and course selection. Information on academic advising for students interested or declared in the computer sciences major is posted to the Computer Sciences advising page.
CAREERS
Demand for those with a computer sciences education is exceptionally strong. According to figures from the U.S. Bureau of Labor Statistics, the vast majority of growth in STEM (science, technology, engineering, and math) occupations through 2020 will occur within computing fields.
Computer sciences majors are encouraged to begin working on their career exploration and preparation soon after arriving on campus to explore different career paths, participate in coops or summer internships, prepare for the job search and/or graduate school applications, and network with professionals in the field.
Department of Computer Sciences: the department hosts one major career fair per year, in the fall, as well as other opportunities to connect with employers, such as technical talks and information sessions.
SucessWorks at the College of Letters & Science: SuccessWorks offers two major career fairs per year, assists with resume writing and interviewing skills, and offers individual career advising appointments for L&S students.
Engineering Career Services (ECS): ECS offers two major career fairs per year, assists with resume writing and interviewing skills, and hosts workshops on the job search.
L&S career resources
SuccessWorks at the College of Letters & Science helps students leverage the academic skills learned in their major, certificates, and liberal arts degree; explore and try out different career paths; participate in internships; prepare for the job search and/or graduate school applications; and network with professionals in the field (alumni and employers). In short, SuccessWorks helps students in the College of Letters & Science discover themselves, find opportunities, and develop the skills they need for success after graduation.
SuccessWorks can also assist students in career advising, résumé and cover letter writing, networking opportunities, and interview skills, as well as course offerings for undergraduates to begin their career exploration early in their undergraduate career.
Students should set up their profiles in Handshake to take care of everything they need to explore career events, manage their campus interviews, and apply to jobs and internships from 200,000+ employers around the country.
 SuccessWorks
 Set up a career advising appointment
 INTERLS 210 L&S Career Development: Taking Initiative (1 credit, targeted to first and secondyear students)—for more information, see InterLS 210: Career Development, Taking Initiative
 INTERLS 215 Communicating About Careers (3 credits, fulfills Com B General Education Requirement)
 Handshake
 Learn how we’re transforming career preparation: L&S Career Initiative
Professors A. ArpaciDusseau, R. ArpaciDusseau, Bach, Barford, Banerjee, Cai, Doan, Dyer, Ferris, Gleicher, Hill, Jha, Livny, Miller, Patel, Reps, Ron, Shavlik, Sohi, van Melkebeek, Wood, Wright, Zhu
Associate Professors Akella, Chawla, Liblit, Mutlu, Sankaralingam, Swift
Assistant Professors Albarghouthi, D'Antoni, Gupta, Koutris, Sifakis
Faculty Associates Dahl, Deppeler, Hasti, Legault, LewisWilliams, Skrentny, Williams
Visit Scholarships@UWMadison to find UW–Madison scholarships and apply online.
Visit the scholarships page on the Department of Computer Sciences website for a compendium of opportunities available to students studying computer sciences.