This Course introduces the students to the concepts of data structures. Topics includes: Pointers, and pointer operations. Array implementation of lists, stacks, and queues. Dynamic implementation of lists (singly, doubly, circular), stack operations and queue operations (and their implementation as linked lists). STL, like: vectors, pairs, maps, sets, lists, stacks, queue. Recursion. Tree dynamic, like binary search trees, segment, red-black, AVL trees. Hash Table and Collision resolution. Weekly lab assignments will be given to the students, in addition to problem solving tasks.