 What we will do is, we will quickly talk about the FASI project itself, uploaded the slides on the A-view classroom interface. What I will do is, I will quickly talk about, I will talk about the national mission on education through ICT very briefly, I will try to keep this as short as possible because I know you are all eager to get started and get cracking learning the material. I will talk about the FASI project itself and then get down to the capabilities of Python, Sage and SyLab, not too much in detail, but at least give you an overview and we will talk about the focus that we have been, we have been, the things that we have been focusing on from IIT Bombay. The open source community as you know is large, there are a wide variety of tools that are available, but for the FASI project is focusing on a few tools and so we will just talk about some of the things that we have looked at in terms of what would be useful in the curriculum for students and teachers. We will also talk about the FASI activities so far that we have done and in which we will discuss some of the additional FAS systems that we are considering and finally, what would possibly be of more interest to all of you is that in what way can you help FASI. So, most of you must have heard about the national mission on education through ICT. This was, this is basically a MHRE sponsored mission so it is pretty remarkable that the Ministry of Human Resources Development has actually invested a significant amount of money in order to enhance the education quality all over India using ICT. So, the FASI project itself is part of the, is the part of the NME ICT and there are several PIs involved in this project from IIT Bombay, there is plus a money bush and from chemical engineering who I am not sure you have all seen, there is plus a Kandan Mughalya who professor Fatak mentioned earlier in his talk and there is plus a Madhu Belur who you will see right through the course and you, many of you co-ordinate as have already seen and there is of course myself who you will see in and out during the course. So, the FASI project basically stands for free open source software in science and engineering education. Please note that the emphasis is on science and engineering education and our idea is to see if we can use ICT and teach students and teachers the right set of tools such that many of them can do their science and engineering curricular tasks and extra curricular tasks using the right mixture of software and software engineering practices that they can employ to become effective users of the computer in order to do their work and that is the emphasis. The emphasis is not necessarily on pure computer science students, the reason is if you will actually look through any university that does computational science probably the greatest users of the computer are not necessarily in the computer science department and the reason for that is a lot of the science and lot of the engineering today requires the use of a computer and as a result you need to be very good at using a computer in order to get the best benefit from it and what we are trying to teach is a set of best practices and obviously anything that involves practice it is like learning an instrument how to play an instrument. The issue is you have to put an effort yourself no matter how much the teacher knows how to do something all they can do is show you it is up to you to learn. So, the idea is we expose you to a bunch of the technologies and the software engineering that goes behind good software projects and we will use only open source tools. The idea is you go back and you will be able to use this in your own research for science and engineering education and teaching as well in addition to research. So, our primary objective as a project FOSI project is to minimize the use of commercial and proprietary packages in the curriculum turns out that many many institutes use commercial packages and the difficulty with this is you cannot see or modify the source code unlike that in a FOSI package you can always see and modify the source code which makes it a lot easier for you to learn supposing you are learning the English language. It is obvious that you do not learn the English language by writing more and more you also learn more English language in fact learn the most by reading. So, how you are going to learn programming if you do not read other people source code. So, if I make good quality software available it is easy for other people to read the source and understand and you can also modify it you can redistribute it unlike with say a commercial product which you cannot modify and change. Finally, you can use the software for any product it is not a sin for me to copy a piece of this open source software and give it to a friend whereas, you can be in prison if you do this for commercial product. So, FOS packages obviously have phenomenal advantages. So, the analogy that we use is teaching using commercial packages. So, if I were to teach this course using MATLAB it would be akin to an MBBS doctor being taught to prescribe medicines from just one company it is it is not done. The problem with teaching people with commercial tools is that it becomes a large burden for any commercial organization. The reason is if you look at say something like MATLAB the corporate license is about 2 crores. So, let us say you have a small industry I am talking about corporate license with all toolboxes added in. If somebody wants to use this is obviously not going to use all aspects of MATLAB, but so a large company like Wipro has to buy one license keep it under lock and key and only one employee can use it at one particular point of time. The reason is it is tied to the number of users or you get a site license in case it is even more expensive. And the problem is most small companies or startups or company is not of the size of Wipro cannot afford it. So, what is the point teaching a bunch of graduate students how to use a piece of software which only someone rich enough to buy such a license can actually use or reuse. So, the idea is you want to teach them something that is free and open source that eliminates this problem. So, if you are an institution if you steal a piece of software commercial entity can actually sue you and the damages can be enormous order of millions of dollars. If you learn an open source alternative the advantage is that your skills are reusable you are not tied to this piece of software. You can go home take this piece of software you can give it to your friend teach him how to use it as well. The other issue is many of us in India have faced if you look at a government organization sometimes say an atomic energy. If there are sanctions imposed against you there are certain pieces of software that are denied where is which open source you are free to use it for whatever purpose you deem it. So, there are phenomenal number of advantages from multiple perspectives. So, there are also these commercial government nexuses all over the world. And the interesting thing for example, in abroad many places you may have heard that there is a corporate government nexus. So, which means if I am a big company I will lobby for certain things with the government. I will say I will fund you so much this is the common thing that is done in the United States. I will lobby saying I am the oil industry I want to explore say oil in Alaska. I will make sure I fund the government enough to make sure that they pass a bill that they drill in Alaska say you may not want to do it. You may not be the right thing to do, but there are these kind of nexuses that happen. The interesting thing in India is that the government itself is promoting heavily open source software. So, MHRD through this ministry initiative that they have taken is actually promoting FOS which is quite something we should be proud about. So, in IIT Bombay the FOSI project focuses on some as some pieces of open source software that we believe we have expertise in and that we believe is useful for everybody else. So, we are looking at the python family that you will encounter during this course. We also conduct workshops we have a lot of training material on SILab and SILab is a directly placement for MATLAB. In addition we are focusing on a bunch of other tools as well small little little smaller efforts on GNU radio comedy which is a mechanism by which you can interface to data acquisition cards is open form which is a CFD simulation tool NG spice latex etc. So, why python? You will be learning a lot of python during this course. So, why do we pick python? Why did not I pick C? Why did not I pick C plus plus? Why did not I pick Java? Why did not I pick a bunch of other tools that are available? It turns out that python is an extremely rich tool kit that allows you to do a lot of diverse tasks rather easily. Many of us in science and engineering need to do numeric and symbolic computing. Python has libraries that let you do numeric and symbolic computing. In addition many people use computer to do things like what MATLAB does. So, what MATLAB does is it provides you an interactive exploratory interface where you can type content interact with your data plot the data and do this live. I mean it is not like you write a program in C compile it run it and get the results, but instead you type a command the results are immediately seen. So, it is like an interactive interpreted environment that lets you do data analysis and visualization. Now, python also provides a set of tools with which you can do the same thing. In addition python is rather easy to interface to C and C plus plus and Fortran tools. It is not like exist there are a huge number of existing tools that are already written in Fortran C and C plus plus. And it makes sense to be able to use these tools rather than rewrite them in a newfangled language. Python allows you to do that. In addition there are interfaces by which you can do parallel computing generate user interfaces write web development applications. So, for example, there are plenty of web frameworks that are written in python and a variety of other tasks. So, the reason we are trying to teach you python is if we teach you this one language there are a variety of tasks that you will be comfortable doing later on. So, this is extremely useful and important. So, here for example, is a picture of some of the kinds of things you can do. So, here is a little interactive interpreter. So, there is an interactive interpreter here. So, this is like a shell probably not that clear a plot that you can make with it. This is a web based interface called Sage where you can actually type out symbolic and numerical expressions and it will do calculations for you and all of these are built with python. So, I mentioned Sage. Sage is this powerful package again built on top of python which bundles together a huge number of math oriented software mathematics oriented software and it is touted to be a replacement for Mathematica, Maple, Magma and MATLAB itself and it has a very powerful web based interface and again this is built with python. So, we would not be delving into Sage to at all in this course, but the point is these tools are available for people to use. So, here is another example of the kind of things you can do with python. You have an interactive exploratory environment here you can generate user interfaces and visualizations rather easily. So, who uses python? Well the list is very large and this is just a sampling of the kind of lists that we have. There is red hat, Google, Yahoo, there is Blender, there is YouTube. In fact, most of YouTube runs on python. There is IBM, the Los Anamos laboratories and a wide variety of other people who use python. So, if you remember I mentioned that the IIT Bombay group focuses on python and Sylab. So, Sylab is almost a direct replacement for MATLAB. It is not one is to one. It is not like it is not like every single program written for MATLAB will always work with Sylab, but it is an excellent alternative for MATLAB which does most of what you can do with MATLAB can be done with Sylab. It also has a simulink equivalent which is very popular with many people called X cause with which you can build your simulation using blocks. So, it is a block diagram based simulation engine. It has plenty of support for numerical techniques and well researched numerical techniques. In fact, the results for which are equal in accuracy to that produced by MATLAB has good support for signal processing, control systems, hardware and loop simulations, data analysis, regression etcetera. And so Sylab the nice thing about it is you can do things like this. Here is a block diagram based simulation simulink based X cause based simulation the kind of results that you can generate with it. In addition to the MATLAB like friendly interface where you can actually type commands and look at the results immediately. And the nice thing about MATLAB is if about Sylab is if you are already used to using MATLAB unlike Python where you have to learn a new language Sylab is very similar to MATLAB and therefore it is like a drop in replacement. You just try it with Sylab most often it will work. So, these slides that I have been talking about up to now are available. We have uploaded them so you can all see them at your leisure. I will continue with why Sylab. I was explaining to you what the nice features of Sylab are. So, the as I had explained before Sylab gives you plenty of options. You can do matrix operations, control systems, image and video processing, optimization, graph theory and the like all of these can be done with Sylab and therefore it is an excellent replacement for MATLAB. And most often in curriculums you do not use all the features of MATLAB and the features that Sylab provides are almost always sufficient for your needs. Some people have this question about accuracy. Is the accuracy the same as MATLAB is it worse? It turns out that underneath they use the same libraries both MATLAB and Sylab. They both open source it is an open source library called LaPAC and it is a state-of-the-art very well developed rich library and that is what is being used. And so the accuracy there are no such issues of there being poor results with Sylab as compared to MATLAB. So, one can safely use these tools. So, we can also interface hardware to Sylab and there are a variety of options. We are running out short of time. So, I am going to sort of cut down on some of this material. The idea is we have a fair bit of expertise in the IIT Bombay Fossey group in order to both conduct workshops and teach you on the use of Sylab. So, if you are interested you know where to reach us. Sylab is also used widely all over the world. It is developed in France and the French Space Satellite Agency the analog of ISRO actually uses Sylab heavily and extensively. In fact, for all of their simulations they use Sylab internally. So, it is not just a toy or something like that. It is actually a fully featured extremely useful and highly used package. Therefore, you can also use it for your work. So, in Fossey group we have so far been conducting several workshops. We have traveled all over India and try to cover as many places as we can trying to teach people to use Python and to use Sylab. We have more than 45 actually about 70 spoken tutorials that are created in English, which will be soon dubbed into other languages. The idea being that you can learn it in your native language and therefore, learn it much faster more effectively. There is also an online test interface in order to check codes. Therefore, you can take an online test and certify and get some kind of a certificate of being able to program with Sylab or with Python. And these things are some of them are complete. For example, right now we conduct several workshops through spoken tutorials at the end of which you take a test that is taken online. Definitely already done for Pyth for Sylab and for Python. In addition, we help institutes try to migrate their labs to using open source equivalent and also are involved with the virtual labs project, which is an effort in order to create a virtual laboratory which many people from outside the institute that host the actual laboratory can actually view and interact with the experiment. So, all of these are again MHRD sponsored initiative. We also have an interesting textbook companion project. So, if you take any textbook, very often the codes that are used to run these problems are usually given in MATLAB or something else. The idea is we take existing curriculum textbooks, take the examples and convert them to be written using Sylab or Python or any open source equivalent. The idea is it becomes documentation. It shows you given a domain specific field, how do I compute these quantities or how do I use Sylab to do these computations, how do I use Python to do these calculations. So, this serves us in two ways. One is it gives you examples that you can use. Two it becomes documentation for the tool itself. So, the nice thing about this is these are projects which many students can easily contribute. So, we have about 50 textbooks all contributed by various students all over India and it does not require any writing skills or major programming skills. One just needs to know the basics of that particular tool and be able to solve the example problems that are done. This allows us to scale this project in very interesting ways because many students from all over want to do internships. They come down, take up a textbook, complete it and they can effectively do an internship at IIT Bombay this way. So, many of these companions are available for the subjects listed in this slide. So, we are looking for partners from many of your colleges. So, if you know anyone who is good at some other fast tools say R for statistical analysis and they are interested in generating material and spreading such material through courses such as this or through spoken tutorials or conducting workshops, they can contact us and we will try to help them spread this. So, with this I will stop our introductory session on Posse the project and the kind of things we are doing. Obviously, I do not want to elaborate too much about what you can do. One thing that you can contribute as instructors from remote centers is that if you have students who are looking for interesting projects, you can definitely suggest them, suggest to them that they can take up a textbook that is not already been completed and code the examples in open source language and then contribute this to the community. And we have this textbook companion scheme by which the student will actually be given some amount of stipend. An instructor who is going to review the material from the college will also get an honorarium which is a reasonable amount of honorarium and at the end of the project, the good thing is that the material produced will be made open source and made available to everyone. So, it is a big advantage because many people can learn these tools, learn how to use them and you have made your own contribution to this. And it is a very, it has been very rewarding for the many participants who have already participated. So, we encourage you to suggest students to do such a thing and you can also mentor such students yourself. Please remember that we will keep posting assignments that you are supposed to do during the week and submit them on module. Please make sure you are comfortable with using Moodle and using the interface provided there. In order to get both your answers, you have questions, you can always post questions on the forum and you will also have to submit your assignments on a regular basis. To do this, make sure you are comfortable. Please talk to your coordinators. They have gone through the course material once and they are conversant with the material. They will be able to help you to a large extent. They will also be able to help you using Moodle. There is one quotation from a very senior and very respected professor that I always like to share. Ignorance is not a sin, but not revealing your ignorance is a sin. So, if you do not understand something, it is a sin for you to sit in class and not ask the question. Obviously, if it is a trivial question, that is fine. But if it is some question that is serious and you have thought about it and you say, I do not understand this. Or if the instructor is talking to you, he is going too fast or there is a problem or there is some issue that you have, please make sure you raise it. Right now, because the scale of the participants is so large, it may not make sense for you to raise the question directly to me always. At least, you should be notifying your coordinators and the coordinators will be able to help you. And please make sure you do this, because if you lose the link at one point, subsequently you will not be able to follow. It is very important that you make sure that you understand it every step of the way. And remember that you will have tests. We will have regular tests during the weekends and we will have, you make submissions during the week as well. Therefore, if you do not follow, you will be in trouble. So, I suggest that you please take this to heart, that if you are stuck, it is not, there is nothing wrong in asking a question. And we will repeat it as many times as it takes for you to understand. It is very important that you sort of shed your ego a little bit. That is the only way you can learn. The only way you will learn is to know that you do not know many things. I will admit openly that there are some things I do not know. There are many things I do not know. And even in class, there will be certain aspects of things that I will not know the answers to. It is not wrong, because you obviously cannot know everything. There are lots of things we do not know. So, please remember that if you do not understand something, stop, ask, make sure your doubts are clarified to the extent possible. Obviously, if you go on asking questions, make sure that the questions are to the point, because remember there are 900 people involved. And their time is also going when you are asking a question. I am not saying, do not ask a question again. I am trying to make it clear that please make sure you ask questions that are relevant to the material. And make sure you are following the material, because once you miss a point, say he is doing something on functions. And now, he will assume that everybody knows functions and proceed. And if you do not follow it, you will be in trouble, because the subsequent material also you will miss. So, it is better to cut the, cut your losses early and make sure you communicate to your instructors and your coordinators that you did not follow something, so that they can repeat it and help you out. Thank you very much. We hope you enjoy the course. Please do the assignments. It is very important that you do the assignments and put in your hard work. As far as I have clearly mentioned, what you get out of this course is really proportional to what you put into it. So, thank you very much.