Data structures play a central role in modern computer science. You interact with data structures even more often than with algorithms (think Google, your mail server, and even your network routers). In addition, data structures are essential building blocks in obtaining efficient algorithms. This course covers major results and current directions of research in data structure. In this course, data structures are studied including stacks, queues, linked lists and binary trees. Searching, sorting, recursion, strings, and arrays are also covered.This course is designed to teach students the fundamental data structures and the algorithms used to manipulate them. The data structures and algorithms will be implemented in a modern object-oriented programming language (C++).