In this section

Computer Science

253.879.3125

Program Description

How does the human brain work? What does the future hold for our climate? Is it possible for a computer to understand natural language? How can we most efficiently and securely transmit information over the internet? When is it useful to distinguish between different levels of infinity?

Mathematics and computer science provide the foundation required to answer some of the most complex questions of our time. Mathematicians design the models that enable us to understand and improve the structure of everything from transportation networks to physical processes. Whether or not practical applications are foreseen, mathematicians revel in exploring the structure and beauty of abstract patterns and logical relationships. Computer scientists build the invisible layer of software that advances scientific research and improves everyday life. Smartphones and modern automobiles include many millions of lines of code—every aspect of which we depend upon for our productivity and safety.

 

Who You Could Be

  • Data analyst
  • Full-stack developer
  • Research scientist
  • Software engineer
  • Technical Project Manager

What You'll Learn

  • Choose and apply appropriate algorithms 
  • Choose and apply data structures 
  • Implement and evaluate complex software 
SAMPLE COURSES

This course is an introduction to computer science and programming intended for students in the natural sciences. The emphasis is on problems that might come up in a modern research laboratory. Assignments and exercises are done in Python programming language, which is favored by many natural scientists. The course teaches how to maintain an electronic notebook of calculations, to complement the traditional lab notebook. There is also a focus on standard data structures and good programming techniques, giving the student a solid grounding in modern programming techniques.

Code
Natural Scientific and Mathematical Perspectives
Prerequisites
MATH 110 or three years of high school math required. Students who received credit for CSCI 161 or 261 will not receive credit for CSCI 141.

Students study the design and implementation of large software systems. Topics include design methodologies, programming team organization, and management, program verification and maintenance, design patterns and software engineering tools.

Code
Natural Scientific and Mathematical Perspectives
Prerequisites
CSCI 261 with a grade of C- or higher.

Declarative programming languages are an important alternative to languages (such as C, C++, and Java) that use the more familiar imperative programming paradigm. This course introduces the functional and logic programming paradigms in depth through assignments in the programming languages Haskell and Prolog. These languages are based on models of computation that are fundamentally different from the von Neumann model underlying imperative programming languages, and exposure to these new paradigms provides valuable perspective on programming and problem solving in general.

Code
Natural Scientific and Mathematical Perspectives
Prerequisites
CSCI 261 with a grade of C- or higher.

Consideration of a diverse range of problems in computer science from problems in the design of correct and efficient algorithms and the implementation of data structures through problems in the theory of computation.

Prerequisites
CSCI 261 recommended.

This is a course in advanced data structures, the algorithms needed to manipulate these data structures, proofs that the algorithms are correct, and a runtime analysis of the algorithms. Students study advanced data structures such as Red-Black Trees, 2-3 Trees, Heaps, and Graphs. Students also study algorithm design techniques including Greedy Algorithms, Divide and Conquer, Dynamic Programming, and Backtracking. They also learn about NP-Complete problems.

Code
Natural Scientific and Mathematical Perspectives
Prerequisites
CSCI 261, 281 (may be taken concurrently), and MATH 210. In lieu of MATH 210, students may take MATH 290 with a grade of C or better, and a 300-level or 400-level mathematics course from List B with a grade of C or better.

This course introduces the student to the techniques of artificial intelligence. Students learn strategies for uninformed and informed (heuristic) search, knowledge representation, problem-solving, and machine learning. Additional topics may include motion planning, probabilistic reasoning, natural language understanding, and philosophical implications.

Code
Natural Scientific and Mathematical Perspectives
Prerequisites
MATH 180 and CSCI 361 (may be taken concurrently) with a grade of C- or higher, or permission of the instructor.

Experiential Learning

Our students gain experience in a variety of ways:

  • Study abroad in Budapest with special studies in computer science
  • National and international competitions for math or programming
  • Internship opportunities
  • Senior capstone course
  • Summer research grants including:
    - Silver Lippert '25, "Utilizing Physics-informed Neural Networks to Model the Spread of Thermal Energy Through Trees"
    - Branson Jones '25, "Training a Physics-informed Neural Network to Act as a Numerical Solution for Reaction-diffusion Equations"
    - Rohan Crossland '24, "Multiscale Models of Faceted Ice Growth and Roughness Formation"
    - Julia Kaeppel '25, "Query Ordering Optimizations for Database Caching"

Where Graduates Work

Where our graduates work:

  • Amazon (software engineer)
  • Blue Origin (full-stack software developer)
  • Facebook (software engineer)
  • Google (software engineer)
  • InfoBlox (software engineer)
  • Intel (software engineer)
  • Microsoft (software developer)
  • Nike (software engineer)
  • Smartsheet (software development engineer)
  • Tableau (senior software engineer)

Where Graduates Continue Studying

Where our students continue their studies:

  • Cornell University (M.S., computer science)
  • Stanford University (M.S., computer science)
  • UC Berkeley (M.S., information science)
  • University of Pennsylvania (M.S., computer science)
  • Michigan State University (Ph.D., computer science)
  • Northwestern University (Ph.D., computer science)
  • The Ohio State University (Ph.D., computer science and engineering)
  • University of Oxford, UK (Ph.D., computer science)
  • Washington University St. Louis (Ph.D., computer science)

FACILITIES

Paccar Computer Science Wing
PACCAR COMPUTER SCIENCE WING

Thompson Hall, which houses the Paccar Computer Science Wing, was renovated in 2008.

Third-floor Lounge
THIRD-FLOOR LOUNGE

The third-floor lounge is shared with the mathematics program and offers computer science students a quiet place to study.

Fourth-floor lounge
FOURTH-FLOOR LOUNGE

The fourth-floor lounge in Thompson Hall is a dedicated computer science student lounge.