Main Content
Computer scientists create new theories around technology development, thinking through ideas on how to solve problems and take technology to the next level in sustainable and efficient ways.
Computer Science & Systems (CSS) is the science of design, construction, implementation, and maintenance of both the hardware and software elements of computing systems.
UW Tacoma's CSS program focuses on working with embedded systems -- computer systems with a dedicated function within a larger mechanical or electrical system -- with emphasis on the latest paradigms, languages and techniques of today's computing practitioners. Students are prepared to pursue graduate studies and continuing education for professionals.
Students in the Bachelor of Science in CSS degree complete a rigorous core curriculum in data structures, algorithms, discrete structures, programming languages, computer architecture, operating systems, and contemporary ethical issues. Through project-based courses with industry partners, students apply what they’ve learned in the design, construction, and implementation of complex software systems.
What our Graduates Do
SET students pursue internships and careers at companies like Boeing, Intel, Tacoma Power, Blue Origin, T-Mobile, and the Naval Undersea Warfare Center in Bremerton. Possible careers include:
- Project Manager
- Software Engineer
- Systems Analyst
- Video Game Designer
- Web Developer
Bachelor of Arts Option
The Bachelor of Arts in Computer Science & Systems blends a solid foundation in computer science with a minor in another discipline.
Learn more about the application requirements and curriculum for the B.A program on the Bachelor of Arts in CSS page.
Application Process Overview
CSS - Computer Science & Systems (BS)
Required to Apply | Application Opens | Application Deadline | Students Notified |
Prerequisite courses completed and grades posted |
Early February - Autumn admission Early October - Winter admission |
Early July for Autumn start Late December for Winter start |
Rolling decisions with all notifications made in 1-2 weeks or after the close of the application |
See Computer Science & Systems application for more details.
The Intrepid Among Us
Ice axe in hand, Madeline Zent broke new ground in computer science and on the slopes
Being a first-generation student can be arduous and lonely, as can outdoor adventures. But for Madeline Zent (B.S. Computer Science, '21), navigation is a collaborative process. Madeline founded the Outdoor Adventures club with the goal of creating unique outdoor opportunities for both first generation students and members of the BIPOC community. While at the School of Engineering & Technology, Madeline also restarted the Women in Computer Science club and served as UW Tacoma’s STEM Youth Outreach Coordinator.
Questions?
Schedule an appointment with one of our Academic Advisors!
How to Apply
Admission to the CSS major is competitive. Please review the following prerequisites and application process carefully.
Want to check your programming skills? Take our Java Self-Assessment Test.
Prerequisites
To qualify for admission, you must first be admitted to UWT and have completed the following prerequisites:
- Calculus I (TMATH 124 or equivalent)
- Calculus 2 (TMATH 125 or equivalent)
- Any lab-based science course (except Astronomy)
- Introduction to Programming (TCSS 142 or equivalent)
- Object-Oriented Programming (TCSS 143 or equivalent)
*All pre-requisite courses must be completed within the last seven years
** UW Tacoma students are encouraged to complete lab sciences from the following: TBIOL 110, TCHEM 105, TCHEM 131, TGEOS 117, TPHYS 121, and TPHYS 122. We do accept lab based science courses other than these options.
GPA requirements
- Required cumulative prerequisite GPA of at least 2.5, with a minimum grade of 2.0 in each individual prerequisite course.
- Required minimum cumulative GPA of 2.0 in all college coursework.
Before starting the application, make sure you're ready to apply:
-
You've been admitted to UW Tacoma and met the requirements to apply to the major (previous tab).
-
You have completed at least 45 college-level credits.
-
You completed the prerequisite courses listed in the Admission Requirements tab.
-
You've earned a minimum grade of 2.0 in each prerequisite course and maintain a minimum cumulative prerequisite GPA of 2.5.
-
Check that you have the programming skills necessary for the major. Take our Java Self-Assessment Test.
Please note that the application does not require a personal statement at this time. Letters of recommendation are not accepted.
Notes for transfer students:
- You may need one additional approved lab-based science course (Chemistry I -TCHEM 142 or Biology I - TBIOL 120) to meet the total number of lab science credits required (18 minimum) for graduation.
- UW Seattle and UW Bothell students seeking to transfer to UW Tacoma also need to have a transfer application on file to be considered for admission.
- If you are not admitted to UWT, you cannot be admitted to a SET major, but you may hold off on accepting your offer of admission to UWT until you have your program admissions decision.
- Transfer students at Washington State community colleges are encouraged to pursue the Associate in Science - Transfer Track 2 to meet the admission requirements. Use the UW Course Equivalency Guide to determine the equivalent prerequisites at your school.
CSS is a capacity-constrained major, which means we normally have more applicants than space in the program. Competitive applicants typically have grades of 3.0 and higher in prerequisite math, science, and computer science courses, as well as a strong cumulative GPA.
Applicants are evaluated on the following criteria:
- Completion of all prerequisite courses
- Grades in prerequisite courses -- individually and cumulatively
- Overall previous academic performance, consistency in grades, repeats and grade trends are all considered
- Completion of at least 45 college-level credits
Curriculum
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.
Follow the CSS Schedule Planning Grid to complete all required courses.
Core courses
- TCSS 305 Programming Practicum
- TCSS 321 Discrete Structures I
- TCSS 325 Computers, Ethics, and Society
- TCSS 342 Data Structures
- TCSS 343 Design and Analysis of Algorithms
- TCSS 360 Software Development and Quality Assurance Techniques
- TCSS 371 Machine Organization
- TCSS 372 Computer Architecture
- TCSS 380 Fundamentals of Programming Language Concepts
- TCSS 422 Computer Operating Systems
Additional required courses
- TMATH 126 Calculus with Analytic Geometry III
- TMATH 208 Matrix Algebra with Applications
- TMATH 390: Probability and Statistics in Engineering and Science
- A lab-based science course*
- An additional lab-based science course* OR an additional 300 or 400-level math course, except TMATH 310
*Astronomy courses do not meet the lab-based science requirement.
The CSS Schedule Planning Grid (PDF) shows a sample pathway to complete the B.S. in Computer Science & Systems degree. Work with your advisor to make sure you are completing required courses for the program and electives for your area of interest.
Download the CSS Planning Grid
TCSS 390 Undergraduate Seminar in Computer Science & Systems is a workshop style course to help you solve problems and develop a deeper understanding of CSS material. The course, overseen by a faculty member and a student mentor includes lectures and problem sessions in mathematics, programming, problem solving, and CSS applications.
See also:
- The Teaching and Learning Center (TLC) at UW Tacoma provides academic support in math, science, statistics and writing to all UWT students.
- The Learning and Research Commons (LARC) is the hub of support for all members of our campus community for teaching, learning, conducting research, and using technology to support all of these endeavors.
Students must complete 25 additional graded credits of 300-level or 400-level courses chosen from the Computer Science & Systems program (excluding TCSS 390).
For these 25 elective credits, students must complete:
- 5 credits from the following approved design electives: TCSS 437, 445, 450, 461, 465, or 491
- An additional 10 credits of 300- or 400-level TCSS electives, and
- An additional 10 credits of 400-level TCSS electives.
Notes
- No more than 10 credits of TCSS 497, TCSS 498, and TCSS 499 may be used to satisfy the elective requirement.
- You may also take up to 5 credits of a 400-level SET 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).
- See the CSS Electives - Extended Course Descriptions page for more information on CSS electives.
More information on TCSS 497, 498, and 499 (Internships, Directed Readings, Undergraduate Research), including required forms and documentation, can be found on our Undergraduate Resources page.
2023-2024 TCSS Electives
CSS Honors Graduation Requirements
To qualify for CSS honors, you must meet all of the following requirements — in addition to completing all degree requirements for the B.S. in CSS:
- Maintain and graduate with a minimum departmental GPA of 3.6 (starting with CSS 321 and 305).
- Complete the following as part of your CSS senior elective requirements:
- 10 credits of graded TCSS 499 research on one project under the supervision of a CSS faculty member.
The faculty advisor must be a full-time CSS faculty member. If you are working on a research project in another unit or with a part-time faculty, you must have a full-time CSS faculty member approve the project and sign off on the thesis and presentation. In the rare instance that your original advisor is not able to work with you through completion of the project, another faculty member within the same research area can become your advisor. - TCSS 440 (Formal Models in Computer Science) or another 5 credit senior elective (400-level only) in the research area of your Honors Thesis, as determined by you and your faculty advisor. Your faculty advisor must approve the course you take to meet this requirement.
- 10 credits of graded TCSS 499 research on one project under the supervision of a CSS faculty member.
- Give an oral presentation, arranged by you and your faculty advisor, on the honors project. Attendees must include your faculty advisor, the CSS Program Chair (or chair’s designee), and at least five additional people (e.g., other students, faculty).
- Submit a CSS Honors thesis that meets the following criteria:
- Well-written, clearly presented document, typically 4000 – 6000 words, that follows CSS Honors Thesis Guidelines.
- Demonstrates original and creative thinking, as judged by the faculty advisor and CSS Program Chair (or chair’s designee).
- Reflects work done independently under the supervision of a faculty member.
- Includes a cover page with approval signatures by your faculty advisor and the CSS program Chair.
- A final approved copy, with all required signatures, must be emailed to the CSS Chairs (Tom Capaul and Wei Cheng). In order to ensure the honors designation will be marked on your diploma, thesis submission is due no later than the last day of finals during the quarter in which you plan to graduate. Earlier submissions are encouraged.
- Application for the honors designation occurs when you file an application for graduation. As stated above, please notify the SET undergraduate advisors as soon as you decide to pursue honors, and double check that honors is included on your graduation application. Your approved thesis must be submitted and all honors requirements must be fulfilled in order for you to graduate with CSS program honors.
Finding a Research Project
There are many ways for SET students to learn about undergraduate research opportunities.
- Check out SET Research for information on faculty research areas and ongoing projects. You are welcome to contact faculty directly to express your interest in a project.
- Email or meet with an undergraduate advisor to discuss your research interests and to identify potential project matches.
- Keep an eye out for email announcements on available undergrad research positions.
- Email or talk with faculty teaching courses you particularly enjoy. Even if they don't have a project you could work on, they will be familiar with other faculty research and can point you in the right direction.
- Email or talk with the CSS program chairs, Tom Capaul and Wei Cheng.
Senior Electives
Seniors in the B.S. program choose from a wide range of CSS Electives, which offer the flexibility to specialize in a particular area of interest or increase overall breadth.
Honors Designation
High achieving B.S. students may complete advanced coursework and an in-depth research project as preparation for graduate school or to further strengthen their educational experience for industry.
- Develop your ability to understand, analyze, and synthesize scholarly work
- Practice the work of scholars
- Develop and practice skills as an independent and critical thinker
- Improve your written and oral communication skills
CSS honors students write a culminating thesis that clearly demonstrates original and creative thinking, as judged by a faculty advisor and the CSS Program Chair. The thesis should reflect independent work done under the supervision of a faculty member.
If you meet all of the CSS honors requirements, you will graduate "with Honors in Computer Science and Systems" from the University of Washington. Talk with a SET academic advisor as soon as you decide to pursue honors. Your CSS honors requirements will need to be coded into your DARS and included with your graduation application.
ABET Accreditation
The B.S. in Computer Science & Systems is accredited by the Computing Accreditation Commission of ABET, https://www.abet.org. The BS in Computer Science & Systems is for the student who wants to become an expert in the methods and programming languages needed to design software systems. It offers a solid core in computer science principles along with a host of intensive project work in specific sub-disciplines of the field. See the B.S. CSS Schedule Planning Grid for classes required.
The mission of the Computer Science and Systems (CSS) program is to offer high-quality undergraduate and graduate education to meet the needs of a diverse population of citizens and employers in Washington, especially in the South Puget Sound region.
Objectives, as defined by accreditation agencies, are the abilities, skills, and accomplishments expected of graduates within a few years of graduation. Programs are expected to assess their graduates' accomplishments to determine if the objectives have been achieved. Since the objectives are typically fairly broad, it is not expected that every graduate will achieve every objective.
The CSS program has set six objectives for its BS and BA graduates. The career path a graduate takes will affect the accomplishments they achieve but within the first few years after graduation they should have accomplished some of the following:
- Developed a product or process by applying knowledge of mathematics, computing, systems and development tools.
- Participated effectively as a member of a development team and undertaken leadership roles when appropriate.
- Taken graduate courses or continuing education classes to improve skills and abilities.
- Made positive contributions to community and society by applying skills and abilities learned during undergraduate program in computing.
- Made decisions related to work that demonstrate understanding of the importance of being an ethical computing professional.
- Applied communication skills to effectively promote ideas, goals, or products.
The Computing Accreditation Commission (CAC) has defined a set of educational outcomes that all graduates of computer science programs must meet. CSS students must demonstrate the following attributes and abilities by the time of graduation:
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
- Apply computer science theory and software development fundamentals to produce computing-based solutions.
Year | Enrollment | B.S. degrees awarded | B.A. degrees awarded |
---|---|---|---|
2024-2025 | 388 | - | - |
2023-2024 | 384 | 135 | 29 |
2022-2023 | 369 | 146 | 23 |
2021-2022 | 361 | 156 | 20 |
2020-2021 | 371 | 166 | 17 |
2019-2020 | 319 | 143 | 8 |
2018-2019 | 328 | 162 | 4 |
2017-2018 | 369 | 192 | 2 |
2016-2017 | 402 | 167 | 6 |
2015-2016 | 394 | 155 | 7 |
External advisory board
To be provided.