Data Structures are at the heart of all efficient software. While transparent to the user, the choice of data structure plays a crucial role in the efficiency of software. In addition, the study and design of data structures pose an interesting intellectual challenge. This course aims to deliver proficiency in the use of commonly used data structures and in reasoning about the trade-offs involved in the choice of a data structure. You are expected to have proficiency in the python and/or C++ programming language