
Data structures are the building blocks of computer software. This course is designed to teach students some of the basic data structures, abstract data types (ADTs), and algorithms. The students will learn the fundamental techniques of data representation, organization, storage, searching, sorting, retrieval, and manipulation. Students will also be introduced to the notions of time and space complexities and practical performance evaluation of algorithms. So that the students can appreciate the time and space tradeoffs, the basic concepts, implementations, performance, and applications of the various data structures and algorithms will be integrated throughout the course. Students shall gain hands-on experience through several programming assignments. Environment: C under UNIX/LINUX