Data Structures and Algorithms

Fall Open
Class Standing
Richard Weiss
Paul Pham

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. Students will concentrate on:

  • Data Structures and Algorithms;
  • Team programming projects 
  • Software Engineering
  • Computer Systems and Parallel and Distributed Computing

As computer science students, you will gain the technical knowledge and skills required to understand, analyze, modify, and build complex software systems. The concepts and skills from Data Structures and Algorithms are key for software engineering and programming. 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. 

Working on team projects is very important for almost any job in computer science. Also, at Evergreen we expect students to take charge of their learning. We make this easier by providing  a caring and safe innovative team environment. This is ideal for those looking for a practical, hands-on approach to learning. This radically different pathway gives students the opportunity to set-up and run their own projects and ventures. Inspired by the pioneering Finnish ‘Tiimiakatemia’ approach, we designed this program collaboratively with the Changemaker Lab, which was the first to introduce this approach in the United States. The Tiimiakatemia Changemaker Lab is accredited by Tiimiakatemia Global®.

In the first few weeks you will form a Team Company of up to 20 students, and work on real projects and learn the programming, software engineering, and theoretical  skills needed for those projects. You will gain entrepreneurial experience and learn how to operate and run an organization as a Holacratic structure. As a Team Entrepreneur, you’ll work with your team in your own office environment virtually or in the classroom in our innovative open office space.  You will create and manage projects around your passions, attend directors' meetings. You will have the opportunity to learn the auxiliary skills to manage budgets and build valuable contacts and networks. 

You will learn by doing and specifically develop the following job skills: Self‐leadership skills, Project leading skills, Planning skills, Team Coaching skills, Strategic skills, Team leadership skills, Service, negotiation and selling skills, Understanding of financial issues, Marketing skills, Innovation skills, Team leadership skills, Data processing and IT –skills, Team Learning skills, Creativity skills, International skills and Communication skills and work on developing Initiative, Courage to make choices and goal orientation.

This full-time daytime program will be taught on the Olympia campus. Students who need to participate fully remotely should contact the faculty to discuss that option.

Fall Anticipated Credit Equivalencies:

4 - Data Structures and Algorithms

4 - Parallel and Distributed Computing

4 - Team Programming Project


Students are expected to have had 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.

Course Reference Numbers

So - Sr (12): 10034

Academic Details

Studies or careers in software development, research and development


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.


Hybrid (F)

See definition of Hybrid, Remote, and In-Person instruction

Schedule Details
Evans Hall 2617 - Windows / Linux Lab