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 start-ups. They are also well qualified to pursue graduate study in a number of fields.
Our students are creative, analytical problem-solvers. 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 UW-Madison: 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 UW-Madison 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 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 the Bachelor of Arts or the Bachelor of Science degree requirements.
Bachelor of Science DEGREE REQUIREMENTS
Mathematics | Complete two courses of 3+ credits at the Intermediate or Advanced level in MATH, COMP SCI, or STAT subjects. A maximum of one course in each of COMP SCI and STAT subjects counts toward this requirement. |
Foreign Language | Complete the third unit of a foreign language. |
L&S Breadth | Complete: • 12 credits of Humanities, which must include at least 6 credits of Literature; and • 12 credits of Social Science; and • 12 credits of Natural Science, which must include 6 credits of Biological Science and 6 credits of Physical Science. |
Liberal Arts and Science Coursework | Complete at least 108 credits. |
Depth of Intermediate/Advanced Coursework | Complete at least 60 credits at the Intermediate or Advanced level. |
Major | Declare and complete at least one major. |
Total Credits | Complete at least 120 credits. |
UW-Madison Experience | Complete both: • 30 credits in residence, overall, and • 30 credits in residence after the 86th credit. |
Quality of Work | • 2.000 in all coursework at UW–Madison • 2.000 in Intermediate/Advanced level 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. They do not need to complete the L&S Degree Requirements above.
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 | 3 |
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 | 15 |
BASIC CALCULUS
Code | Title | Credits |
---|---|---|
Complete one of these sequences: | 9-14 | |
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 | 9-14 |
ADDITIONAL MATHEMATICS (beyond calculus)
Code | Title | Credits |
---|---|---|
Complete two courses for at least 6 credits: | 6-10 | |
Elementary Matrix and Linear Algebra ^{1} | ||
or MATH 375 | Topics in Multi-Variable 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 | ||
Calculus--Functions of Several Variables ^{1} | ||
or MATH 375 | Topics in Multi-Variable Calculus and Linear Algebra | |
Techniques in Ordinary Differential Equations | ||
Linear Algebra and Differential Equations ^{1} | ||
or MATH 375 | Topics in Multi-Variable Calculus and Linear Algebra | |
Applied Mathematical Analysis | ||
Applied Mathematical Analysis | ||
An Introduction to Probability and Markov Chain Models | ||
Linear Algebra | ||
Topics in Multi-Variable 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 Multi-Variable Calculus and Linear Algebra will not meet the requirement if a student already has credit for MATH 234 Calculus--Functions 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: | 6-8 | |
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 Software Security | ||
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 Graphics | ||
Introduction to Human-Computer Interaction | ||
Building User Interfaces |
- ^{ 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: | 6-8 | |
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 | ||
Wearable Technology | ||
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 Networks | ||
Introduction to Artificial Intelligence | ||
Introduction to Software Security | ||
Natural Language and Computing | ||
Introduction to Computer Architecture | ||
Introduction to Computational Geometry | ||
Computer Graphics | ||
Probability and Information Theory in Machine Learning | ||
Database Management Systems: Design and Implementation | ||
Medical Image Analysis | ||
Introduction to Human-Computer Interaction | ||
Building User Interfaces | ||
Introduction to Bioinformatics | ||
Introduction to Algorithms | ||
Virtual Reality | ||
Tools and Environments for Optimization | ||
Introduction to Computer Networks | ||
Introduction to Information Security | ||
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 upper-level 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.
- Recognize and apply the core principles of Computing (abstractions and algorithms) to solve real-world 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.
Sample Four-Year Plan
This Sample Four-Year Plan is a tool to assist students and their advisor(s). Students should use it—along with their DARS report, the Degree Planner, and Course Search & Enroll tools—to make their own four-year plan based on their placement scores, credit for transferred courses and approved examinations, and individual interests. As students become involved in athletics, honors, research, student organizations, study abroad, volunteer experiences, and/or work, they might adjust the order of their courses to accommodate these experiences. Students will likely revise their own four-year plan several times during college.
First Year | |||
---|---|---|---|
Fall | Credits | Spring | Credits |
COMP SCI 200 | 3 | COMP SCI 300 | 3 |
COMP SCI 304 (optional companion course) | 1 | MATH 222 | 4 |
MATH 221 | 5 | Ethnic Studies | 3 |
Communications Part A | 3 | Second Semester Language | 4 |
First-Semester Language | 4 | ||
16 | 14 | ||
Second Year | |||
Fall | Credits | Spring | Credits |
COMP SCI 400 | 3 | COMP SCI/E C E 354 | 3 |
COMP SCI/E C E 252 | 3 | COMP SCI/MATH 240 | 3 |
Additional Math Beyond Calculus (MATH 340 recommended) | 3 | INTER-LS 210 | 1 |
Third Semester Language | 4 | Communication Part B | 3 |
Social Science Breadth | 3 | Fourth Semester Language | 4 |
16 | 14 | ||
Third Year | |||
Fall | Credits | Spring | Credits |
COMP SCI Theory (COMP SCI 577 recommended) | 3-4 | COMP SCI Software/Hardware | 3-4 |
Additional Math (STAT 324 recommended) | 3 | COMP SCI Applications | 3 |
Humanities Breadth | 3 | Literature Breadth | 3 |
Social Science Breadth | 3 | Biological Science Breadth | 3 |
Elective | 3 | Elective | 3 |
15 | 15 | ||
Fourth Year | |||
Fall | Credits | Spring | Credits |
COMP SCI Software/Hardware | 3-4 | COMP SCI Elective | 3 |
COMP SCI Elective | 3 | Physical Science Breadth | 3 |
Humanities Breadth | 3 | Literature Breadth | 3 |
Social Science Breadth | 3 | Social Science Breadth | 3 |
Elective | 3 | Elective | 3 |
15 | 15 | ||
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 co-ops 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.
SuccessWorks 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
Every L&S major opens a world of possibilities. SuccessWorks at the College of Letters & Science helps students turn the academic skills learned in their major, certificates, and other coursework into fulfilling lives after graduation, whether that means jobs, public service, graduate school or other career pursuits.
In addition to providing basic support like resume reviews and interview practice, SuccessWorks offers ways to explore interests and build career skills from their very first semester/term at UW all the way through graduation and beyond.
Students can explore careers in one-on-one advising, try out different career paths, complete internships, prepare for the job search and/or graduate school applications, and connect with supportive alumni and even employers in the fields that inspire them.
- SuccessWorks
- Set up a career advising appointment
- Enroll in a Career Course - a great idea for first- and second-year students:
- INTER-LS 210 L&S Career Development: Taking Initiative (1 credit)
- INTER-LS 215 Communicating About Careers (3 credits, fulfills Comm B General Education Requirement)
- Learn about internships and internship funding
- Activate your Handshake account to apply for jobs and internships from 200,000+ employers recruiting UW-Madison students
- Learn about the impact SuccessWorks has on students' lives
Professors A. Arpaci-Dusseau, R. Arpaci-Dusseau, Bach, Barford, Banerjee, Cai, Doan, Dyer, Ferris, Gleicher, Jha, Livny, Miller, Mutlu, Patel, Reps, Ron, Sankaralingam, Sohi, Swift, van Melkebeek, Wright, Zhu
Associate Professors I. Diakonikolas, Lee, Sifakis
Assistant Professors Albarghouthi, Chatterjee, D'Antoni, J. Diakonikolas, Fernandes, Gupta, Hanna, Hsu, Kim, Koutris, Li, Liang, Sala, Sinclair, Tzamos, Venkataraman, Yu, Zhao
Faculty Associates Ayari Ben Hadj Kacem, Captain, Caraza-Harter, Dahl, Deppeler, Doescher, Hasti, Heimerl, Kuemmel, Legault, Lewis-Williams, Renault, Skrentny, Syamkumar, Williams
Visit Scholarships@UW-Madison 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.