The two aspects - programming methodology and data structures - are quite integrated in nature. The issue at hand in most tasks of computer science is the issue of problems solving. Unless we understand how to solve problems on a computer quite efficiently and what are the steps to do it, it will be very difficult to understand what programming methodology and data structuring means because these are two derived items of the system of problem solving. This course covers lessons in C programming, data structures, merge sort and quick sort, strings, arrays, linked lists, search trees, algorithm design and graphs. (from nptel.ac.in)