Curriculum - BS or BA Computer Science

Main page content

The Computer Science and Systems curriculum focuses on the latest paradigms, languages and techniques of today's computing practitioners while building a strong base to support lifelong learning in the field. It also prepares students to pursue graduate studies and provides continuing education for current professionals. Industry partnerships provide opportunities for a wide spectrum of practical experience that complements classroom teaching and research projects.

Below you will find the curriculum requirements for the Bachelor of Science and Bachelor of Arts CSS degrees. The B.S. in CSS curriculum requirements are organized by admission date to reflect updates in the degree requirements.

Print-friendly tab title "B"

 

Starting in Autumn 2019, students admitted into the B.S. in CSS must meet the following requirements. Students are encouraged to view the B.S. in CSS schedule planning grid (effective Autumn 2019) for suggested program sequencing.

Core

CSS Electives

Students must complete 25 additional credits of 300-level or 400-level courses chosen from the Computer Science and Systems program (excluding TCSS 390); see course descriptions for listing.

For these 25 elective credits, students must complete:

  1. 5 credits from the following approved design electives: TCSS 437, 445, 450, 465, or 491 
  2. An additional 10 credits of 300- or 400-level TCSS electives, and
  3. An additional 10 credits of 400-level TCSS electives.

No more than 10 credits of TCSS 497, TCSS 498, and TCSS 499 may be used to satisfy the elective requirement. Students may also take up to 5 credits of a 400-level School of Engineering and Technology course (TEE, TCES, TINFO, TINST) and/or 5 credits of a 500-level TCSS course to count towards the elective requirement (categories 2 and 3 above).

Other Requirements

The following additional courses are required:

*Astronomy courses do not meet the lab-based science requirement.

Print-friendly tab title "B"

Print-friendly tab title "B"

Print-friendly tab title "B"

Students admitted to CSS in Autumn 2018 and Winter 2019 must meet the following requirements. Students are strongly encouraged to use the B.S. in CSS degree planning grid (Autumn 2018) for course sequencing. 

Core

CSS Electives

CSS Electives

Students must complete 25 additional credits of 300-level or 400-level courses chosen from the Computer Science and Systems program (excluding TCSS 390); see course descriptions for listing. At least 10 credits must be 400-level CSS lecture courses (not TCSS 497, TCSS 498, or TCSS 499). At most 10 credits of TCSS 497, TCSS 498, and TCSS 499 may be used to satisfy the elective requirement. Students may also take up to 5 credits of a 400-level SET course (TCES, IT, TINST) or 5 credits of a 500-level TCSCI course to count towards the elective requirement.

    Other Requirements

    The following are required:

    Students must take two additional math or lab-based science* electives that may be chosen from the following courses:

    *Astronomy courses do not meet the lab-based science requirement.

    Print-friendly tab title "B"

    Students are encouraged to view the B.A. in CSS schedule planning grid for suggested program sequencing.

    Foundation -Strengthening Courses

    Inner Core

    Electives

    CSCI Electives

    Students must complete 20 additional credits of 300-level or 400-level courses chosen from the Computer Science and Systems program (excluding TCSS 390); see course descriptions for listing.

    General Electives

    Students must complete 15 credits of general electives of their choice.

    Core sequencing

    All prerequisites must be completed before advancing to the next academic level. All courses within the major must be completed with a minimum grade of 2.0 (including TCSS 142 and 143).  Courses may only be repeated once. Advanced concentration courses build upon knowledge gained in the core courses.

    Research and Internship Opportunities

    Research, directed reading and internship opportunities allow senior-level students to explore their unique areas of interest complemented by the expertise of the faculty and industry. Industry partner internships at software development design and implementation companies are dedicated to the students of SET and provide work experience, which complements the curriculum and can serve as on-ramps to the high tech workforce. While applying the theoretical and conceptual classroom knowledge to the practical work environment, the student creates relationships and gains a greater depth of understanding of his or her course work.

    Undergraduate research, under the supervision of a CSS faculty member, is an excellent opportunity for students to explore research in preparation for graduate school or to strengthen their educational experience for industry. The CSS Honors program is designed for high achieving students who wish to pursue advanced coursework and an in-depth research project on a particular topic. Students who meet all the requirements for CSS honors will graduate "with Honors in Computer Science and Systems" from the University of Washington.