Data Structures and Algorithms is a 16-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:
- Advanced Programming Skills (data structures, algorithms, analysis of algorithms),
- Team programming project and Cracking the Coding Interview (students will be expected to propose and implement a small team project)
- Parallel programming
- Seminar on computing issue such as accessibility.
- Cloud 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 has an impact on almost anything 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 object-oriented programming and parallel computing. Seminar will be organized around computer systems and preparing for getting a job or graduate school in computer science. Cloud Computing teaches students how to administer a cloud computing environment and analyze data at a large scale using cloud computing
To successfully participate in this program, students will need a computer and Internet. Students can expect our remote teaching to be around 10 hours of synchronous (scheduled) coursework per week, using Zoom. Students will have access to alternatives to synchronous participation if conditions require. In-person activities each week may include computer lab and seminar. Accommodations for students who are unable to attend in-person are possible.
2 quarters of object-oriented programming, at least one quarter of discrete math (including big-O), 1 quarter of computer architecture. 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
computer science and mathematics.
Up to 16 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.