 As all of you know, India is supposed to be the IT capital of the world. So, the idea is that to teach anyone who wants to learn programming and become a reasonable expert, that is precisely what we have attempted to do. The courses divided what we have, the first set of modules that we are providing are on basics of programming, data structures and algorithms and algorithms. The title of the course that I am teaching is on data structures and algorithms. Basically, it comes as a second course, the first course on basics of programming, programming and C. Then the next thing is what happens a data organization is extremely important for any algorithm to work efficiently. So, what we have done is in computer science, there are already a set of data structures which have been defined, which enable efficient algorithms for working on specific set of problems. So, the way the data structures are organized is that each data structure for example, has a specific application and a set of algorithms which operate on the data structure. It uses the paradigm of what is called an object, like in mathematics you have sets and you know, on sets you can do operations like intersection, union, complement and so on and so forth. So, we have different types of data structures with operations on them. What is different about this is that the way you represent the data internally is kind of hidden from the user, this is called an abstract data type. The data representation is not known to the user, a set of operations are performed on the data and these operations are available for the user to use. So, what is nice is you have these data structures and your operations defined on them and then you can build applications which will use these data structures which have been defined. My course is kind of targeted at someone who has done the basic programming course and at the undergraduate level, normally about first year, second year that is what we are looking at. Someone who must have an aptitude for you know some little bit of basic computer science must be known. The way we have taught it is we have made them in 15 minute modules and for every 15 minute module there is a test and there is an assignment and I think it is possible to do it you know sitting at home or anywhere. It is just like I mean even now today you know if you look at many of the video lectures many of our students are studying from the video lectures. What is the advantage of this? You can you know you can fast forward, you can rewind and listen to something again and again until you understand it. I think that is with the changing paradigm of teaching and learning. You know you go to a class lecture, you attend for some time and then you have not followed something and you would follow up with the teacher. Here the advantage is you can go back, listen to it number of times and also you can also I think post questions and get some answers that is the way we have designed it. I mean I hope it reaches as many students as possible and best wishes to all the students who want to participate in this effort. Please give us feedback so that we can improve it. Good luck with the program and I hope you learn well. The first step experiment we are more than willing to redo parts of it which you do not understand and you know help you with additional material so that we can improve for the future. So this course is titled Algorithms and the design of the course is that our focus is on design techniques on analysis of correctness and analysis of running time of algorithms. Specifically we have focused on a certain class of problems, we have focused on arithmetic, we have focused on sorting and searching, we have focused on pattern matching in strings and optimization questions. In the subject of optimization we are focused on minimizing the number of arithmetic operations and also on setting up appropriate data structures to maintain the minimum distance information in a network. I wish the students a happy listening experience to these lectures and do get back to us with your questions and we will answer them to help you learn better, wish you all the best. Hi, I am Shankar Balachantran. I am going to be teaching programming with C as the language. So there are several languages in which you can program but in this course we have chosen C because C is a very fundamental language, it is useful for lots of things including high performance computing, writing device drivers and so many other things. So it is a very useful thing to learn and in this course what we are going to do is we will use the language as a medium but we will also look at problem solving. So this course is aimed at students who have exposure to mathematics and probably in the first year or second year of programming. So you may not have programmed in any language before or maybe you are exposed to a language like basic or something like that and it is meant at the beginners level. So you will see that there are lots of details that are in the course as you go along. The programming part of the course is structured as 10 lectures, 1 hour each over 10 different 10 into 15 minute modules. I think you have about 4 modules per hour into 10, so 40 modules and it was specifically designed in such a way that for every 15 to 20 minutes you have a simple idea you start with and it is taken to completion in the next 15 or 20 minutes. This module is especially useful for online learning because if you have only a 15 minute or 20 minute break you can still learn a module and be confident about what is taught in the module. And so MOOC is something that is coming up in various places especially in the west. In India this is probably one of the early experiments running a MOOC and we are aiming at college students who are willing to spend time and put in effort at the same time do things at their own pace and at their own setup, so be it home or bus in which you are travelling or anywhere this is something that can come in handy for you. So programming is fun, so lot of people run away from programming thinking that it is not meant for them but programming is fun, it requires time and effort but this is something that anyone is capable of doing if you are willing to spend a little bit of time. All it requires is basic reasoning and logic. The course has been put up in such a way that is designed in such a way that it is going to help students to walk slowly and then be able to run fast. So I wish all of you the very best in your career as well as just in this course. Do really well in this course, practice a lot of problems, do all these little things that we tell you as exercises. I am sure you will end up enjoying this course a lot and also enjoy programming at large.