Data structures syllabus
The syllabus is covering the following concepts

Introduction

Review of some C++ Concepts

Objectoriented design

Fundamental data structures

Algorithm analysis

Recursion
 Pointers

Stacks, queues, and deques

Link List

Trees

Priority queues

Maps, hash tables and skip lists

Search trees

Sorting and selection

Graph algorithms
Course Outcomes
By the end of this course, students should be able to do an analysis of algorithms complexity written in a
programming language.
By the end of this course, students should be able to write a program that implements several different
sorting algorithms, and create a report that compares their relative performance.
By the end of this course, students should be able to create a program that implements a linked list data
structure using wellstructured objectoriented techniques in the Java programming language.
By the end of this course, students should be able to implement stack and queue data structures in the Java programming language.
By the end of this course, students should be able to implement a binary search tree data structure in the
Java programming language.
By the end of this course, students should be able to implement a balanced tree data structure (such as an AVL tree) in the Java programming language.
By the end of this course, students should be able to write a program in the Java language that implements a graph data structure with various kinds of graph traversals. By the end of this course, students should be able to implement a hash table with collision resolution in the
Java programming language.