This course introduces the basic concepts of data structures. A data structure is a particular way of storing and organizing data in a computer so that the data can be managed and used efficiently. Data structures are particular critical when manipulating large amounts of data and they play an important role in developing efficient algorithms to solve problems. In view of the importance of data structures, modern programming languages, such as C++, emphasize data structures, rather than procedures, as the key organizing factor in software design. Their object-oriented approach to software development makes them very suitable for studying data structures. In this course, we will use C++ as the vehicle to study various data structures, including arrays, stacks, queues, linked list, trees, and graphs.