 And in the remaining 20 minutes, I want to discuss with you online as to what should be our approach to the common syllabus. But I would request you to look at the website. In fact, I have, so this is my course homepage. The way it is organized is announcements, general information, syllabus, text books, etc. So, look at the textbook. Textbook is by Davidson and Kuhun and there are other references. Pre-requisites, high school mathematics, that is it. Let us go back to lectures and problem sets. All the lectures are here. So, you go to any slide, for example, let us say, slide 17, this is what I showed you yesterday of the analysis of the question paper or that image display and so on. The most important link perhaps is resources. If you click on the resources link, you will see resources, demos and samples. Now, there are tutorials, there are useful links, there are other references and there are old websites. From 2000, Professor Shukumar, 2001, Diwan, 2002, Ramesh, 2003, Pushpak Bhattacharya, 2004 and 2005, Sharach Channan, so this is Sharach Channan's link. There are some interesting idiosyncrasies that we have as teachers. He says, Instructor Sharach Channan, email, do not send email. That is his privilege. He says, I will not respond to email because I have not made such restriction and I get about 80 to 100 emails every day from CS11 students, just one eighth or one tenth of the class. Now, I cannot respond to them. I read all of them though. It does not matter whether I have to work till 4 o'clock in the night but I read every mail. That is a teacher's responsibility. These are the problems of scale. However, if you have this lab page, if you have all the lecture plan, for example, this is his schedule but let us go back to the resources. This has gone to a new page, I think. Let me close. Let me go back here. The online C++ tutorial, the online references and there are three more references which are added. Now, I will tell you the problem. All the resource page has been there from day one of the course. Recently I asked students, how many of you have seen these resources? The answer was hardly 5 to 10 students have gone through all of these. The fact of life is just as teachers do not have time, students also do not have time. An important aspect of our construction and organization of information must be such that minimally what we want every student to go through should be available separately. It should not be lost in general resources page. That is something I have learnt first hand by seeing what happens. There is an information overdose that the net is doing generally, web is doing generally that we are aware of but that it affects my own course I realized only recently when I asked this question. This is absolutely the best organization that the CS101 I have got as a heritage from the previous teachers and I am continuing to use that organization. So schedule for lectures, labs, batches is all autumn semesters announced, how are the batches? What are the lab sessions? Click here to check lab batches. Click here for detailed instruction on lab usage. So there are the detailed instructions. Now we generally do not have such instructions consolidated at a single place and made available. Typically in our colleges we will issue either Xerox sheets to people for instructions or we will tell them verbally. I would suggest that using a local area network and using Moodle or such course page should reduce your involvement on answering the same question for different students to a great extent. There are, if you look at the labs for example, so these are the lab assignments and there is some extra material to be done. So currently this lab is going on so you can look at the lab statement for example. It is worthwhile looking at a typical lab statement here. This lab is about handling large volumes of data involving character data type. So as I said and this is immediately fresh in their mind is their mid-sem exam. So they have given their mid-sem exam and I am saying that the spreadsheet is used to collect their mid-semester marks. And this data is then exported to a special text file of the type CSV. Note that they do not know these things, comma separated values. One line contains data for one student various fields are these. So serial number, this is a running sequence number, role number, name, a string of up to 39 characters. This may have leading or trailing banks. Lab batch, two characters may have leading trailing banks. Marks, normally a value between 0 and 45. The value may have been entered either as an integer or as a decimal number. As a special case students who were absent have been shown to have negative marks. This data, some sample comma separated records are shown below. Now this is the data file. I do not know whether you can read this. Let me, let me. Whatever. Now the purpose of showing this is as can be seen, blank fields are indicated by consecutive comma. So you see this fellow does not have a name. This fellow does not have a batch. Now why this assignment I have said is I want to emphasize that when you want to handle values by a program, you normally assume that values are supplied correctly and you are handling. But in any real life situation involving large amount of data this will not up. So they have to be told that there has to be some special consideration in your program to take care of such missing value. So they have given these values and then they are told that as can be seen blank fields are indicated by consecutive commas. So make reasonable assumptions as to what you are doing to handle missing data and state these. I expect the better students to say this student's batch is missing. Please do something. Because he knows he cannot set a batch by default. But giving warning message, error message, then I give them the task. Task 1, declare appropriate arrays, read data, count the total number of students, find the average marks. Task 2, sort the data in descending order of marks code, print the roll numbers, names and lab batch codes and marks for top 10 scholars. And task 3 which is to be submitted, extend your program to calculate the batch wise made same and print the report listing for each batch, batch code, number of students and average marks for the batch. So this is one lab. They are not required to submit in that lab itself. They can submit up to end of next week. So their last submission date is for them is for Monday. But every time they come here, they will experiment, do something, go back home, write some papers and they can upload it from their hostel or wherever in the moodle. What if they copy? Well, if they copy, they will get a fail grade. If the copy is caught, it does not prevent people from copying. I am still struggling to find out what to do. So I am making an announcement that this is something I am trying. I am sharing with you. I will perhaps report back to you whether my trick worked or not. I am going to make an announcement this Monday lecture that we have discovered large scale copying case. I will tell you how people do these things. In lab assignment, whenever you log in, you go to your own login ID. So there is some directory, whatever, whatever, slash your roll number. And then you get a dollar symbol. That is the way. And here you are supposed to compile your program, edit, store, etc. And finally, you make a tar file and submit it. However, if you just say cd dot dot, you go to this directory. And this directory has directories of all the students. Now within that, you choose any student who is a brighter one. Go to his directory, find out what files he has, cut and paste them and submit them. This we did not realize. We had not set the file permissions appropriately. Consequently, anybody can read anybody's program. So this is what I call the second mover's advantage. The first mover has actually done the assignment, submitted something. The second mover simply comes in who has done the best assignment, copies and submits it. So the announcement I am going to make on Monday is that we understand that there has been unfortunately a large scale copying. As announced at the beginning of the course, all such students are to be awarded fail grade. We have asked our TAs to use some automatic means for all the submissions made so far to compare them and come out with the people who have such copying instances. After they finish their work, all the students will be given F grade. Since we do not know who is the original author, we will request the original authors after we'll publish who are the people who are being given fail grades. The original authors must come to us and convince us that they have written this. All others will get fail grade. However, since this might be too harsh, people are being given a chance. If within the next five days, all those students who have copied any portion of the assignment on their own, immediately confess to their last TA in writing that they have inadvertently copied such and such assignment. And if that information tallies with what we discover, instead of awarding fail grade, we will reduce some marks from the assignment. Why I'm raising this is, I want to know what is your reaction? How do you think students will react if I make such an announcement? 50% success rate can be expected. 50%? My opinion. Yes, the problem is I cannot give empty threads. So if only 50% people agree that they have copied and assume that about 30% people have copied, then what you are saying is only 15% will admit. But that means the remaining 15%, which I will locate definitely, will have to be given fail grade. I will have no option. And please note that IIT system permits me to give them a fail grade even before they have completed the course. Because I have made that announcement formally at the beginning of the class, at the beginning of the class. Now my dilemma is most of the teachers in our colleges do not have such option. For copying in an assignment, I don't think any university will permit an F grade to be given. I don't know. Probably the student can be expelled from the college. But you can't give a fail grade. I don't know how it is handled. Now, this is the dilemma that a teacher has. I don't want to waste our time discussing this further. But I want you to also tell us about the mechanisms that are used at your place. Because we must discourage people to put their own world without geopolitizing their career or without actually giving them too much punishment. There is no single solution to this. I'll be glad to hear what your solutions are. Let's go back to our discussion. So this is just a sample thing. You can actually see that there are assignments of this type everywhere. But in general, you will agree that many of you would be organizing your course material on home pages like that. And why I demonstrated this is I would like to learn from you what different methods that you use to organize the subject home page. And I think there could be a lot of mutual learning. You can take something from here and we can take something from whatever you are doing. But you would agree that together, we should try to define a subject home page structure which we should make available to every participating teacher to be used at his or her college with ready made components, ready made spreadsheets, ready made resources, ready made lecture, whatever. Do you think this will be useful? Yes. No, I will tell you, for example, setting up of designing my own lecture slides. You will notice that in this slides that I showed, I have shown many slides curtsy Professor Sonia, many slides curtsy, Professor Ranade, yesterday's thing slides curtsy Wikipedia. Now, this permits me to do that. This is because these people have put their work in public domain. If it is copyright so and so, you know, you see these books. You can use these slides provided, you don't make a copy, you don't print, you don't do this, you don't do that, et cetera, et cetera. If you want to do any one of these, take my permission. Now, how do we expect 150,000 teachers to take permission individually from Kuhun? That is the reason why we are saying that no matter what, we shall be releasing all the content that we assemble in open source under creative commerce laws. No questions asked. That is because we want, let people use it. The worry that some of my colleagues share is that, what if some people make commercial use of it? I'll let them. Knowledge has been used for commercial purposes, which has not been created by me. That is normal. But anyway, this is a ideological question. We will not get into it. Finally, we are also growing because so many other people have put it on the net. Actually, I'll tell you, amongst all the social components of a society, teachers understand the importance of open source better than most others. But there are many others also who are understanding that. The open source software movement is well known. It is not so much in other engineering disciplines as it is in the computer science or IT field. But we want to use this opportunity to extend it. So, coming back to this common syllabus then, I just want to share some ideas on how do we evolve this, because this is what we had done in the last workshop as well. Firstly, the subject which is taught of computer programming is unfortunately not taught as a single subject. But many colleges have two subjects in two different semesters. Typically, I have seen one is a C programming and the other is C++ programming or one is C programming and the other is Java programming. So, this is typically paper one and this is typically paper two. Can I take it that in majority of the institutions, the organization will be like this or three papers? So, this is a second organization. So, this is organization one, this is organization two. Unfortunately, nowhere there I have found a subject which says programming principles. You have it. We have a separate subject like PPL, principle of programming languages. Under that, we cover prologue and C++. That's a completely different subject. Principles of programming languages is not a first year course for all disciplines. That's what I wanted. It's only for CS. Java also I think is not for first years in the universities where it is there. You see, we are so used to calling things by names of programming languages that we intuitively say Java is also not meant for non-computer science tools. There is absolutely no reason why non-computer science tools cannot use Java. It is just that the Java programming as a mechanism of programming is used only for computer science students. Frankly, I expect a large number of my students of this course who have not uttered a single word called Java in their life doing this course to be able to become expert Java programmers in tenders flat on their own. If they can't, I have not taught them programming well. Now, this should be the extent of confidence that our teacher should feel while teaching the first course. That is an ideal. How much we approach is a question. Now, here is a point. Our course as you saw is a composite course on both of these. You would agree that today if I have to teach paper one exclusively using constructs in C programming language which is by far a very detailed language and therefore I have to start with things like null terminated strings, f print f, things which are not at all easy to understand. Is that a good thing that we are doing? But that's a question that even if teachers answer negatively saying no, we are not doing good thing, they may not be able to do anything about it. If they have to teach it, means they have to teach it. Here is my suggestion. We will put together the entire course that we teach at IIT Bombay along with the resource page, expose it to everyone saying this is the general background available. However, and this is how we will conduct our training for teachers because thousand teachers also need to understand programming better. You will agree you would have seen surrounding colleges to your own place. Whether it is Suratkal, there are colleges near what Nitte and there are at least 15, 20 engineering colleges there. This is true about area surrounding Skoemtur. This is true around area surrounding Kanchipuram. This is true about area surrounding Pune, whatever, whatever. And the fact of life is that many of the teachers who teach programming unfortunately are not themselves good programmers. It is natural to happen because after all many of them did not want to become teachers, they wanted some job, they did not get some job so they have come as teachers. Their commitment is limited and they are probably looking for an opportunity to leave this. So when the commitment to teaching is limited, you cannot expect them that if we assign them teaching programming as their task then they will spend midnight oil burning to write some programs and do something. So therefore this is an opportunity. There are of course some people who will be excellent programmers. For them it will be revision. But the proposal that I have is for the first 6 days of the course of 15 day course or even up to 10 days. By the way, the 15 day program is not a 2 week laser program Monday through Friday, holidays for marketing on Saturday, Sunday, etc. These 15 days means first day, 8.30 they start, last day 6.30 they leave. There is no shoot-tea, no leave, no nothing. It is a hard program. If we want to do a relaxed program of the kind, we should run a 3 week program. Now assembling people for 3 weeks I thought will be more difficult than assembling people for 2 weeks. Because we want to do this for up to 15 core courses in engineering across next 3 years. So you can have only 15 days, 15 days in December twice and 15 days, 15 days say 3 or 4 times in summer. You cannot have 3 week kind of thing. That is some thought process I would like to get feedback from you. But as far as the common course is concerned, my suggestion is for 10 days we will teach them programming the way a composite course will teach. So we will give them exactly the same kind of lab assignments, exercises that we do for a composite course. In the last 5 days we will tell them that the lecture material that has been collected here plus the additional lectures which are already ready. This plus this can be used for paper one and this plus this can be used for paper and they can use this material so that quiz questions and other things that we ask. We will ask in the context of a common course but we will tell them that this partition will make the material ready for a course in C and this partition will make the material ready and useful for the second course. Do you think this is a better approach? Because by this approach we will be also emphasizing to our 1000 teacher colleagues that look our ambition is to teach people programming rather than this particular language or that particular language. Can we look for problem solving over here before getting to a programming language? In short what we do here is the problem solving is at the back end. In fact all the questions that you will see or lab exercises they are always about a problem. A problem is stated and they have to write a program but we do not have the notion of an algorithm development as a separate notion here. Because I have seen the syllabi that the previous coordinators have shared. What is the thing is we have some students do not have the max background. Yes. So they are lagging in the case of computation. Correct. So that is why I feel to have this problem solving where they can learn to compute how it has happened over there. This is a good suggestion. Let me write it down because this will get recorded on the screen. So I will just mention suggestions. One, I will call it a prelude on problem solving. Is that right? Yes. What could be the duration of this prelude? So normally maximum 10 lectures. Here is the problem. For a limited two week program where we engage these thousand teachers it will be impossible to conduct this. However we have said we are setting up a collaborative mechanism. Now in case you or other coordinators are willing to do this. No, no, no. I am talking about not to the teachers. In the angle of students the teacher is going to teach. But teachers are going to teach. But we have to prepare material for those teachers to use. Okay. And we have to tell them that we have such ready made material. So normally engineers will be the teachers. So they know the background of mathematics and all. The thing is the new coming to the college the student is according to the student I expect only am asking it. We usually have such courses. For example we do that when defense officers come to join our MTech program. They have forgotten their maths because they have done engineering degree 10 years, 15 years, 12 years ago. So we do a preparatory course. I have conducted several such preparatory courses. What you are talking about is essentially a preparatory course of this kind. Of course. Now should we take the responsibility of creating such a preparatory course on ourselves when our primary ambition is to create the collaborative content for this course or should we say we identify this as an important issue but we leave it to the mission saying please engage another mechanism to prepare this preparatory course. Once that material is developed we will be glad to announce it on the web portal that there is a preparatory course available. Could you help us because you seem to have some thoughts on this. Is there somebody either you are your colleagues who have run such preparatory problem solving course in your place? No normally we have in the part of mathematics we have this. Part of maths you have. Yes. I would request all colleagues here to go back and examine whether either they have done something similar or their colleagues have done something similar. But we would be very glad to provide our infrastructure for recording of these 10 lectures. If somebody comes up with a plan that these are the syllabus these are the problems that we would like to illustrate and we would like these lectures to be recorded audiovisual recorded. These are the script, these are the problems, they are the solution accompanied by the text material. If somebody is ready with that we will be very glad to invite such proposal people as a part of this mission. We will bear all their expenses. We will keep them here in our guest house. 10 lectures will hardly mean they can be covered in about 4 or 5 days time. So one week outing on your part somebody during the time when our recording facility is free we will put that and we will put the entire assemblage after editing with of course the credits given to those who make that thing along with the project in open source. Of course. That's perfectly fine. And by the way this offer is open for any additional thing that you would like to make. No issues. Another thing we can do is why some problem solving mechanisms can be we can incorporate in the programming itself. While programming is start I think these things can be incorporated. Is that right? Incorporate problem solving in the subject syllabus itself. Actually I will tell you intuitively all of us who teach programming will be necessarily doing this without consciously calling it problem solving. We know for example that without that proper understanding of programming will not develop but what I am glad is that it is coming out as a area which should be focused explicitly. We perhaps do not say that this part of my lecture is problem solving or something like that. You would have heard professor Ranadeh saying that he always starts a lecture by saying this is the problem we are solving and then incidentally introduces this. I have tried to invite that philosophy not necessarily always succeed but perhaps together we can do this. So if you have any suggestions on this. Here is my request then. My own course will go on up to whatever middle of November. And I will be busy making those lecture slides etc. And as I said by and large for the first 8 or 10 days I propose in that last workshop to conduct the course roughly in a similar fashion. Very hard type thing with actual online quizzes conducted using those clickers. So I will dispatch about 30 40 clickers to each one of you. Whatever be the number of registration and whatever and then we will conduct this. But in the last 5 days we would like to expose teachers to doing this bifurcation. Let us go back to the previous slide. That is we should have material ready which will extend the paper one in further details and which will extend the paper to in further details. Our first course does not emphasize object oriented programming concepts to the extent that a full-fledged object oriented programming understanding is developed. We do not for example handle template libraries. We do not handle all that what Professor Ranade explained yesterday. And it is my guess that even though you might have a paper on paper to C++ I doubt whether you would be able to do the complete C++ coverage as is envisaged in a C++ is two Baroque language, two bigger language. Only comparable thing I find is PL1. Those of you have heard of that. Too much of a language. So I would like to know from you the actual limit up to which the C++ concepts are covered. You might ask a question what is inheritance. But are you able to demonstrate through either the project or some problems very clearly where inheritance is working? If we are not then they will like a parrot they will say inheritance means this. That is my worry. Of course if that is required to be done by the university so be it. But I think we should be consciously aware of the limitations. In short I am saying that the composite common syllabus for the thousand teachers workshop let it be a common syllabus which is a composition of these two. But designed such that even in a single lecture I should be able to identify this portion is not to be covered if I am teaching this as part of C. And this portion is to be extended if I am teaching it part of this. Designing modules out of these lectures is going to be the biggest challenge. I had talked to Dr. Baras who comes from Rice University. I do not know whether you have seen this site. This is an extremely important site and I would suggest all of you should see this. This site is called Connections. They have some audiovisual contents but most of the contents are text contents. And what they have are modules on teaching or modules of explanation. So they will have some module on let's say link place some module on something else whatever whatever. Each module is submitted by a different individual. And the best story I have heard is that one person was in Malaysia. He was requested to give a course to some 50 students on a particular topic. And he says I had about 10 days to get the course material ready. I used the connection site. I identified those 20 or 10 or 5 or whatever modules that I required. I wrote a few of my own and then there is a mechanism in the connection site where a book is automatically created out of your selected modules. And there is a publisher to whom the whole content goes in a digital file and the publisher could actually print 60 copies for the 60 participants. In Malaysia they were delivered and every participant for the course had a printed copy of a textbook created for that course specially. It's like a customized book. And the books are edited by the person who was giving the course and individual modules created by the original names. All the original names are here. The beautiful modular design of learning material is the best example. Each one of you can create a book by the way in your own name. But you have to give credit to everybody who wrote those. Now the challenge here is can we define our syllabus, the common syllabus, not in terms of the modules that the university system has defined but in terms of teaching modules. So we typically have our minimal division as one hour or one lecture hour. Instantly our hour is 55 minutes. Is that so in most of your colleges or it is sometimes less? 50 minutes. 50 or 55 or 60. So 55 is a good median, whatever. Now can we make that 55 minutes into smaller modules? Can we make it into let us say 4 modules of 12 minutes each? Sorry, 4 modules of 12 to 15 minutes each. The idea is that at the end of every module I have a quiz. This is for the purpose of teacher's program and if they wish they can conduct similar quizzes later. The idea is that if I have so much of modularity then barring a large problem which I am solving where all the modules must be successfully dealt with I should be able to pick out modules separately. Secondly, individuals such as you and other teachers can augment those modules by giving more examples or something like that. The idea is people should be able to use these slides as they are by adding more slides of their own. All that they need to do is they should say some of these slides are from this place. Do you think that will help such a modular design or approach? Or we should keep one lecture as a module because lecture is coherent. I think our answer, I came to the same answer by the way. I have been struggling with myself to find out whether that answer comes from the fact that for 40 years I have been measuring a unit of time as one hour or because it comes from the fact that one hour is a genuine definition of a teaching module. I am not convinced that the second answer is true. Please examine this again. I have a feeling that modularization can be done. Further modularization. To what impact may not be everywhere but I will tell you another reason which Dr. Barras told me. Dr. Barras is the creator of this connection site. He told me that designing something in a larger context like one hour lecture or two hour lecture or 30 hour syllabus and then trying to modularize it is impossible. If you want to design modularized contents then you must add the beginning design on the module. That is one. Second observation from another aspect just like children have an attention span about a minute. You will notice therefore almost all advertisements are less than one minute. Similarly the attention span of elders is also limited. I have a 10 minute module and a 2 minute quiz. Now whether I extend the same module in the next module or I completely switch over the attention span starts afresh. A quiz actually works as a break point. Just like a commercial advertisement works as a break point. The quiz actually works as a break point. Now this could perhaps significantly enhance the quality of learning teaching that happens in the class. This is my feeling. We do not know. We do not have first-hand experience. May be let us not have five break points. Twenty, twenty minutes, three break points initially. Because ten, five break points will be little difficult. Every ten minutes breaking is very easy in design. You are not breaking. Your slides do not break at all. Your slides just as if you see my slide. This person is in a quiz. The quiz pops up automatically. After the quiz also there is no break. The next point starts. The break is only a mental break which we are perceiving to have been introduced because of the quiz. Any lecture will necessarily be a composition of some four or five modules. The advantage of a ten minute module is that if an individual teacher wishes to add two slides or expand an example or replace one example with another which may take three more minutes, the teacher has a choice of reducing four units into three units but doing a more elaborate. Let us call it a soft break. It is not a hard break. But from a design perspective the modules have to be separate. Now then there is a issue of how exactly these modules should be classified, what should be the nomenclature and what should be the style of slides which we make. You will agree that the slides that we make have several things hard coded. For example the slides which I am showing here CS 101 lecture two introduction to computing. Now this is hard coded. Dr. Deepak Phatak, hard coded. Slide number, hard coded. Slide number can change when I edit the slide but in order to change this I will have to do a lot of changes. Slide is organized which has IIT Bombay logo. The background color, the color of the font, the size of the font, the placement etc. In fact we have been asked not to extend. If you look at this, this boundary is considered the maximum and we are supposed to keep it up to here because what they do in live transmission when they use picture in picture they will generally put a teacher's picture in picture here because otherwise when the slide is visible the teacher is not visible. Please understand the fundamental difference between distance education and physical proximity. In this classroom you can see me and you can see this slide. You of course don't see both slimes simultaneously but your eyes will flicker and whenever I am speaking you may tend to look at me. Whenever I am speaking about a point you will tend to look at it. This great choice is not available to people in the remote centers. So that is why they use picture in picture for which the slides have been designed in a particular way. But our slides which we are designing for public consumption they need not presume this. They can be of the type which can be used by people directly. So these are some of the issues which associated with the common syllabus I would like your thoughts on. And my request is over the next two days because we have a session in the concluding day for the action agenda. If along with your presentations you can also paint your own thoughts and you can use these machines to meld them to me but additionally we can quickly share them in the gist in the last day that will help us create the appropriate component. This is the first time such an exercise is being done. So for the remaining courses we are following this up with I think thermodynamics there is another course on I mean they are almost all core engineering courses and I think all the teachers and other teachers like you for those subjects which they will come here eventually will benefit a lot by some of these design criteria. So that is why your help is most solicited.