Data Structures and Algorithms

Fall 2022
Sophomore - Senior
Class Size: 50
12 Credits per quarter
Log in to add this offering to your saved list.
Taught by

Data Structures and Algorithms is a 12-credit upper division applied Computer Science program that is necessary for doing any additional advanced work in computer science and software engineering.

We will concentrate on:

  • Data Structures and Algorithms;
  • Team programming projects and Cracking the Coding Interview (students will be expected to propose and implement a small team project);
  • Parallel and Distributed Computing

This program is intended to help you gain the technical knowledge and skills required to understand, analyze, modify, and build complex software systems. Data structures and algorithms are the fundamental building blocks for creating these systems. Through this program you will deepen your understanding of computing systems, both in theory and practice. The work will provide prerequisite knowledge for Evergreen's advanced computer science programs.

Just as computer technology influences almost everything we do, data structures and algorithms are central to advanced study in computer science, whether it is about building systems to control computers, create large applications, or analyze data. Along with building these systems, one needs to analyze them. This program is for computer science students who are already familiar with a programming language, are familiar with linear data structures such as linked lists, stacks, and queues, and can write programs of medium complexity. The emphasis in this program will be on object-oriented design.

The program content will be organized around several interwoven themes. The Data Structures and Algorithms theme will cover linear and non-linear data structures, including important algorithms and analyses of their complexity. The Programming theme will focus on team programming projects and parallel computing. 

This full-time daytime program will have some components taught on the Olympia campus and some components taught remotely. Students who are interested in participating fully remotely should contact the faculty to discuss that option.



Students are expected to have coursework in discrete math, computer systems, and one year of computer programming. These prerequisites are covered by completion of Computer Science Foundations or equivalent courses elsewhere. Please contact faculty if you have some but not all of the prerequisites to see if there are parts of the program you can take, or if you are unsure if you meet the prerequisites.

Fall 2022 Registration

Course Reference Numbers

So - Sr (12): 10008
So - Sr (1 - 12): 10364

Academic details

Fields of Study
Preparatory for studies and careers in

Studies or careers in Software Development, Research and Development

Maximum Enrollment
Class Standing
Upper Division Science Credit

Up to 12 upper division science credits in data structures, algorithms, parallel and distributed computing, and seminar will be awarded to students who successfully complete the program requirements.


Time Offered
Schedule Evergreen link
see Schedule Evergreen for detailed schedule

First Meeting

Evans Hall 2617 - Windows / Li