 Now, most of you have done TA duty sometime or the other, are you currently teaching assistants to any course? C.S. Honovan most of you, some others for some other courses, same way the PhD students would have also done TA shift sometime or the other. Today I am going to speak about effective communication while explaining some simple concept to students of an introductory class. Students of an introductory class is an example, but such occasions arise in life many times where people who are not familiar with a particular notion or concept or idea that you have and you are trying to explain it to them and those people do not belong even to the domain that you want to discuss things in. I do not know whether I quoted a hilarious example which happened in 1976 or 77. Some of us teachers had gone to attend the annual convention of Computer Society of India and we are staying in the NCRT guest house where some school teachers from Assam were also there and when they heard that these are professors from IIT Bombay teaching computer science they were keen to know something about computers. A colleague of mine while explaining how fast a computer is gave the following example. He asked one teacher how long it will take you to add two ten digit numbers. So they thought for a second and they said two three seconds are and then in his desire to explain the importance of the speed of computer Professor Bhavashan told them well a computer can add these two numbers a million times in one second. We thought all of them would be impressed they were a bit, but the fellow who had answered two or three seconds thought for a few more seconds and they said sir why would a computer add the same numbers a million times. So you can see that when you explain the words that you use the sentences that you give might convey different meanings to people and therefore you have to be very careful when explaining concepts to people who are not from your domain. So for you the concept may be simple, but for them it is completely foreign. The matter becomes more important when the people that you are explaining to are required to become expert through continuous dialogue such as a class or a course like that. So the example that I have chosen today I must observe my deep sense of satisfaction to see this normally empty hall filled up in the center stage. So thank you very much. So the example that I have chosen for a discussion is as follows. We will do this exercise in two stages. In the first stage I will presume that you are students of CS 101 of course you are not. In fact you know programming far better than a introductory CS 101 student does, but does not matter. For a moment go back to the days when you were students in your mind. I am explaining the simple concept of conditional execution of statement and the example that I have chosen to give to the students is finding out the largest of two given numbers. So I first draw a flow chart of a conditional execution control structure paradise. I say there is a diamond box in which you put a condition. If the condition is true then the statement on the right is executed and if the condition is false then the statement on the left is executed. So of course I should say here for example true the other side being false. Then I say I examine the two numbers a and b. If a is greater than b I assign a to max, otherwise I assign b to max and I come out. The corresponding program would be something like this. I declare the three locations a, b and max. I input the values of a and b. If a is greater than b max is equal to a else max is equal to b I output max. On the other hand I could also use another form of the conditional execution where there is nothing in the S path. So I will explain that this is the possible flow chart where if some condition is true a statement is executed otherwise nothing is done and then you get out. To utilize this structure to solve this problem I say I will assume that the first number is maximum assign it to max. However if b is greater than max then I will reassign b to max. In any case when I come out max will hold the largest number and I will explain this is the program. So far so good. Now the question that I ask my students is this and this is what you have to answer. So in next five minutes you will answer this question. So there are two programs one and two. The question that is being posed is which of the two programs is better and why? Observe that this is a leading question. It forces people to think only in terms of one being better than the other. Both could be bad both could be equally good these are the possibilities that the students might think. Now assume that you are students and you are required to give the reasons that you feel to be stated and the answer that you wish to give for this question. Next five minutes please write your roll number and name on the top and write the answer to this question. Five minutes. You will not take more than five minutes because you are all expert programmers. What is expected at this stage is you put yourself into the minds of your own minds when you were a student. It does not matter you are still students in some sense. So think like how a student would think is been exposed to the conditional execution for the first time. He understands what it means to find out the largest of two given numbers. That much is common sense from the previous. So write down the answer that you would give to this question. The high part is of course more important it requires you to write a few sentences in English. Finish some people are still writing another three minutes for everyone to complete. I hope you are not forgotten to write your roll number and name. Everybody seems to be done one two three four or five people are still writing another two minutes. I am sorry I forgot that I gave you extra three minutes. Those who have already written might want to reflect back on what they have written. And check whether whatever they have written is at least written in correct English or not. So check the language now. First and more important first the concept to be expressed equally important is the language that you use to explain the concept. Okay so now first thing you promise is you will not write anything more on that paper. That paper becomes your preliminary submission but now I want you to do the following. This is the standard part of think, pair, share kind of notion. So people on the same bench either in a single group or multiple groups should discuss with each other the solution that you have written to this problem and convince your neighbors why your solution is right. If all neighbors have written exactly the same reason same choice then it is okay. If it is different discuss this and try to convince each other why your solution is right. So what I suggest is you divide you divide a row into sort of two parts or you can you can discuss in three parts whichever way it does not matter. May I may I request hello may I have your attention please the the discussion is not like the free for all discussion in hostel corridors or hostel. So please murmur don't speak very loudly the decibel level will go up when you discuss amongst yourself hello may I have your attention please you would have discussed as I said initially to convince your neighbors of the correctness of your solution and would have listened to your neighbors but please don't exclude the possibility that this discussion throws up another answer or other reasoning which none of you had thought originally that is also an objective of this discussion go back again for next three minutes alright we will now we will now come to the concluding part of this discussion may I have your attention please enough discussion I hope the people who discussed amongst themselves have reached some conclusion with all members of the group who discussed are aware of that. So let me speculate to my mind there are four possible answers one program one is better two program two is better three both programs are equally good four four programs are equally bad and they lack some obviously you would have considered perhaps not all four but at least two possibilities definitely because that is the direct question but may be somebody has speculated the other so let me now come back to you first I would like to have opinions of those groups which concluded that program one is better can you raise your hands a lot of them ok. So you tell us the reason why in case this is better than in that form. So let me write it in a simple form it is more clearly explains the use of conditional statement because it presents both the cases if as well as explicitly so the for the first time as it more clearly explains the concern. More clearly explains anything else no I am asking the people who claim program one is better. So a program one is better what is the additional part of the program one is better you have to say in respect to the second part what is better. So these two statements cover whatever is better your explanation either I am saying but not able to put properly in the verse but that is okay please think about better wording you might have a point make it in an email later any other thing from this side anybody who thinks part two is better please raise your hands one two three four five here is an important question if I have three variables A B and C and if I want to find out the largest of the three numbers using the first approach I will have to develop a sort of tree if A greater than B then on that side I will again have to check if B greater than C then max is equal to B S max is equal to C and on the other side else again if A is not greater than B then if B is greater than C max is equal to B S max is equal to C try to explain the same calculation using the second approach all that you will have to do is you will have to say max is equal to A if B greater than max max is equal to B if C greater than max max is equal to C try to extend this further to finding out the maximum of four given numbers if you use the first approach how complex will be your tree and how complex will be your program will it remain readable if you try to write it for four variable how long will it take to construct that program and test it correctly at least three to four times more time then writing out in the second manner the way to find maximum so one is easily extended to three or more numbers anything additional that somebody would like to mention. Second is better because for a system or for a hardware if there will be a better to implement a condition than to implement it as condition. He is saying that for hardware it is better to the if then as condition then to implement if then as condition I am not convinced can you tell me which part of the hardware makes it more efficient to implement one kind. Actually it is not extendable but perhaps as a consequence the program would become more readable than extended than extended anything else now the third option both programs are equally good fourth option both programs are equally bad nobody so you are not thinking like the true first year students you are thinking like seniors who have absorbed all programming practices. But if you were a first year student would it not occur to some of you that if a and b both have the same value then what happens in these two cases. In fact if I am a student who has just passed high school and got into this and somebody ask me this question which of the two numbers is larger if both numbers are same the correct logical answer is none of them is larger than the other both are same that is the logically correct answer and if it occurs to me as a high school pass out saying a master cab all right both numbers are same so how can one be larger than the other and since both the program insist on pushing out a value as larger amongst the two both are wrong in cases where the data is such that both numbers are same find fault with this argument if any. You haven't seen all the high school students as I have seen you. Actually in my point of view. Yeah. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. No. what you say is correct, but when I post the problem as find the larger of the two you have gone by the name that I have used in the program max. If I had used the word larger would you conclude the same thing. Yeah. So, again this is a this is a method that the teachers may use to drive home the main point so that you do not diverge, but you may diverge and thinking may occur. Now, the point I was making on effective communication to novices on a new concept is that you as communicator must in advance account for all possible reactions. And if all reactions do not come from the audience you should actually pose that reaction. The idea is to kindle the thinking process in the minds of all the people who are listening to you all novices. Please understand learning does not happen by listening to lectures or by solving some problems. Learning happens when a human mind applies itself to multiple possibilities. And the ambition in effective communication to novices is to force every novice mind to think in multiple directions. In fact, the biggest advantage of a classroom assembly of the kind is that such discussion will help individuals to think about other alternatives. And the common discussion that emerges like this will ensure that everybody independent of one's own ideas of what is better what is not better will get to see the other side of the story. So, that is that is the part of the effective communication. Anyway coming back to this there are several attendant questions when I say Mac A both of them are same then what happens. There is a other subtle thing if both of them are same which of the two is declared as the largest by these two programs are they always the same number 25 and 25 is it first 25 that is A is declared as maximum or is the second 25 B that is declared as maximum both may be different you cannot say that or they will definitely be different definitely be different because in one case A is greater than B will be untrue. So, B will be assigned Mac in the other case this condition will be untrue so Macs will remain A. So, they will in fact define two different numbers and this should bring to another set of discussions among the novices. Does it make sense to distinguish between two numbers if they are same. So, that is where your notion that Macs is understood to be whichever is the largest and we are concentrating on the value which is the largest it is not which value which is the largest true and untrue in some practical situations you would like to identify which are all the numbers which are equal for example you have to announce that toppers in a class or that topper in a class if there is one topper you announce that person's name, but if there are five people who get exactly the same Macs that the topper does then you are required to announce the roll numbers and names of all the five people. This is exactly what you would do later on when you explain for example in a programming course the notion of an array which contains in one column the Macs or in another column or in another array the roll numbers and names and then when you sort the array from largest to smallest you also sort the corresponding roll numbers and names so that you know exactly which Macs belong to whom and then you pick up the top few you will find out all those who have identical Macs. Now, that concept will come later please note that whenever you have to find out the largest of a number of numbers not two numbers you will never ever think of using this approach you will think of using only this approach. However, when initially you are explaining a concept to people it is a moot point whether this is better or this is better it depends upon how people think while finding out the largest of the two numbers the fact of life is that if you give only two numbers to find out whichever is the larger people will automatically think of comparing the two and saying this or that, but you give them a list of five numbers and ask them find out whichever is the larger no computer programming just find out then mentally they will keep sliding down the list keeping in their mind an equivalent of Macs equal to this and comparing that Macs with the next number this will happen automatically because even if you give people a list of thirty numbers they will in a single scan they are capable of finding out whichever is the largest just written down list of thirty you agree. Now, suppose I started explaining the problem of using the conditional by giving a set of thirty numbers and asking them how did they do that then automatically the second choice will emerge just as an aside in the standard text book which sadly not just use this but extend this to three variables of in most of the classical text book the problem of finding out largest of three numbers is always written through a complicated tree and that is the first expression given and nowhere it is stated that it is bad way of solving it. Now, this is the kind of conclusion that you would like your novice students to learn and still be open to make up their own minds the idea is not to impose your thought processes or your deduction but to let the novices discover for themselves and be free to adapt anyone that they think is right that is how the knowledge has to be shared. Now, yeah. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . then they will say B is maximum, otherwise they will say A is maximum. When they compare with A, B and C, they will actually announce that number as maximum. So, there is no assignment to an additional variable or location, it is only printing whichever is more. And if you have to print whichever is more, then you do not need an extra variable and therefore the second choice does not even appear to be feasible in that app. It is only this extension that is possible. As I do not know whether I have said this adage, but when I was a young teacher teaching programming, my colleague Professor Kumar told me the method of teaching and learning programming. So, rule number one said that if there are m teachers teaching programming, then there are n ways in which they teach and n is offered greater than m because the same teacher has different views on how to teach program. That was rule number one. Rule number two was students learn programming not because of these n methods of teaching, but perhaps in spite of the students learn programming independent. We grew up as teachers knowing these two and therefore emphasizing that the discussion among students and the students making up their own minds is vitally important. Now, you have been TA as the last question that I want to ask is you would be conducting labs for example. In the lab, you would have a batch of students. Has it ever occurred to you to use this kind of policy where in the lab when students are doing whatever they are doing, you just pose a question like this, ask them to answer in two or three minutes, ask them to discuss with their friends and then ask them to come back with the refined answer. Do you not think that it will add tremendous value to you as a TA to kindling the minds of the people? Do you agree? Well, the idea is suggestion is that in the subsequent part of your life here on the campus, whenever you become a TA, do try to experiment. Please don't forget that as TA, you are the direct representative of the instructor in charge for that batch of students. Those students look up to you as if you are the main instructor here and to discharge that duty is not very simple. So, you might try this kind of squiggles in small batches, but that is aside as I said. So, in conclusion, I would put it like this that talking to novices, it does not matter the young or old, novices in a certain domain where you as a professional expert are going to explain some basic concepts to those novices is not a simple and straightforward matter at all. You should remember this while making your presentation for your M Tech reports or PhD reports or something to novices. So, some of you would have seen the poster presentations of PhD students, excellently prepared posters highlighting all the important research discoveries or research points etcetera etcetera, but there are no two lines at the beginning which say this is the problem that my solution relates to or something which tells a complete novice, a technical person but novice in that field what the whole thing is about. I would think that it is equally important to address such people because those people may not be experts in your field, but might be experts in other field or might be important people, important office bearers to whom you must convince about your idea. In both these cases, you will require many times to address these novices. So, quote unquote novices, novices somebody who is not like you in a particular field and to explain to them is not a straight thought. Only when the novices are students you get a chance to force a discussion among themselves and make them think for grownups you do not have that choice. So, when you are explaining to grownups what is the alternative? Is there not that your beacon come on you can say two let us say secretaries to the government of India and you are explaining some concepts is ok now you discuss and they will throw you out. So, what would be the way? This is my concluding question. When you do not have the novices in the form of bunch of youngsters who in some way can be commanded to apply their mind through discussions thinking etcetera etcetera how would you deal with grownup? Ok we have only three minutes. So, I will give you the answer this is not necessarily the unique or the best answer, but this is the method I have learned to follow. So, when you are explaining these concepts to people and when you have no chance of forcing them to discuss you explain the alternatives and then you start speculating you ask one or two questions to directly to people no discussion, but you just say sir what is your opinion sir what is your opinion sir what is your opinion probably two or three conflicting opinions will come and then use that opportunity to explain pros and cons of those two or three possible alternatives and additionally all the other alternatives that you have thought of ahead of time in your mind explain you say you have a point sir, but it may also be interpreted like this it may also be interpreted like this. So, use that chance to explain additional concept that you have or additional alternatives that you have to all the novices. Because remember one thing the grownups may not be commanded as youngsters, but the grownups have a much greater maturity and the grownups therefore, would be able to absorb what you say they are independently capable of thinking they have developed that ability all that you want to do is seed a thought in their mind and this is also possible this is also possible this is also possible this is all right. Thank you and next time we will have the presentation by my colleague Samir Sahasrabudde on use of visuals in the presentation, but what is the deadline for submission of your research reports I forgot 31st of March Monday please do not forget that deadline and please do not wait till the last moment the IIT Moodle is known to behave badly at the last moment of assignment submission deadline. So, please do that well in advance half an hour one hour in advance ok fine thank you all the way.