This course primarily aims to acquaint the student with basic data structures frequently used in software engineering and programming practices. Concepts of object-oriented programming, abstract data types, dynamic memory management and algorithm complexity are given. Searching and sorting algorithms are also discussed.