Data Structures and Algorithms

Data Structures and Algorithms
Fundamental data structures and algorithms of computer science; basic algorithm analysis; recursion; sorting and searching; lists, stacks, queues, trees, hashing; object-oriented data abstraction.
 Hours3.0 Credit, 3.0 Lecture, 0.0 Lab
 PrerequisitesC S 142
 TaughtFall, Winter, Spring, Summer
 ProgramsContaining C S 235
Course Outcomes

Data Computing Fundamentals

Use the fundamental data types of computing (lists, stacks, queues, priority queues, sets, maps, trees, etc.).

Implementing Fundamental Data Types

Understand the major techniques for implementing the fundamental data types (linked lists, binary search trees, hashing, heaps, etc.) and implement several of them.

Select Data Structures

Properly use and select data structures from language-provided data-structure libraries.


Apply basic algorithm analysis.


Understand how recursion works and write programs using recursion to solve problems.

Usage of Algorithms

Make informed decisions about which sorting and searching algorithms to use in specific circumstances.

Program Writing

Write programs that require ~500 lines of code.