 So, good morning, what we will do is we will begin with a small introduction as you must have already seen the introduction to the program, which has been uploaded on the web on our FASI.insight. We will begin with a quick introduction about FASI itself about this course. We will also make a few announcements initially and then get on with the actual course. The general outline is we would like the coordinators to be at a position where they can guide several students at their respective centres and at the end of the training program, the coordinators will be able to attend the full sessions that will be held on every weekend in the month of November and at that time the coordinators will be expected to actually help their colleagues in their respective universities. Therefore, it is important that the coordinators at this stage are able to actually go through the material and do it well. So, the aim of this introduction is to first get you started, give you some sense of perspective as to who we are, what we want to do, what this course aims to do and what as FASI we have been doing thus far. So, my name is Prabhu Ramachandran. I am one of the PIs for the FASI project. My colleague, Professor Madhu Belour will join us shortly. He is here. He will take most of the lectures today and you will be seeing a lot of him today. You will be seeing a lot more of me tomorrow. And both of us are faculty members at IIT Bombay. We have been using free and open source tools for many years now. And what we are trying to do is to spread the adoption of free and open source software in the engineering and science curriculum. The fact remains that a large number of people continue to use commercial packages to do most of their computation and this is a big problem all over India and all over the world at some level. So, this project FASI is basically about spreading the adoption of free and open source software in science and engineering education. And as part of that we are starting this course where we would like you professors to be able to teach what we think are fundamentally important things that many students in the engineering and science curriculum should be doing. And this is very important because if you take the average science engineering student there is a lot of computation that they should be able to do. But unfortunately many of them are unable to do because of A the way they are taught and because of very little emphasis on computational work. And as we all know computational work is extremely important today. Almost everyone whether there be scientists or not has to use a computer. And what we are trying to teach is a good set of tools with which people can use the computer effectively to do their computation. And this course aims to do this. So, before we move on a quick outline of this session itself I will first make a few announcements which are crucial to this course. And then I will get back to the topic of FASI itself and explain as to what we have done so far what we do and how we believe this course will benefit you. The first thing is some of you have not taken the Moodle test. I think 10 people so far have taken the Moodle test. And the average scores of the people who have taken there is pretty good. It is reasonable, it is about 5 and a half percent which we are reasonably pleased with. But there needs to be improvement on that. But as regards the remaining 13 people who have not taken the test the news is not very good. The problem is without attending the test there is no mechanism for us to assess or for you to assess the fact that you can actually handle the classes that you will have to handle. And you will have to answer questions you will have to be fairly comfortable with the material. And unfortunately this will not be possible if you do not take the test. So, we are taking a very strong stance on the test that you will have to take. We will give you one more chance and only one more chance between 11 to 1130 there is a tea break. By that time or during that time or by that time it is up to you. If you have not taken the test you will be debarred from attending the course further. And there will be no change in this policy whatsoever. No special considerations of any kind will be admitted in this case. Because we had asked you to register a long time ago and we had asked you to read up all of the material has been made available and what we are asking is not very difficult. And the questions are themselves very simple it will hardly take you 10 minutes if you are comfortable with the material. And even if you do not do well it is ok. Because then we will have some reasonable idea of what the audience is. Then we will know what to cover what not to cover. And then again it is only a reflection of how hard you have worked. So, you should not take the test personally in this initial case. But it is important that you do take the case. Because if you do not take the case by 1130 you will not be allowed to attend the course. So, kindly even during the tea break by all means feel free to take down to attempt to take the test on model it is available on model. In similar fashion we will have another test today evening. And in this case since you are all on A view so most of you will be forced to take the test. We urge you to take this test very seriously. Because it gives us immediate feedback as to how well you have followed the material and who needs help. We have also set up a structure by when you can ask questions on model. There is a news there is a chat forum there is a news forum. We will try to make ourselves available every day I believe Srikant Patnaik is available after 3 o'clock. So, 3 o'clock onwards 3 to 4 every day Srikant Patnaik is available to answer your questions on the model chat forum. So, you can ask him questions every day. So, I urge you to take make good use of this of this facility that we are providing you. So, we will have a test again today evening and tomorrow morning. So, today evening's test will be quick will be about 5 to 10 minutes. Tomorrow we will have a longer test for about 20 minutes maybe half an hour. And that will be a review of all of the material we have done today. Therefore, you are expected to go back and quickly review the material that you have learnt so far. It will not be unduly hard or difficult, but it will involve effort. So, I urge you to pay attention today if you have questions please ask them. Tomorrow morning after the test we will be covering python. And then tomorrow evening we will have again a quick test maybe 10 minutes or 15 minutes. And on Tuesday again we will have a test on model that you can take any time of your convenience and completed by Tuesday. And if again you do not do that it reflects very badly and we will have may have to consider not continuing you in the program. Please understand that we are not trying to make your life difficult. We are just trying to make sure that you are able to follow the material there is no other mechanism for us to assess. And these tests are not too difficult. So, therefore, please try to attend. So, moving on let us get back to the agenda on hand. We will now get back to what FOSI is all about. Basically the FOSI project is funded by the National Mission on Education through ICT which is an MHRD funded project. And the IIT Bombay group is focusing on three on actually two major packages. One is python, the second is Sylab and Sage is a package that is written in python. So, we also try to push the adoption of Sage itself. I will get to the details of each of these projects in a bit. What we will do is we will summarize the activities that we have undertaken so far. So, we have some appreciation of the kind of things that we are doing. The sad state of affairs in Indian education is the fact that ICT has not been used as well as it could be. And many of the projects including the one that we currently have, many of the projects that we currently have now with the new National Mission on Education are striving very hard to achieve this. One of the projects is the one that is hosting this entire program itself which is again funded by NME, ICT, MHRD. So, FOSI is one more project among the various projects that are funded by the NME, ICT. And the mission has been in action since 2009. And FOSI also submitted the proposal in 2009 and we have been active for the last two years. So, as I had explained, the FOSI project is funded by NME, ICT. The PIs for this project are Professor Madhu Bailur who you will see shortly, Professor Kannan Maudgulya from Chemical Engineering. You may get to see him one of these days. Definitely you will see him when you come to IIT Bombay two weeks from now, Prasamani Bhushan from Chemical Engineering as well and myself from Aerospace Engineering. So, the objective of our project is to minimize the use of free of commercial packages and proprietary packages in the curriculum. So, most of you must have used say MATLAB or say Mathematica or anything similar package in your respective domain in order to do computation. For example, if you are teaching a course in C, very likely many people will be using turbo C to teach the course and that is commercial package. The difficulty with many of these commercial packages, they are extremely expensive. So, with the use of FOS packages, users can see modify the source code. They can redistribute and improve in the sense that if you are a researcher or a student, it helps to be able to look underneath and to figure out what is going on rather than just use it as an appliance. Therefore, we believe that for students this is an excellent initiative to take and use free and open source software. The other issue about commercial packages is if you are a small company, you cannot afford commercial packages because commercial packages can be extremely expensive. So, as far as teaching using commercial packages, the analogy is like it is similar to an MBBS doctor being taught to prescribe medicine only from one company. So, the point of education is not to teach people to use just one specific tool. It is to teach them how they can find for themselves. How can they use tools that allow them to do a lot more and allow them to use the tool completely in context that they find useful and not just context where the company finds it useful. So, if you are looking at MATLAB, it costs about I believe 2 crores or of the order of 2 crores in order to make such to use the software fully. So, if you are a private company as this slide is saying, the MATLAB license costs about 2 crores and so in companies like Wipro, they will have one license and imagine a company of the size of Wipro and they reserve 1 hour slots in advance in order to run or they will have a few number of licenses because no company can afford that much money. Therefore, it is important that our students learn free and open source equivalents and be able to use that. So, as an institution, if you are using a free and open source tool, you do not have to worry about piracy checks. Whereas, if you are using a commercial tool, it is a lot harder and you could be subject to difficulties if your institute is using commercial tools. The other nice thing about using FOSS is anything that is being used as part of the FOSS tool can be used later by the student at any point. So, if imagine if you have a student who can only answer questions inside the classroom, it does not make sense. Whereas, if you have given a commercial to a free and open source tool, the student can take his exercises home, he can work on it at home, solve it, take it, distribute it to its friends and spread, teach the material to other people. All of this is possible if he starts using a free and open source tool. So, clearly this is a big advantage in many respects. So, at IIT Bombay, there are as I explained two major focuses that is the Python family and the SyLab family. In addition, there are several other smaller initiatives where they are looking at things like new radio, comedy drivers to interface to A to D cards, the use of open form for CFD, use of spice in electrical engineering and the use of latex to produce documents. So, as regards Python, Python is a tool that you will be learning in past part of this course. We will be teaching you basic and advanced Python and the nice thing about Python is that it is a very general purpose language. It is capable of performing a variety of different serving for a variety of different needs. Primarily as far as students are concerned in engineering and science curriculum, it is very good at numerical and symbolic computing. So, there are several packages that allow you to do such calculation. And in addition to that, it provides what is called an interactive interpreter that you will be seeing over the next few days. And as part of this, you can actually do exploration and visualization of two of data and algorithms interactively. And this is extremely important when you are doing actual research or useful work with the computer. I will demonstrate several of these tomorrow, but the point is Python is a toolkit for diversity. It allows you to do great many things like numeric symbolic computation, exploration, high performance computing, parallel computing, user can build user interfaces, you can build web frameworks, you can generate web pages and a whole variety of other tasks. So, it is a general purpose toolkit. So, if you have looked at something like MATLAB, it is designed specifically to do numerical computation. And only that, it is not a general purpose programming language, whereas Python is a general purpose programming language. Therefore, we believe that if you are a student, it really helps that you know a general purpose toolkit. There is no point in giving you just a tool that does one thing. Instead, we would like to give you a tool that does many things, so that you learn one tool and you are able to do a lot more. So, here is a simple screenshot of the some of the kinds of things you can do in numerics and symbolics and present a web interface. All of these are Python based tools. I will not get into this, because we will be doing a lot of this later. Sage is another package which allows you to which is kind of replacement of Mathematica, Maple and Magma and Sage is actually implemented in Python. A large part of Sage actually runs on Python itself. In addition, you can do a lot of visualization and interactive data exploration. So, here is a little shell on which I can type commands and I can visualize data here and you can create a nice user interface for it. So, who uses Python? Well, a huge number of people use Python. All of the companies for whose the logos are shown use Python heavily inside their companies. So, it is actually as I said earlier, this basically emphasizes the fact that Python is a general purpose language. Psylab on the other hand is a direct replacement for MATLAB. So, if you are used to using MATLAB and you want to switch immediately, Psylab would be an excellent choice to use. Psylab also you has something called XCOS, which is a Simulink equivalent, which many other open source MATLAB equivalents do not have. And for those of you do not know what Simulink is, it is basically a block diagram based simulation. So, you can create these little blocks, connect them and it will simulate a particular scenario that you are trying to simulate. And it is something that is very popular and used a lot. It also lets you do numerical methods of various kinds, signal processing, control systems, hardware and loop simulation, data analysis and regression. And Prasamadhu Bailur is actually the one of the main people behind the Psylab efforts in the Fawzi project. So, I will just hand it over to Prasamadhu Bailur, who is a PI of the Fawzi project and he is actively involved in the Psylab parts of this project. Good morning everyone. I am the other person who will help with the software and software development techniques for engineers and scientists course. Today is what I will cover. Only initial part is where Prabhu and I are doing it together about the introduction. So, as I said the Psylab aspect is more that I look into along with my colleagues Karnan Murgalia and Mani Bhushan. So, Psylab is a perfect replacement for MATLAB. MATLAB is extremely commonly used across Indian colleges. It is a pity that so much money is spent on MATLAB licenses in academia and much more money is spent by research institutions, by corporate world. So, Psylab we are popularizing because it is a perfect replacement for MATLAB. So, let me go over the slides about the capabilities a little fast. Let me tell you the slides will be put up on Moodle. Hence, no need to spend time on taking down nodes. Also that will help us do this introduction faster. So, these are for example, capabilities of Psylab. This is about X-Cos, which Prabhu Ramchandran talked about. This is a block diagram simulation. These are some plots that one can generate. This particular X-Cos file is there in inside demonstration for the Lorentz model. These are some of the capabilities of Psylab. As far as accuracy is concerned, it is commonly believed that MATLAB is more accurate than Psylab. So, this is really wrong. The two accuracies are exactly the same. That is because since 10 years MATLAB also uses a particular state-of-the-art routine called LAPAC. These are state-of-the-art routines for all numerical linear algebra. So, because MATLAB and Psylab both use LAPAC, the precision, the machine precision is exactly the same. In fact, there are certain state-of-the-art codes that are accessible only to FOSS packages because of the particular licensing involved. So, more recently Psylab's capabilities for accessing hardware has improved by 10 times, I should say, because of its compatibility with many other open-source hardware interface systems. To give an example, like we have ISRO here in India, there is CNES. This is the French Space Satellite Agency. Their entire simulation, calculation, controller design, all the calculations are done only using Psylab. This particular aspect is explained in a particular presentation that one Martin Thierre, a presentation that he gave in a conference on Psylab users forum. So, that particular presentation is also available at this particular link. Some of some few sites about our activities so far. So, we have connected more than 50 workshops across India. The workshop conduct has become easier because of many spoken tutorials that we have developed. We have developed 46 so far in English. Many of them have been dubbed to various other languages. One of our recent activities is something called lab migration. Any lab, any computation laboratory where you are using proprietary packages, we will help you to shift to open-source packages. For example, if you are using MATLAB in a particular lab, we strongly encourage you to shift to Psylab and we will provide the support for that purpose. A very successful activity we have begun is something called textbook companion. So, textbook companion is companion to a textbook. It contains all codes in any FOSS package for all the solved examples in that book. It is like a documentation for that particular book and also documentation for the FOSS package itself. So, we have completed 51 so far and many more are in the pipeline. Sorry, let me go to the previous slide. I should emphasize that this is one activity that has been done by summer interns. We urge you to recommend us summer interns who will take this activity. All the FOSS package know how we will provide. All the domain specific knowledge is what the teacher in the college provides and each student gets paid 10000 per textbook companion and each teacher gets paid 5000 for their help in this activity, for the domain specific knowledge that they provide in this textbook companion building. These are the various areas that we have done textbook companion for Psylab. There are many areas like this for Python textbook companion also. So, since the site will be available, we will skip the not urgently relevant slides. So, I would like to say that we are looking for partners. We would like to partner with institutions with individuals who will help us propagate the use of FOSS packages. We will also financially support this. That finishes our presentation. If there are any questions about the presentation then please ask us either using the audio or using chat. We are taking up some questions from MES Pillay Institute. Hello. Yeah, yeah, yeah. We can hear you. We want to know that whether the Python can be used to generate the web pages also? Yes, of course. Yes. We can generate the web pages. Web pages can be designed, can be developed in Python. Okay. Thank you, sir. Oh, thank you. What can be used for generating web pages? Just a minute. Well, if you are just trying to generate static HTML pages, it is just text. So, it does not really make a difference. You can easily generate the HTML. But if you are looking to do web framework related development, there are plenty of frameworks. There is something called Django, which is something I would recommend. So, it really depends on what you want to do. If it is just HTML, static HTML, that is straightforward. That is easy with Python. You can even do it with a shell script, for example. What is crucial is whether you are developing a web service and things like that. Okay. We have to write the HTML pages. We cannot, we do not have the readymade tools for creating your HTML pages. No, no, no. So, Python is a programming language which is going to allow you to do a lot of things. It is not a HTML editor. HTML editors, there are plenty of HTML editors. So, there are different things. So, I think this is a, we will have, we cannot take this question right now because it is sidetracking into an area which is, which is an area of discussion in itself. So, this, so I would rather not get into the details of that. But the point is it is, it is a lot more, it is a lot more complicated than, yeah, than I can answer right now. Thank you. Can you please introduce yourself? You are from Periyar, Manimai, Tanjavur. I am Samson Yabine, sir. Yes, I have one doubt. Yes. Please. Sir, I am from, I am ID department. Okay. ID department, compute science. Okay. But mostly this Python and the Sylab are scientific purpose. That means that will be mostly used by the trivile persons or mechanical persons. Not Python. Sylab, yes. Yeah, the Sylab is not used by IT people. That is correct. Yes. Okay. Yes. So, your question is, can you? Okay. So, using Python, using Python can we develop our small software like web pages or other things, any application software? Can we develop it? Okay. Yes. So, the answer is you cannot, you can, you can develop small programs. You can also develop very big programs. You can do both. You can do, you can do all kinds of development with Python. Yes. So, another one doubt, from November, we will start that workshop. Yes. Stop number. Yes. Can you include the stop number from trivile, mechanical and... You, in fact, thank you for asking this question. To attend the workshop. Yeah. Thank you for asking the question. That's a good question. We actually want people mainly from trivile, mechanical and other departments to attend this. And IT also. But the idea is we want these people to be able to use it in their work. And we are teaching them, actually, we will be teaching them more software engineering and those kinds of concepts which we think are useful for everybody. Mostly IT people will be aware of it already, but these people will not be aware of it. Therefore, we encourage you to strongly call all of such people in all, in all the institutions. Thank you. Thank you very much. Thank you sir. Thank you. So, this is from... Can you introduce yourself? You are from Shastra University. Hello. I am Sairam from Shastra University. Hello, Sairam from Shastra University. Sairam, okay. Hello, Sairam. Actually, what's the difference between the Python 3.2 version and live Python? What is the difference between Python? Live Python is the DVD that we sent you. Okay. So, 3.2. So, this I will answer tomorrow. Can I answer this question tomorrow when we do Python? It's basically the live Python has a 2.7.1 or 0.2 release and we will be using 2.x for the course purposes for the simple reason that a lot of the scientific packages still run on 2.x. 3.2 is the next version, but many people have not yet migrated. Therefore, we are sticking to 2.7 to keep everybody without having issues with installation and all of those kind of problems. That's all. So, hello. We are switching to NJR Institute of Technology from Udaipur. Could you please introduce yourself? You have a question? Yes. This is to use your area. I want to know like you said like there could be... You are looking for people who can be interested in working in FOS. So, can there be like students, faculty and what type of research projects currently you guys are... So, the first thing is these are not sorry. You can please email us about this. The point is it is these are not research projects. We don't do research on FOS here. What we are doing is trying to spread the adoption of FOS. So, none of us actually publishes papers based on this project. What we are trying to do is we because of our passion for FOS and we believe that this is the right thing to do, we are trying to spread the adoption. So, what it usually works out is we have students from various institutes. So, let's say there is a student in your college. He comes to you and says I would like to do something. You can tell him take this textbook, read, follow these spoken tutorials, learn this. You will also be by the time you will know Python and what we are trying to do and you can train the person and say take these spoken tutorials, learn the material, take this textbook, convert all the solved examples to something. He can come to you for questions and all of that and then he can come here for a week. We will look at the material that he submits for that all that material will be made available. So, this is the textbook project for example. So, for more initiatives like this please write to us. Is there anything else? No, that is it. Thank you. Thank you. So, we are now talking to VIT Vallur. Please introduce yourself and let us know what your question is. Good morning sir. Good morning to you too. Hello. Yes, we can hear you. Good morning. Sir, I am from Tripoli. Yeah, I am Dr. N. Raasekar from Tripoli department sir. Good morning. Dr. Raasekar. Sir, I am new to Python. Will it be an exact equivalent to MATLAB sir? That is in MATLAB we have coding as well as simulink. So, the question is, is Python equivalent to MATLAB? The answer is absolutely no. MATLAB is not a full-fledged programming language. Python is. MATLAB has a very different syntax. Python has certain modules where the syntax can be similar to MATLAB. But Python is a lot more than what MATLAB is. Two, the second question is, does it have something like a simulink equivalent? The answer is no. There is no simulink equivalent. If you are looking explicitly for a simulink equivalent, I would suggest you use psi lab along with x cos. They are direct replacements. So, if you are looking for same syntax from as MATLAB, similar environment as simulink provides, you should try psi lab. That will be your best solution. But the purpose of this course is to… So, psi lab and simulink are easy for you to figure out. It is not very difficult. What we are trying to teach in this course is to teach people what are the best practices for programming like version control, to use latex, to use Python as a general purpose algorithm lighting language, and which extends beyond pure numerics. That is the point that we are trying to achieve here. Whereas psi lab again, we have plenty of free and open source spoken tutorials that you can freely download, learn and use. Does that answer your question? Sir, yes, sir. You have answered my question. So, we are now with VP COE Paramati. Please introduce yourself. Good morning. Good morning, sir. Yes, sir. Good morning. Yes, sir. My name is Professor Padulkar from Vidyaparateshtan College of Engineering. So, my question is, in this first one, using Linux tools, are you going to consider the security concerns as well? We are not going to consider security issues because the only thing we are really going to consider is CH mod, which is not really security, but we are not going into any of those deeper aspects at all because there is not enough time to do all of that. That I believe people can learn by themselves if they want to. Thank you. So, someone has asked the question, Python is used for grid computing. Well, sure, you can. I think there are tools to do grid computing in Python. I have not used them personally, but I have heard of them. So, there are Python bindings for some grid computing libraries. There are also capabilities for parallel computing with Python. So, that is all I think we have for questions. Thank you.