 So, today I wanted to spend some time in clearing any doubts about the submission and evaluation detail of the projects. I will recite the important dates in the remaining evaluation schedule and then we will briefly discuss the NCEM semester examination syllabus and the structure of the NCEM paper. Since this is the last lecture of the course, I will offer some concluding remarks and we will close it. I had mentioned these things earlier, but this is more of a recapitulation. This is your final project report. So, this must include the copy of the document of the Stage 1 report. You would have submitted it earlier, but there were many students who said that they would have liked to improve it and so on and they might have made a subsequent submission, but the reports that have been evaluated are on the basis of whatever you submitted on the schedule date. So, if you wish to report that you have made some modifications and this may happen by the way with all projects, when you start up you think of something, but you refine your thinking as you go ahead and when you complete the project, you might have a much better and clearer idea and focus of what exactly should have been stated as the main object. It is possible that you might want to revamp part of your Stage 1 report. So, this is perfectly fine. The copy of the document of Stage 1 report, I will say, so Stage 1 report modified if necessary. Obviously, it should not include all the sample course that you might have written or any other sub directories or any such thing. Only the main report that you had submitted in Stage 1, if you wish to modify the modified version, in which case you should state that this is modified version so that it will be read proper. Otherwise, if you just include it, it will be assumed that you are going ahead, you have gone ahead with whatever you had stated earlier. Then it should contain your main report. So, brief description of various modules and programs that you have written, status of completion. It is not necessary that every team would have succeeded in completing all the targets that one had started with. After all, it's a limited time course project. It's not a full-time activity for any one of you. So, that is perfectly possible and acceptable. There's no problem about it. But you should state as to which programs have been completely tested, which are not yet working fully or which have yet to be written. And all this should be in the context of whatever you set out to do. Very important, as you know, we started off with these projects as open-ended projects. So, it is nobody's case that whatever you decided to do was the only thing that could be done for that project. If you had infinite time, for example, if you had one more year to complete the project, you would perhaps think of many additional things that you would like to do. So, it is not whether you would like to do it or not. But the ideas that you get for future extension of the project should be included as a specific paragraph saying ideas for future work. Then there should be a very brief description of individual contributions, specifically the actual work done by each individual member of the team. So, if your project has, say, for example, 10 programs, then who wrote which programs, who contributed to ideas in which program, who designed the algorithms, who did the documentation, who did the testing. So, for each student member of the team, you should very briefly, two or three lines only, should state what work was done by them. So, that will tell me the nature of the work. Of course, the amount of time spent will come out in individual diaries, which I will be describing. As usual, there should be a single tar file. This time it should say lab underscore batch, that is 432-721-561, whatever. Followed by, I'm sorry, there should have been a, there should be a underscore here. It should contain the word final underscore report, so that we can distinguish it. We'll be combining your stage one and this report together. So, this word final report is important, because the same batch number will be there for the first stage tar file also. It should contain, as usual, the last time, all the subdirectories that you might have. For example, you might have a sub directory for programs, sub directory for documentation, sub directory for test data, depending on how you have organized. All those subdirectories should be put together in that tar. The date for submission, at least some of you would have read the mail which I had sent yesterday evening, right? So, the date for submission is extended. This is because many people pointed out that some have their last lab today, that is Friday, and important discussions and finalizations could take place today. And it will be unreasonable that the lab ends at 10 o'clock, and 12 midnight is the submission time. So, therefore, we thought about it and decided that we'll extend the submission time, but not to midnight to 9 o'clock on Saturday. So, please remember it is 9 p.m. We'll be having special lab sessions instead of Sunday, which we usually used to have, we'll have these on Saturday. So, Saturday 2 to 4 and 4 to 6. But no other work is expected to be done except consolidating your project report and uploading your files. That is the objective. Some of you can upload it from your own laptops or connecting any other way to Moodle. That is also perfectly fine, but in any case it should be done before 9 o'clock. I'll tell you the reason why I'm not putting this as midnight, and that is because I need to personally read at least the description of the work done by individuals and the diary consolidated entries, which I'll describe in a moment, in order to select sample students from every batch for Viva, which is scheduled on Sunday. I should have some finite time at my disposal to read it. If the last time is midnight, then I will have barely about four or five hours, and you will agree that isolating 70 reports and reading them and making up the mind, and also I would like to catch at least one or two hours of sleep if possible. You would not like me sleeping during the Viva, right? Actually, you would like it. But I would not like it. I would like to be awake when I conduct the Viva. So these, you can pre-register for these labs. There is a pre-registration link, and you can register. I would suggest that a large number of students should not come up. Typically, one or two members from each team should register, either from two to four or from four to six and finish up the work. Those of you who have completed your programming and can consolidate and upload the reports from your own laptops or from your own hostels, you're most welcome to do so. This is merely an additional facility. But nine o'clock tomorrow is the deadline. As I mentioned, sample Viva sessions are planned on Sunday. Unfortunately, since I can't select people, I can't put up the list of selected people before I have selected them. So that is why I will send a mail and put up the schedule on the model by six o'clock on Sunday morning. I hope to finish my own evaluation by that time. So six o'clock Sunday morning, a mail will be sent from me, giving you a file containing the names of the students and the schedule. You don't have to wait for the whole day for that Viva, because the Viva will go on for the whole day. But I will allocate schedule on an hourly basis. So it will be, for example, when we start from nine o'clock onwards, nine to ten, ten to eleven, eleven to twelve, twelve to one, or the morning hours, and two to three, three to four, four to five, or the afternoon hours. I am told that some students might have an insane exam on that day for some lab or something, or some Viva. Such students should immediately send a mail, and I will reschedule their Viva in the evening on Sunday from five to six slot. So that slot five to six is a special slot for such people. It is not, this is a sample Viva, sample schedule. If I get convinced that the marks allocated on the peer review basis are reasonable, I may not sample anybody from a team. In some cases, I may sample two or more students from a team. That is what sampling is all about, okay? Now, this is what is important. As I said earlier, you might never have given marks to yourselves. And you might not have ever defended such marks to a group of colleagues. In my opinion, this activity itself is very important and should teach you a whole lot of things. In particular, when you become professionals later, you would be perpetually evaluating yourself. At most, a manager of yours might be evaluating you. So unless you learn to evaluate yourself correctly, you would have difficulties later. This is one exercise in doing that. There's nothing to do with programming. It has to do with judging yourself reasonably accurately, relative to a group of people with whom you are working. So, I repeat this here. The marks are to be allocated by each one by finding out the qualitative and quantitative contribution made to the project. Quantitative contribution is not very difficult to measure because it is quantitative. In general, I can work out totally how many hours and minutes I have spent on the project could be for different activities. If I have written programs, how many lines of code I have been able to write? If I have written documentation, how many pages of documentation I have been able to write? If I have done testing, how much of testing I have done? If I have spent time in discussion of ideas, how much time I have spent? I should be able to get that time from the diary entry. I would know that. Qualitative contribution has to be judged by each individual. Because since I am working in a team, I would know roughly what everybody has done. Within the job that was allocated to me, how much of quality work I have been able to put? How much of correct things I have been able to do? How much of my mind I have applied? Now, this is a judgment. And these judgments may differ from people to people. That's the reason why the marks are not finalized by an individual. Although initially, I will say, I deserve so many marks. Here are some guidelines. The maximum contribution should typically get 9 or 10 marks. Average contribution should get 6 or 8 marks. I will clarify this a little bit more because I had an instance where a team, this happened not last year, but here before last. The team claimed that everybody contributed equally and gave 10 marks to everyone. Now, if everybody contributed equally, then the contribution is average. And that should deserve 6 to 8 marks. So, they almost lost 3 marks during the viva when they were told that you can't get 10, everybody will get 3. Then the coordinator who was accompanying that student said, Sir, permit us to revamp our thing. We'll have a meeting quickly and we'll decide. Because it is obvious that in any group of 6, 7, 8 people, everybody is doing exactly the same amount of qualitative and quantitative contribution is unlikely. Some people would have done more work, some people would have done less work. In particular, there could be some absolute sleeping members in your team. If they exist, then they must be given zero marks. If they are not given zero marks and because they are your friends and I value friendship as much as you do, but a real friendship must say, look, you have earned and you have no business claiming more marks because that might jeopardize the whole batch. In such cases, obviously every member of the batch may suffer if that person is selected, suppose you give such a person 3 marks or 4 marks saying that you have done little work, but actually turns out that the student has done no work at all, then every member of the team will lose 3 marks out of it. So please remember to be very, very careful with these markings. The general process is that everybody forms an idea of the marks that I should get and we should have a quick meeting. Ordinarily, this meeting would not take more than 15 to 20 minutes. If you already conducted such meeting, that is fine. If you are not, please conduct it. Today is your last time at most tomorrow morning. There must be a formal meeting. The meeting minutes should be recorded. That means on plain paper you should write the roll numbers and names of everybody should say, we met at this date, this time. And the marks finalized were this. This is what you will copy. But the hard copy evidence signed by the coordinator on the day of the meeting has to be produced at the time of Viva. So that is necessary. I hope you agree that when you have an authority to give marks to yourselves, you must have appropriate accountability to justify whatever you do. So is this clear? Let me mention this very specifically because I am going to put this on the Moodle. I suspect that most of you would not have conducted such meetings so far. This is your time. If you have done it, you can construct the minutes of the meeting by writing them on one page. Coordinator should sign that. And this page must be brought to the Viva from the person who is selected. In case, in some teams, I don't select anybody, the coordinator would be requested to submit this and other material which I will be elaborating now. So this is required for the Sunday work. This need not be a very elaborate write up or something. The minutes would say that we've made and discussed these marks. If there has been any strong observations by someone, for example, there could be a dispute. You could write one line that such and such person disputed the marks being given. However, this was our opinion. In such cases, you can also write the marks of what that student claims. And the marks that were finally allocated after peer review, okay? That is the purpose of the minutes. You basically record all the discussion that takes place. But it did not be a very elaborative formal affair. Just one page will be submitted. Now, the marks that you write by hand on this are to be, of course, consolidated and submitted as part of your report, which has to be entered in soft copy. All of you must be keeping hard copies of the diaries. These are important because all these will be evaluated individually. I had said that I need a consolidated diary report for the entire project team. I have suggested a format, which I am trying to elaborate here. For example, you can say consolidated diary, put these columns. Discussions, design, programming, testing, documentation, and miscellaneous. Miscellaneous could be any other activity which is not so classic. So for example, some student here might have spent two hours, 30 minutes in discussions, may not have participated in designing, may have spent four hours, 50 minutes in programming, may have spent three hours in designing, etc., etc. So these entries are to be consolidated. How will you consolidate these? Each individual student is maintaining the hard copy of the personal diary. From that personal diary, you can ask each student only to compile this information. But the coordinator should cross check with that physical diary that yes, there is no addition mistake or something. I have seen that addition mistakes on the positive side occur very frequently in such consolidated diaries. So that should not happen because if on a cross check that is found, that will be tantamount to cheating. And the whole batch may suffer because of that. I will not hesitate incidentally in giving zero marks for the entire team, for the entire project. If I suspect that ethical practices have been chewed up. That is not acceptable in this course as you know. Everything else is okay. So this is how you will consolidate these. So again to recapitulate, every student should consolidate from one's own physical diary entries the total number of hours and minutes. This is not fractional hours by this. So don't write 4.52 hours, four hours colon so many minutes. That's the, that's the idea. And every student should consolidate such time under these categories. Bring it together. This consolidation by the way can also be done during your final meeting. Because when you meet everybody should bring the diaries. These diaries need to be collected by the coordinator necessarily, as I'll explain. The paper copies of the project diary maintained by each student should be collected physically. These are to be brought to the Viva session by the student selected for the Viva from that batch. Typically I would expect a student selected for the Viva should be accompanied by one of the coordinators. If the coordinator is unable to come, then anyone active member of the team who is aware of the jobs that were allocated to different students and the work that was done. I'll tell you why it is necessary. Many times the student who is selected for the Viva may happen to be one of the weaker students in the batch. Now weaker students apart from doing relatively less contribution often turn out to be very shy students and students who cannot speak well. Now what happens that during the Viva, if the student is not able to defend? Because essentially what is that Viva about? I'm claiming, I'm trying to claim that the student has not done as much as the student claims and student has to refute this. So, in short the team coordinator or any other active member will work as what you may call defense lawyer for that student. That coordinator has to help that student defend himself or herself that yes, this work has been done, this is the explanation, whatever. So that is why it is useful. It is also important exercise should do that. Ordinarily this Viva would be over in two minutes because if we figure out there will be a pipeline process incidentally, two of my colleagues will be sitting in the class. These Vivas will be conducted on Sunday in room number 304 and 305 of the crested building, I will put up the schedule and this thing. All students are to assemble in a lecture hall on the third floor. There will be my staff there who will guide you. So the students who come for that one hour slot and the other students who come for the next hour should all assemble there. They will be called batch wise as they are called. In fact, you can guess the schedule. The schedule will be as per the batch days, one, two, three, four, five, six. So six hours, four hours in the morning. For the first hour we will have slot one, the batch is starting with one, two, three, four like that. And there may be some movement because of the scheduling, but this will be roughly the thing. So students who come for Viva and their colleague coordinators or other active members will sit in that classroom. They will be called. Usually the pipeline process will be, they will be first called by a team which will collect all your diaries and examine the consolidated diary entry and compare the particular entry of that student. If they are convinced that things are okay, you will only have a brief meeting with me for one minute and after which I will say you can go. If they are not convinced, then the Viva may extend up to even 10 minutes or 15 minutes. So these two, this is the process that we will finish on. While I mentioned that it is quite likely that I will call weak students to examine this, it is not necessary. For example, if I notice that two students have been given 10 marks each, then I might call one of them to convince myself that the student indeed deserves to have 10 marks. It may so happen that the student himself or herself is the coordinator, which is okay, in which case that student should bring all the physical diet, but it is a must. Now, some people would have written these diary entries on a notebook. So I don't want notebooks to be submitted. What I want is the corresponding papers of the diary entry should be removed, should be stapled together for each student. Roll number should be written, of course. And for all seven students, this collection of pages should be brought. Because this is the physical diary against which I will or my staff will verify that the consolidated entries make sense. So is this clear? You may ask me as to why I am going through so much of firsts for 10 marks, which will ultimately get reduced to 5 marks because of the compression. But please note that this is the first time and probably the last time even in IIT, you would be doing a self-evaluation. Ordinarily, marks are given by others, you only give answers. So it is important that you understand the process of evaluation, the seriousness of that evaluation, and comply with that. I hope you agree with this process. The schedule of remaining examinations, project Viva for selected students Sunday, 13th November, end semester examination, Thursday, 24th November. I'm putting up the re-exam schedule. There is already one student who has broken his hand or something and has been advised bed rest for four weeks. So he has already given a medical certificate and said he won't be able to attend the end same exam now. So for him, the end same exam has to be the re-exam. Usually the re-exam is in the month of December. This year the senate has resolved that all re-examinations must be completed and the grades submitted to academic office by 21st of December. So I'm trying to keep this date as close to 21st as possible. And that is why this is Saturday the 17th November. Why I mention this date to this class is that in spite of your best efforts and in spite of my best efforts, there might still be some students who may not pass in this course. This has rarely happened in my courses. But every year there are one or two or three people who work so hard that all my efforts are useless. They still fail. In this particular batch, the number of such hard-working students appears to be more, so that is the reason why I stopped doing any additional things in this course and concentrated on the revision. If per chance it so happens that someone is not able to clear the course in the first attempt, there will be an exam on 17th. And although I have not written it here, I will announce it after the grades are declared. I propose to run a special boot camp for one week for such students from after the declaration of results that is around 4th of December to about 15th of December on some appointed day. So in case that becomes essential, I hope it does not become essential for any one of you. But these are the dates that should be given. Yeah, any question? Oh, I can't have a re-exam before the main exam, right? Very good point. Thank you so much. That would be a very anticipatory re-examination, 17 December, 2000. Thanks, thanks for pointing that out. This is the evaluation schedule, the assignments, including the make-up assignments have been evaluated. Unfortunately, my TAs could submit the assignment marks only yesterday. I had given them a deadline till yesterday evening, six o'clock. Did you get all of them? Good news from my staff. Out of 74 TAs, about 40 TAs have not yet submitted the marks. So they were supposed to submit the stage one marks and the assignment marks. There are some TAs who told me that they are still waiting for some of their students to complete the assignments, because I had asked them to give make-up assignments. You can see that one student can delay the processing for the entire batch because of this, okay? Anyway, I will now again send a mail to them saying, please submit whatever marks you have got and the stage one marks. Hopefully, I'll get them by tonight. So I should be able to upload them by Sunday morning. I should be able to look those. The updated mid-same and updated quiz marks have already been loaded. Project stage one and assignment marks will be loaded very shortly. I presume that the evaluation has been completed in the majority of cases. Wherever it remains, we'll do that. Why I emphasize this point? Ordinarily, all the in-semester marks should be known to you before you approach the end-same. Unfortunately, because of the long Diwali week, it was not really a week. Long Diwali, 10 days, holidays, the whole timetable has been reshuffled. As you know, the project stage two should have been completed and the marks would have been already allocated by the staff. Since this has not happened, there has been some delay. Accordingly, the consolidation of all marks cannot happen till Sunday night, okay? Technically, the last day of instructions for the institute is Monday the 14th. Although we don't have a lecture on 14th, we will ensure that all marks in their final form for the in-semester evaluation except project stage two are put up on the model so that you can cross-check. In any case, you should keep cross-checking your marks because that spreadsheet in a PDF form will be kept there, okay? In case of any discrepancy, I would expect to receive a mail as quickly as possible so that it can be corrected. The last chance for anybody to cross-check and request for correction would be the exam time because that is the time when we will all be meeting. But let us not delay it up to that point. Let us complete this portion earlier. The project stage two, this evaluation schedule ends on 21st November 2011. There is a reason for this. I have decided to evaluate project stage two myself for all projects. Unfortunately, I am going to US next week sometime. But fortunately in the United States, people don't work in the nights. So I will have a lot of free nights, about three free nights. I should be able to read all the project reports and give marks out of 50. This evaluation can be completed plus the two long flights to US and back. So this will be completed by 21st midnight. 21st midnight, I will be putting up the marks for the final stage. This will of course include your marks for project as well as marks for the self-evaluation marks moderated by by. The same paper evaluation is scheduled on 28th November. That is because the TAs are not free otherwise. The scrutiny of evaluated answer books can be done on 29th and 30th. I will put up a schedule for the scrutiny. Those people who want to come, they will not be distributed papers. There will be my staff there. You can examine your papers and as usual, if you have any observations, you will be given blank pages on which you can write your observations. On 1st, we will probably assemble a set of TAs available to look at those complaints and reevaluate if necessary. There is a group of students, first year chemistry. They are not here. Are they in this slot? No, they are in slot 11, I think. They are going for a one week camp in IISC Bangalore. So they are coming back on 1st of night. For them only, on 2nd December morning, we will have the scrutiny period. There are only about 25 or so students. So in case one or two of them have some observations, we will finish off the correction. And the final grades will be put up on 2nd December afternoon. That is also the time when the grades will be submitted online. So after I put them up, I usually give myself and the students a cooling period of about 12 hours. So since these will be displayed, I will call them draft grades. They will be displayed on Moodle, as also on the course page. So even if you have gone away, either you or you can ask a friend of yours to cross check the grade. If there is any last minute serious complaint that, for example, the total marks are not exactly as you think they should be, then you can even then send an email quickly. So I will personally look into that. The final grades will be submitted on 3rd, which is just one day prior to the last day. Re-exam paper evaluation will be on 17th itself because I do not expect, there is one student guaranteed to be there. I do not expect more than 2, 3, 4, whatever, small number, will complete the evaluation on the same day and keep the scrutiny for re-exam papers on 18th December. This time it is December and not November. Now we come to the most important part, the end same syllabus. As I have mentioned, this time I increase the pace slightly after covering the basic concepts and many students have mentioned to me that they were unable to cope up with that increased speeds. As a result, they were unable to understand even the detailed discussion on things like pointers, structures and files. While they were coping up with those and while they were trying to solve those problems, we started discussing classes, we also started discussing problems which use class functions and so on and they say that they have not been able to understand much of it. Now that the end same exam is approaching here, we do not have much time and therefore I have decided that class as a syllabus portion will not be included in the final exam. So, you do not have to worry about learning how to define member functions, how to use them, how to define constructors, destructors, whatever, whatever that is not part of the questioning report. However, there would be some of you who would have mastered the art of using classes. While solving programming problems which are given, if you so wish, you are most welcome to use classes including the standard C plus plus class libraries, there is absolutely no problem in that. However, it is not obligatory to do so. At least there would not be any question which will say define a class for doing this or something like that. There would be programming problems which could be solved using the conventional program, you do not need to use. Is that, is that okay? Now the structure of the end same paper. I have put a question mark to that structure. So I want your opinion. How many questions, easy, difficult, multiple choice questions in a final exam. That is very interesting. Fill in the blanks, that is all right. Let us discuss this seriously. One observation that most students have made is that my papers have been rather lengthy. They are not necessarily lengthy to solve but they are lengthy to understand. So you spend lot of time in reading the question, understanding it and by the time you are understood the clock has gone ahead. So if you feel such things about my paper, how will you solve real problems in life? People will always describe these, their problems in very long-handed way. You might have to read a file containing 200 pages which describes the situation and you have to give a decision tomorrow morning. You have to read and understand those 200 pages and nothing to do with programming. In programming context, if you are a professional, you might be given a code spanning thousand lines and you are supposed to understand it, correct the mistakes and make the corrected program run before the sun rises tomorrow morning. These are hard problems in life that you will be facing. So reading and understanding a question is important, should be done as quickly as possible. However, I do admit that during the exam stress, long questions do take time to read. Now I cannot change my questioning style. In programming problems that I will ask you to solve will necessarily relate to some realistic situation. Barring problems which will involve, let us say, summation of series or handling a two dimensional array containing some image pixels, etcetera, where the description could be short. If at all I am describing a problem which needs use of files, then I will have to describe the file format of the data. If the data pertains to a situation which has not been discussed in the class earlier, that situation will have to be described. In short, the way you handle your projects, for example, where in the project, if you have any information management requirement, you will spend at least two pages describing that requirement. So there is no shortcut to that. Instead what I have thought is that there will be some questions, particularly the file handling questions. Suppose I ask you to solve a problem which uses a binary file containing data which can be directly accessed and updated. The program writing may not be very difficult, but to understand what is to be done may not be easy. So it will take some time. So what I will do is, ordinarily you have large number of questions in a, you had a quiz paper and even the mid-same paper, I will reduce the total number of questions and I will ensure that the paper can definitely be solved in two hours, thirty minutes by people who can spend reasonable time in understanding and programming. Those who will take slightly longer will have an additional thirty minutes. Is that alright with you? So this time, since we have time, we will be setting up the questions, but I will be asking some of my own people to solve those problems, under oath of secrecy of course. And I will note how long they take to understand the problem and solve it. That is when we will be able to come to a judgment. So let us come back to the structure here. There would in all be about six questions, that is because you have a three hour paper, but it does not mean that you will have half an hour per question. You would still be required to solve some questions in ten to fifteen minutes. This time I will make sure that the questions are graded from simple to difficult in that question paper. So you do not have to unnecessarily scan the whole paper to find out which one is simple. The simplicity is not necessarily in solution. Sometimes understanding the question may be the more difficult part and you may have to spend more time doing that, after which writing the program may turn out to be simple, which is okay. At least one question will not be a multiple choice question, but it will have about five to eight parts of one mark each. I hope you have seen the pattern of the makeup quiz which has been put up on the moodle. The makeup quiz part one was essentially a multiple choice paper. This was a multiple choice question because A, B, C, D and E answers that were given were to be self-evaluated. Here there is no self-evaluation, so you are unlikely to have A, B, C, D, E choices. Instead you will be asked to write what exactly would be the output of that program or you would be asked to write some malicious statements in that program. So it will be these five to eight parts will examine whether you have understood simple concepts of expression evaluation, integer floating point, etc., etc., whether you have understood simple concepts of conditional execution, if then else, if else if, okay, or the switch statement, etc., whether you have understood the implications of different iterative control structures such as for, why, do why. So there will be small short program segments, invariably you will have to execute those program segments to figure out what is to be done. If there are expressions you might have to write C plus plus expressions. These will be the simple questions. These will amount to about eight marks, so I have said five to eight, there may be some parts which have two marks, there is some parts which have one mark, this will be the question mark. Overall I will be very surprised if this question takes more than ten minutes. Ordinarily some questions you could get in about fifteen to twenty seconds because you look at it and you will get it. Some questions you will have to execute, you will have to write on your rough sheet value of i, value of some, value of this and go through that. It may require a minute or two, overall it would not require more than ten minutes. But I will be allocating about fifteen minutes for this particular question. The next three questions will be actual programming problems. These programming problems will revolve again around some basic programming concepts that you have studied. What I have in mind, I will write it, if you say ok, we will go ahead with it, otherwise we can discuss that. Question two will require you to write a function and its usage. This is a standard problem. If you want to solve a particular problem, you have to, sometimes you are better off writing a function. This time you will be given a problem, you will be specifically asked to write a function definition and you will be asked to write a main program which uses that function appropriately in the context of that problem. Again I do not expect, this may therefore have part a, part b, but these will all be short parts. I do not expect you to take more than fifteen minutes to solve this problem. I would allocate anywhere between ten minutes to fifteen minutes to solve this problem. What it means is that before going to the exam should be very clear on how to write a function definition, should be very clear on how to function is to be invoked, what are the notions of parameter passing and so on, should be very clear. Question three will involve a numerical problem which will require you to use arrays. It could be arrays, which could be one dimensional or two dimensional and you will be required to do some computations that has been stated. This will be a programming problem. The problem statement itself is unlikely to be very large, but you will have to think about the right algorithm and write the problem, write the program correctly. I would expect this to take anywhere between twenty to thirty minutes. So you will notice that about half the paper you should be able to complete definitely within one hour. Question four will be on character strings, which have to be manipulated using arrays. There is a good question on string manipulation that I had given in the makeup quiz. Turned out to be a difficult question. I had discussed its solution. I am going to put up that solution in the Moodle today sometime, that set of slides as well as this solution. You can look at that, but you should be familiar with string manipulation. So every string which is terminated by backslash zero in the conventional sense, every string which has to be scanned, if you are extracting strings, how you should do it? In the discussion on the makeup quiz, I had emphasized the fact that while you can write a program, I have an issue looking at all character strings independently and individually, moving characters from here to there, scanning characters, etcetera, etcetera. It is far more useful if you are familiar with the standard string library and use the standard functions. I had indicated to you that you should read the functions and their description. Many people had not done that. I would suggest that you should read those things such as string copy. I had discussed a specific function called strtok or the tokenizer function. You will find that function extremely useful, particularly if you have comma delimited fields and you want to extract the field value. You can do that in one shot by a single small loop repeating cost to the tokenizer function. If you are not comfortable with that, you can use the conventional mechanism, but whichever way, there will be a programming problem which will need this. In five and question six, these are the two questions which will be what you call long questions. They will describe a situation. I think you are familiar with the kind of questions that I put together. I think first time you had seen the bank accounts related question, right? And then in the makeup exam, what question did I give? At Midsim did I give a long question? No. Sorry? Oh, the clicker responses and so on. The point is that in real life, there will be such situations and as programmers, you are not expected to know the exact situation in every domain of the world. You may not know anything about banking, you may not know anything about clickers, you may not know anything about insurance, you may not know anything about any kind of message and SMS messages. Most of you are familiar with SMS, you send messages, you receive messages. Do you know how these messages are internally stored? Do you know how these messages come to you via a central hub? Do you know the disk file format in which all these messages coming from anybody and going to anybody would be stored at the hub? You don't know that. So suppose we hypothesize saying that such would be the structure and say now extract the following information. That's an important programming problem, should be able to do that. So the question 6 and question 7 will relate to such a programming problem which will involve use of files, but it is not only about files. It is about setting a proper algorithm to extract data from those files, put them in variables and arrays if necessary, analyze that data, find out something and then report. So these two problems will be there of this problem, but we will stop at these two questions. It is quite likely that you may take one hour plus for these two questions. Don't think of these two questions as 30 minutes and 30 minutes. You must, there will be a single common description for question 5 and question 6. Reading that description will take time. Please do spend 15 minutes on just reading that description and jotting it down as to what exactly you have understood. Then read the programming problems and solve them. Believe me, the actual programs will not take more than 15 minutes each to write. The character string handling program again may take about 20 to 30 minutes. This is the reason why I said that overall you should be able to finish the paper in two and a half hours. The extra half an hour is to cross check whether you have to spend some more time somewhere you can do that. Is this structure fine with you then? Good. There may be some tweaking in this because I have not yet discussed it with the slot 11 people. They will come in the evening and I will discuss that with them. And I will finalize this. I will put these slides in the moodle but for this particular lecture while looking up also look at slot 11 lecture or maybe I will put just one session 23, the consolidation of both the slots. Because this describes whatever and it will be an open notes exam as usual. This is Convocation Hall exam. Last time there was a problem when we conducted the mid-same exam in Convocation Hall. Several students had forgotten their I cards. Now we have a couple of faculty colleagues in our midst who will be on invigilation duty who are very strict on these matters. I do not want any student to be inconvenienced. So please do not forget your I card when you come to the, also in spite of my repeated request, people keep coming at the last moment. The time for the exam do you remember 9.30 to 12.30. 9.30 does not mean that you leave your hostels at 9.20 and rush. I would expect all students to be in place by 9.15 or at the most 9.20. It is a large class. It causes a problem in conducting the exam otherwise. And please remember 9.30 to 12.30. There is a student who came to the lab half an hour late to that exam and claimed that he thought that the exam would start at that point in time. So I had no choice but to send him to my office, give him that paper separately and put a special invigilator for him there. Please avoid such problems on my part if you can. So please come there in time. Okay, so that is all I wanted to discuss. Any other observations that you have? Then I will just use 5 minutes to give my concluding remarks and we will close this. I must admit that in this course I made two mistakes. One was to speed up at a point where people were just getting comfortable with the basics. And that caused a lot of problems. I am sorry for that. Of course, that has happened. We cannot undo it. The second mistake is I did not realize the impact of Diwali this year. Believe me, in the last 40 years that I have been teaching here, I have never seen 10 days in which the campus had very little population left. Everybody had disappeared. There are some of you who tried to do some programming work for the projects from their homes. There are some I know who stayed back and did something but it was chaotic because in a group work a few individuals working does not make sense. It also meant that we had a huge discontinuity in our course discussion. And that is the reason why I say this is a mistake because typically towards the end you discuss more advanced concepts of the course and at least those of you who are extremely interested in doing hard programming problems are deprived of an opportunity to learn some advanced concepts for which again I am sorry. I hope this does not happen again. However, I will say this. I have seen that there are several amongst you who are really very good programmers. They not only have potential, they have actually honed their skills further. I would suggest to them that if possible they should continue further sharpening these skills. You will have enough opportunity in your own departmental courses and elsewhere to use those programming. The others who have understood programming but have not had an opportunity to solve real life problems I will again say the same thing. When you pass out of this course and go to the other courses in your own disciplines do try to look for problems which require good programming skills and you will find that you will be able to learn more from your domain and contribute significantly. There is no doubt in my mind that use of computers is only going to exponentially increase in our lives further. Are you familiar with the pace of the research and pace of development that is taking place? That pace is increasing. So we are actually accelerating. If you just consider the fantastic things that have happened in the last 20 years which had never happened in the earlier 100 years you can imagine how many fantastic things will happen in the next 20 years and all of you will be witnesses to that. What you have studied in this course is very preliminary, very basic. First hand exposure to the exciting world of computers. What you make of this and what you do with this is entirely dependent on it. And I think there are enough opportunities both within the institute in the remaining period of your stay as well as after you pass out. So all that I will say is all the best and thank you very much.