 Hello, welcome to the NPTEL course on an introduction to programming through C++. I am Abhiram Ranade and today's lecture is about data structure based programming. So let me begin by saying that simple programs are about atomic objects and by atomic objects I just mean numbers or characters. So for example, we wrote programs to calculate the sign of a number or the GCD of two numbers. So these are what I might call simple programs. More complex programs and perhaps most programs are about objects which are collections or sets or sequences of objects. So there may be sets of students we are dealing with in our program or maybe some set of disks in the plane, some set of taxi drivers, but we are no longer just talking about one or two objects. We are talking about lots of objects and they even might have some relationships amongst them. Now of course these programs can be written without the standard library which we learnt about in the last lecture and typically we will represent sets using arrays. With the standard library we have a much bigger choice. So we will represent sets using vectors, strings, maps and these are just more convenient ways of representing sets and when we say data structure based programming what I mean over here is programming which involves things like these vectors, maps and so on. So when we talk about sets there are different variations possible. So for example the elements of the set might be a pair. So for example we might be storing pairs of the form name and the roll number of that student. So this is very nicely represented using a map data structure or a map class in the standard library. SL in this lecture is going to be in standard library. Another possibility is that not only do we have a set of objects or set of entities but they may be ordered. So you may think to yourself that this is the first entity or this is the first object, this is the second object, this is the third object and so on. In such case the standard library vector class would be extremely useful. On the other hand if the relationship is not first, second, third but just that this comes before this, this in turn comes before this other one and so on. So there is just an ordering relationship in which case the standard library class called order set, actually it is just called set but by without any prefix to it it means implicitly ordered set that class will be very useful or that data structure will be very useful and we are going to see this very soon. So in this lecture we are going to study some additional data structures or additional classes from the standard library and these are going to be the set and something called a pair. Then we are going to see how the data structures are implemented. This is going to be just about a remark because going into details would be quite complicated. Then we will see how these data structures can be composed because the real power is obtained when you can compose these data structures. Then we will see a simple primitive called type def but all of this we will see in the subsequent segments. So we will take a quick break here.