Search | Directories | Reference Tools
UW Home > Discover UW > Student Guide > Degree Programs 

Computer Science


AC101 Paul G. Allen Center for Computer Science and Engineering

The Paul G. Allen School of Computer Science and Engineering educates students to become leaders in the design and implementation of the computing systems that touch every aspect of modern society. The Allen School is widely recognized as one of the top programs in the world, with passionate faculty bringing the latest advances into the classroom and the lab.

The Allen School offers two undergraduate degrees: Computer Science (through the College of Arts & Sciences) and Computer Engineering (through the College of Engineering). While the degree requirements differ in some details, undergraduate majors working toward either degree have the same broad opportunities to take the wide array of courses that the Allen School offers. Many of our graduates go on to careers at the world's great technology companies, from the largest industry titans to the smallest start-ups. Others join innovative companies and non-profit organizations outside the traditional computing industry to use software, hardware, and data to solve the world's greatest challenges. Still others go on to challenging graduate programs in a variety of fields.

At the graduate level, the Allen School offers (1) an integrated Master's program for some of our undergraduate majors seeking a deeper education before leaving campus, (2) an evening Master's program for currently employed software professionals, and (3) a Ph.D. program for students seeking a research career.

The field of computing is broad and growing, and the Allen School's course catalog reflects this breadth. Beyond the popular introductory programming courses taken by thousands of students from every major on campus, our courses cover everything from the mathematical foundations of what computers can and cannot do; to hands-on experiences building software and hardware artifacts with a range of programming languages and tools; to advanced courses in software engineering, human-computer interaction, computer graphics and animation, artificial intelligence, machine learning, large-scale data management, natural language processing, computer networking, computational biology, robotics, computer security and privacy, and much more.

Computers are the most flexible and powerful machines ever created. While the applications of computing continue to grow and change, the core magic of the Allen School is timeless: computer scientists and engineers combine creative problem-solving, rigorous design, and the creation of algorithms, software, and hardware systems to build solutions that change the world.

Undergraduate Program

Bill and Melinda Gates Center, Room 170, Box 352355
(206) 543-2656

The Paul G. Allen School of Computer Science and Engineering offers the following programs of study:

  • The Bachelor of Science degree with a major in computer science
  • The Bachelor of Science in computer engineering degree (see Computer Engineering section)

The core requirements of the two undergraduate majors are similar. The computer science major may be more appropriate for students who want to earn a double major with another College of Arts and Sciences program, who want the additional flexibility of the computer science requirements (the computer engineering major has more required courses and fewer electives), or who may be primarily interested in the design of software systems and applications.

The computer engineering major includes a general foundation in engineering fundamentals to enable interdisciplinary work with other departments in the College of Engineering and the University as a whole. It may be more appropriate for students who are interested in building systems that include both hardware and software components and that must be engineered to meet a variety of cost and performance constraints.

Bachelor of Science

Department Admission Requirements

Applicants are considered in three groups - Entering Freshmen, Currently Enrolled UW Students, and Entering Transfers. Admission is capacity constrained. Completion of minimum requirements does not guarantee admission.

  1. Entering Freshmen: The largest pathway for admission to Computer Science is directly out of high school, prior to completion of university-level prerequisites. Freshman applicants listing Computer Science as their intended major are automatically considered. Competitive applicants have usually taken the equivalent of four years of high school mathematics and at least one year of high school laboratory science upon entering the University. Admission is for autumn only.
  2. Currently Enrolled UW Students: A portion of each year's class is admitted after matriculating to UW. Admission is for autumn or spring quarter. Application deadlines: July 1 for autumn and January 15 for spring. To be considered, applicants must meet the following course requirements: MATH 124, MATH 125, MATH 126 (or MATH 134, MATH 135, MATH 136); minimum five credits of Natural World, including one of the following: PHYS 121, CHEM 142/CHEM 145, or BIOL 180 (or any approved science course that requires one of these courses as a prerequisite); CSE 142, CSE 143; at least five credits of English composition.
  3. Entering Transfers: A portion of each year's class is admitted from students transferring from another college or university. Admission is for autumn or spring. Transfer applicants are considered based on their University transfer application; no additional departmental application is required. Applicants must identify Computer Science as their intended major, and indicate they will begin the major immediately upon transferring. Entering transfer applicants not admitted to Computer Science upon initial admission to the UW are eligible to apply as Currently Enrolled UW Students after completing one quarter of enrollment. Entering transfer applicants must meet the following requirements:
    1. Minimum 30 graded college credits completed by the University transfer application deadline.
    2. Completion of the following courses prior to matriculation to UW: MATH 124, MATH 125, MATH 126; PHYS 121, CHEM 142, or BIOL 180; CSE 142, CSE 143; and at least five credits of English composition.

Major Requirements

87-90 credits:

  1. Science (10 credits): 10 credits from the list of approved natural science courses in the CS&E handbook. Courses that meet the department's science requirement include PHYS 121, CHEM 142/CHEM 145, and any course in biology, chemistry, physics, earth and space sciences, astronomy, and atmospheric sciences that requires PHYS 121 or CHEM 142/CHEM 145 as a prerequisite.
  2. Mathematics (15-18 credits): MATH 124, MATH 125, MATH 126, (or MATH 134, MATH 135, MATH 136); MATH 308 or MATH 318 (waived if MATH 136 taken); MATH 390/STAT 390 or MATH 391/STAT 391
  3. Required Courses (29 credits): CSE 142, CSE 143, CSE 311, CSE 312, CSE 331, CSE 332, CSE 351
  4. Senior Electives: 33 additional credits from courses on the approved CSE electives list in the CS&E handbook, of which at least 20 credits must be at the 400-level. The following must be included:
    1. Six courses from the CSE core courses list in the CS&E handbook of which four courses must be 400-level CSE courses
    2. Either one additional course from the CSE core courses list or one course from the CSE capstone list in the CS&E handbook
    3. Minimum 2.0 grade for any course applied to the major. Transfer students must earn a minimum of 24 graded credits toward the major through the UW.

Data Science Option: Additional credits required for the Data Science Option increase total major requirements to 89-92 credits. All courses listed below may be completed as part of the Computer Science major shown above.

  1. CSE 421, CSE 442, CSE 444, CSE 446 (15 credits)
  2. SOC 225 (3/5 credits)
  3. One additional course from the data science elective list (see the Allen School website for list.)

Student Outcomes and Opportunities

  • Learning Objectives and Expected Outcomes: The computer science field has a broad base of private- and public-sector jobs suitable for the Bachelor of Science graduate: systems analyst, systems programmer, applications programmer, technical sales and marketing, and hardware or software engineering specialist. In addition, there are jobs for which graduate education may be appropriate: producers and developers of computer systems, and teachers and researchers. The field is also highly valued for practicing entrepreneurship.
  • Instructional and Research Facilities: Paul G. Allen Center for Computer Science and Engineering includes more than 20,000 square feet of laboratories, nearly 1,000 computer systems, and more than 50 terabytes of storage. Gigabit connectivity is provided to every desktop by more than 60 miles of data cabling, and wireless access is available throughout the building.

    The Allen School general-purpose laboratories support the diverse set of hardware and software platforms required for a cutting-edge education in the field. The special-purpose laboratories provide tailored support for activities such as mobile robotics, computer graphics, digital design, motion capture, embedded systems, laser scanning, educational technology, networking, and artificial intelligence.

    The Allen Center and Gates Center are two of the finest computer science and computer engineering facilities in the nation. All Allen School students have access to these resources.

  • Honors Options Available: With College Honors (Completion of Honors Core Curriculum and Departmental Honors); With Honors (Completion of Departmental Honors requirements in the major). See adviser for requirements.
  • Research, Internships, and Service Learning: Internships and co-op opportunities are available for computer science undergraduates. See and for information.
  • Departmental Scholarships: The Allen School has a limited number of scholarships available to current Allen School majors. Scholarship information is listed at
  • Student Organizations/Associations: A student chapter of the Association for Computing Machinery (ACM) operates within the Allen School.