 A very welcome to you all, I hope you have had a productive day yesterday. I am sure you would have had some questions, so we will attend to them shortly, but let me first get to today's schedule. So today we will have the first is a talk on handling students projects, this is by Professor Bhaskaran Raman. After the stock he will be available to take some questions from you and after this we will do a course content clarification as well as the upcoming lab I will provide an overview and I will handle some of the questions you may have had related to yesterday and post lunch is again a lab session where I will get into those details during the lab clarification session. So we will move on to the talk by Professor Bhaskar. So a few words about him, he is a fellow faculty here in the CSC department at IIT Bombay. He did his BTEC from IIT Madras and later his PhD from UC Berkeley. So he will introduce himself also, so we will move on to the talk. My name is Bhaskaran Raman or Bhaskar and as your schedule says I am going to talk about a few tips on student projects reports and presentations. Hopefully you will find this useful, we can discuss the tips and we can also share my experience, your experience. This has nothing to do with the talk. I am with the department of computer science here. So what we will talk about in this session is how to define and manage student projects as part of your teaching. These projects may be as part of your teaching or may be BTEC projects or MTech projects and such. We will also talk about how to write reports or research papers which many of you will be doing and this what I will present will also be relevant when you have to read student reports. So you will know what to expect from student reports. And the other third thing we will talk about is tips on how to make presentations effectively and here too it is not about just making your own presentation, it is also about judging students' presentations. So we will talk about these three topics. Feel free to interrupt me whenever you have any question or clarification or comment to make. Okay, so let us start talking about student projects, issues related to defining and managing student projects with respect to courses or with respect to BTEC projects and MTech projects and such. So first of all, why should we talk about doing projects? Why should students do projects? Let us think about that for a minute. Sorry? Real time implementation. Okay, so why should they implement? The studied theory can be applied into real applications. What they study in theory, they get to apply in a project. Okay. Testability of problem solving approach. So here the focus on the project is not so much on solving problems but more on the learning experience which results out of this. So we are not talking about projects where the end result is important. It is a process which is important. It can be to analyze and design the real world problems. Okay, so again we are not concerned so much about real world problems in the sense of we are not interested in the result of the project. So we are talking about student projects here where the emphasis is more on learning. Of course if you go up the ladder of student projects for BTEC projects or MTech projects, the result also becomes important to a certain extent. But from an experience perspective, what does it give? What does it aid? Self-learning, okay. Practical implementation leads to discover the things which are not mentioned in the theory. Okay, discovery of things which are not necessarily mentioned in theory. Okay, make errors and learn through making mistakes. Student is supposed to learn a number of mechanisms through which he can implement or solve the problem. Rather than the solving problem, he should understand the mechanism, various mechanisms to solve the problem. Implementation experience. Okay, so all of this sort of falls under this umbrella of active learning which you have been hearing from multiple sources already. Learning is most effective when it is active or applied. When the theory they learn, they actually get to apply it. In fact in many cases it is even better if you start with the application of knowledge and learn the knowledge required to solve a particular issue that you want to implement. Here we have a lot of student competitions for robotics and so on. Students typically show a lot more enthusiasm in doing those projects than in their courses. Why? Because fundamentally human psyche they want to learn and learning is much better if you actually apply and see the effect of what you have learned in practice. So it is to aid in effective learning, active learning when they are actually applying what they are learned to practice. That is when learning is best and that is why you need to have student projects. Now student projects especially which are part of a course can be very challenging and that is what we are going to talk about. How to potentially define and manage projects as part of a course. Obviously if you do it as part of a theory course in combination with the theory course as and when they are learning the concept they are going to apply it then the theory gets reinforced in their brain much more effectively and hence it is desirable from a learning perspective to have projects as part of courses. But it is also challenging because you have a certain time frame and there are things like evaluation to do which become much more difficult with a project as compared to your written papers. So what sort of projects can we think of when we talk about projects related to courses. So you may be teaching courses, you want to give a project as part of the course so that the students learning becomes effective. What sort of projects can we think of? So let me ask more specifically in terms of computer networks that is what this workshop is about and you have already had three days of workshop and you have looked through a lot of material with respect to computer networks. So what sort of projects can we think of for giving students so that they can go off and work, apply the knowledge they have learned in the class and produce something which is working. Simulate loss of data and simulate losses and recovery. Simulate routing of packet routing algorithms. Socket programming, very good. Designing a protocol, well designing a protocol is not a project. I mean we actually want to, unless you talk about implementing the protocol, design and implementation of a protocol then that becomes appropriate for a project. Any other thoughts on what can be projects related to computer networks? Applying security, okay, good. Security algorithms. Medium access algorithms, okay. Medium access algorithms, yeah. You have to really think about how to get people to implement but it is certainly a feasibility. Network monitoring. Network monitoring, very good. So network monitoring and... Implementation of some features of firewall. Features of, implementation of features of firewall. Routing table lookup. Routing table lookup and do what? Based on the lookup. So you want them to implement an algorithm to do an efficient routing table lookup, okay. So that's a good project, yeah. Sir, implementing network load balancing or failover cluster. Network load balancing or failover cluster, okay. Simple authentication system using networking, where we have to make one authentication server and which grant the ticket like corvore roles. Clients are based applications? Clients are based applications. Socket programming, that's a related socket programming which already was mentioned. There is a traffic violation when there is no traffic policies there. So we can control those areas by putting the sensor and tracking those people, those are valid in the traffic rules. You mean road traffic, not road traffic? Road traffic. Wireless sensor network. Wireless sensor networks, okay. So there is a long list. Let me cut it off here. These are all great ideas. I just put three representative ones related to what I have actually given as student projects. Many of what you have mentioned, some of them fall under these umbrella, some of them don't, but all the same they're all great thoughts. So the project can be either network simulation based or socket programming based projects have been defined. One very interesting project which I have done when I taught computer networks for students as well as Commissary has done and my PhD advisor also used to do this project. It's a very interesting project. So you place two groups of students very far away. In fact, in the place where I did PhD, there used to be very far away buildings. So you can see one person from one rooftop to another rooftop. Of course, you cannot shout. It's like one kilometer away. So you have to convey something, of course, without using cell phones or internet. Okay, so light. What are the possibilities? Sound doesn't reach that long. Say that again? Flag. Okay. Yeah, flags or hand signals. Yeah. Do air medium? Air medium, that's what this sound itself. You cannot shout so much. Smoke signals. Yeah. So you can see that there is a wide variety of things you can use to do communication. So when you actually sit down and think about how to do communication in this setup, there's actually a lot of issues which come and students have to face and solve these. And when you solve this, that is when you learn all those things you might have seen in the slides about framing and error correction and everything. So you can even have a competition among students, give them a sentence. They have to convey it to the other side as fast as possible whoever achieves the most maximum bits per second wins. There will be errors they'll make. Somebody has to show a flag this way, showed a flag this way. So those are practical errors which happen. So you have to correct those. A lot of these issues will arise and they have to solve them. It may not be possible to locate two buildings so far away, but it's certainly possible to even across the room, switch off all the lights using toss light or cell phone light communication just on and off. You can design a communication protocol from scratch using that. So that's a great project for learning issues related to you mentioned MAC protocol. So medium access at least between two communicating entities will result. Physical layer issues like framing and link layer issues like error correction, all those things can be learned through that kind of a project. So we have an idea of what kind of projects you can give for what sort of topics. So let's talk about a lot of issues which might arise logistical issues, considerations for defining and managing projects. The first question you'll have to face is whether you should give a project which is common across all students or individual, group by group. So even group by group, is it that each group does a different project or each group does the same project but individually. So there are trade-offs involved in both of them. If you give a common theme across all individuals or all groups, then project definition becomes easy. You have control over the project definition. The disadvantage is that there can be copying and in some sense you will also be curbing their creative instinct. So in many cases if you give them any project they want to do, then there is a scope that they can get more creative in what they want to do and that encourages them to be more enthusiastic and to come up with interesting projects. So that's the trade-off between common versus individual projects. Individual projects because it's a logistical hassle because each one will come up with their own ideas of the 100 ideas, maybe 20 will be good, 40 will be of too low level, 40 will be of too high level. So students before they have learned the concept, it is difficult for them to come up with the right workload for a project. One thing which you can do in a semester-long project is if you want to give individual projects, ask them to make a project proposal first. May let them make a project proposal, one-page write-up of what they want to do and you as the instructor has to look through and verify whether that is of the correct effort for this course. That is something you have to do because project obviously has to be evaluated also. So you want some uniformity of difficulty across all the projects if you are giving individual projects. Of course common projects don't have this kind of problems. Typically, larger the class size, common projects is better because you don't have to deal with that many different project proposals. The other important question to, next important question to decide upon is how long should the project take? This is obviously a question of how much weightage you are assigning to the project. So you have to calculate how many hours, yes. One example, let's take network simulation. So you can ask them to create a topology, network topology in which there is let us say one wireless link and four wired links and they have to run TCP connection across a pair of nodes and observe the TCP behavior with varying wireless link error rate. So they have to plot, they have to get from the trace as to how many TCP retransmissions are happening, how many timeouts are happening, what is the congestion window size, all these things can be plotted over time. You can ask them to observe phenomena like fast retransmit, fast recovery. So this kind of a thing can be done. So how long should it take? So that is one component which decides how long it should take is the amount of credit it has. The other component is you have to judge for yourself. As an instructor, if you have already mastered the concept and if you sit down to solve the problem, it should take about one tenth of the time, not more than that of the time you give to the students. So for example, if you are giving students a 30 hour project, you expect them to spend 30 hours on understanding the problem and solving it, implement it correctly, then you as an experience instructor should not take more than three to six hours in solving it. It always takes students much more time than it takes for an experience instructor who has already solved the problem and has potentially posed the problem. So that judgment call one has to make. It is useful to have periodic checkpoints for student projects, let's say monthly checkpoints. Otherwise, if you give a semester-long project, the tendency is to postpone everything to the last week. So if you don't want that to happen, you have to have periodic checkpoints. Tell them you have to finish this much of the project by this much time. Even if it is a free-form individual projects, you can make them do checkpoints and you can even grade the checkpoints. So within the four-month period, you can have three checkpoints before the final evaluation and there is weightage associated with evaluation of each checkpoint. So this is one way to ensure that students make steady progress. The other important question is to group students or not to group. What is the trade-off involved here is if you group them, then typically, there will always be some lopsidedness. In a group of two, it will never be 50-50. It can at best be 60-40. In a group of three, it will never be 33%. Someone will do only 10%. In a group of four and five, it becomes more and more difficult. Someone or the other will always do lesser than, far lesser than what they're supposed to do. They may even not be part of the group which does it. So you have to be very, very wary of increasing group size beyond two. And even in two, you have to have mechanisms to evaluate them individually. So there will be obvious cases where only one person has worked and the other person has not. That will come out very much in a demo or a viva. There is. There has to be. How do you evaluate? So many people will be there and you're giving common single problem. Yeah. So how do you evaluate? One important component of the evaluation has to be a demo or a viva. That has to be there where the instructor sits with the concerned individual or team and ask them to demo what they have done. Now my question is, entire class has a single group. See, common was an individual. Entire class has a single group. You define a single problem. By common, I meant that, let us say, class size is 100. You divide them into groups of two each, 50 groups of two each. Each one gets the same problem to solve. That is what I meant by common project. Common doesn't mean that everyone works together. No. By common, I meant everyone gets the same problem to solve. By individual project, I meant each group solves a different problem. One may do a chat protocol. One may do a file transfer. One may do online gaming implementation. So that's what I meant by individual. Common doesn't mean everyone works together. Okay. So how to do evaluation? Evaluation is a problem, especially when the number of groups you have to evaluate is large. But it can be managed. Yes. Sir, I think how to group is also important because if you have a group of three students, one has a live KT, one is a second-class student and one is a distinction, normally the distinction student used to do complete project. Yes. So there is an impact of how you are grouping as well. Yes. Certainly. There is, that is always a trade-off. So if the instructor groups them, then there is an advantage as well as a disadvantage. One advantage is that the instructor can balance out certain things, like the factors you mentioned. Maybe based on past performance or something. The disadvantage is that you can also have cases where some person will not gel very well with the rest of the group. So that is always a problem with group projects. So nothing can be done about that. So that is one argument for going for lesser group size, one or two. Individual or a group of two. That is best. Evaluation has to be based on demo and Viva. Proof of project is in the project working. Demo means it has to be a working demo, at least partially. It cannot be viewing the code. Project means the proof of how the project has been done is the actual working, not how the code is written. So there has to be a huge weightage given for actual working of whatever they are demoing. Of course, there will be Viva also to test whether they have actually done it or taken it from somewhere. One idea which has been very effective in project evaluation which I have executed is pipeline evaluation. So the project is divided into let us say eight stages and there is me and seven other TAs sitting at eight different desks. So the team which does the evaluation has to go to the first person first, then goes to the second desk, then goes to the third desk. So the project gets evaluated in eight different stages and only one person is evaluating one aspect of the project at any given time. So to give a concrete example, I had a software lab course last semester where there was a project on running a simulator and analyzing the output, running scripts to analyzing the output. So I divided the project evaluation into eight stages. First one was for let us say writing a make file. Second one was for running the script one time. And the third one was for analyzing the output and extracting let us say the jitter value of the simulation you have run. So there are different stages like this. So there is one TA evaluating each aspect and the one who is getting evaluated moves from one stage of the pipeline to the next. So this is one way to speed up the entire process. So the more the stages of the pipeline you can have speed up in evaluation although one student is getting evaluated for a total of let us say half an hour. The total evaluation time is still not number of students divided, number of students times half an hour because you have parallelized the whole thing. So pipeline evaluation can be done. Another very important aspect is if you are giving a common project meaning the common problem to solve for each of the individuals or groups, you have to do copy detection. There are different copy detection software available on the web. If you just give let us say there are 100 students, there are 100 submissions. Each submission is in a different folder, different directory. There are software which will just take these 100 directories as argument, do a nc2 comparison, n cross n comparison and report any copying. So let me actually show one software which I have actually used for this purpose. So this software is called SIM which stands for software similarity tester. You have to search Google for SIM software similarity. If you just search Google for SIM software similarity, if you just search for SIM you will get the GSM SIM. So search for SIM software similarity you will get to this website. So it is an open source software and this person Dick Grun has written this software. It has support for detecting copying in C, C++, Java and even for text. So you can and it is very very effective. In fact the author of the software claims that if somebody can beat this copy detection, if they are smart enough to beat the copy detection then they might as well do the project. So this is a very good software which I have used effectively and I can also show you the output which comes. So this is the output which is generated. I hope you are able to see. So it will tell, so let me highlight this one line. So submission from one student has 100% of submission from another student. So that is a case of copying. So of course if it gives percentage similarity, so you can go down the list, 99%, 98%, 97%, it will keep going down. You will typically find that when it comes to about 70% or so, these are false positives meaning the software thinks it is copying but it is actually not copying in the sense that it's probably a very small program 10 lines and there's not many different ways of doing it and hence it is reporting. So you have to manually look at each case. You cannot go by this. Yeah, there's a question there. In software it is found most of the times that people write the software in similar ways. So that's one of the problems in software fault testing, fault tolerance because when they fail, they fail in a similar way. So it may not be plagiarism. Many people may be writing it in the same way. You will typically find that even for a 100 line program, if they actually write independently, they will be different in terms of order of lines and you know, for loop, whether they use for loop or while loop, this kind of things will be different. Okay, I have found that always as a human, I am able to make a judgment call. Does this look like copying? If I sit down and write this program, will it be very different? I can make the judgment call. So you cannot go purely by what the software says. You have to make a human judgment call. You have to look at that. This is just a precursor to it. Okay, so this is a very important tool for if you are giving projects, coding projects, especially common coding projects, you have to use this. So that sort of concludes the point I had with respect to student projects. Let me now move on to the second one. Before that, if somebody has any comments or questions, that's what, see, there is no strict threshold like that. Yeah, so if there are library functions, for example, there may be cases where you yourself have given them some code to start with. That cannot be considered as a copy, obviously, right? In those cases, what you can do, take into consideration that point also, where library functions will not be. You have to do preprocessing. So if you are given some code, you have to identify that portion of the code in student's code and eliminate that before feeding it to the software copy checker. You have to do that. I have also found some cases where students have taken some module from some common place in the net. That is also possible. So it comes out. Yeah, there's another question there. Regarding student's projects, we need to understand what are the basic intent and objectives of the project. As it has been said that to enforce the concepts, if it is only to enforce the concepts, then probably the project-based learning approach can be followed for individual subjects for a particular stream. The project-based learning approach is very well being followed in Queensland University, Victoria University, and there is a project from Purdue University, EPICS, Engineering Projects and Community Services. They have made available thousands of pages of documents. It is so systematic wherein we start, if you let's say computer networks, then we start from designing from the very scratch. Say the Mac layer, then layer and move until finally we cover the entire subject in a project. This is one. Secondly, if we say the intent is to learn or go for the applied engineering, we can go for the, to bring out the innovation amongst the students. We can make them ready to be like adopted by the markets. So there could be various parameters that we can like achieve out of these projects. So we need to be very, very clear and focus what our purpose is, because if we look at the student's perspective and a few, they are still into that $1.19 billion WhatsApp deal. They want to be more innovative. They are being driven by the market. So if this is what we are looking for, then the concept is entirely different. One more thing that what we used to do at our end, even before we go for the project, we ask them for a case study. Different students in groups, they select particular topic, have a detailed study of background, what is happening, what has happened, what is the potential exists for further exploration or innovation. Then on that basis, they pick up the project, they do it, and then it's not at all important what is the, whether it's successful or not, but what they have done, they have tried and what they have, like to what extent they have succeeded, that is more important. Okay. Thanks for sharing. Hello, sir. Sir, the software same, can we use for testing for the students writing the project thesis as well as the paper for that program? Can we check that by using the same software? No. So there are other software for that, but that's not free. If you're talking about reports and plagiarized content from somewhere on the web, sim cannot check that. It cannot handle that kind of a thing. So for that, any free software? No. Yeah. So there is no free software I know for that. There is paid software. Is it DoColo? DoColo is not something I have heard. The name which I have heard is, I am not able to remember it right now. Turn it in is one good thing, but it is, say that again. Viper. Okay. Okay. The way I usually detect plagiarism in reports is there will be a clear distinction in language from one paragraph to the next. So, and then I just take one sentence, cut past it into Google, then it will show me where it came from. So that's the way I use for reports. I'm confused a little bit. Whenever grouping, earlier I know that from the industry point of view, they are telling that during the project development, the students, along with the coding, they should learn how to work in a group, how to learn leadership, how to adjust with others, and how to adapt to different situations. So for that, they should work in three to four, the group should be of three to four students. But now, as you are telling that from the technical point of view, if the group size will be small, if it is of one or two, then definitely the student will be more efficient and will know everything regarding the project. But the earlier, whatever I know, that during the, regarding the project development that is for leadership or to adaptability. So, yes. I'm just saying that there are many more things to worry about once the group size hits three, four, or five. Okay. One other strategy which I have not used personally, but I know some colleagues have used is peer grading. So, within a group itself, each person will grade the other person. And that grade will be assigned some weightage. So, this will sort of ensure that at least to some extent, some people don't goof off. Other mode of peer instinct can be one group can be evaluated by another group to see various factors, how much each has contributed and so on. I'm just saying that the logistics of managing evaluation of larger groups becomes more than with smaller groups. Okay. So, let's now talk about writing reports or papers. Almost everyone in academic circles, whether it is a student or a faculty, has to be writing reports and making presentations. So, it's important to learn how to do these things effectively. And this will also give you an idea of what to expect from student reports. I have used a few research papers in the examples that I will be talking about. And these are the titles of the papers. I will give you these slides, make these slides available so that you can locate these papers using Google search. The first thing to keep in mind when one writes a report or a paper is that the overall goal is for someone to read the report. So, writing is for someone to read. That immediately tells you, you have to place yourselves in the shoes of the person who is reading. It is very difficult when you're writing your own report and placing yourself in someone's shoes, but that is something which comes with practice and experience. So, that is that is the first thing to remember. Your overall approach to writing a report or a paper should be top down. You have to do multiple stages of refinement of the writing. You should not wait for stars to align before starting to write. You should just put down whatever comes to your mind into words and then think about organizing those thoughts later on. It is not that the very first writing will achieve good clarity. It is always that clarity is achieved through multiple refinements. Writing a report or a paper, I typically do it in multiple passes. In the first pass, this is the top down approach. So, in the first pass, you have to make an outline. You think of title and you think of abstract of the report or paper you're going to write. So, this in some sense forces you to think about what is the contribution of the report or the paper? What is the point you're trying to make after the reader has spent one or two hours reading the paper or report? How do you want the reader to be wiser? What does the reader have to learn? What does the reader have to remember after reading the report? You have to think about that and write down those title and abstract. You may also write section level outline. What are the section headings, subsection headings and sometimes even paragraph level outline? What is the point I want to make within this subsection, first, second, third, and so on? So, that's the outline. It typically takes about an hour or two to get the outline. So, this is like the skeleton. Then you start filling in the flesh. The second pass is the rough draft pass where you fill in lot of flesh. Don't worry about where the hand is, where the leg is and so on. Just write whatever comes to your mind as per the outline and typically you will also write the tentative introduction part of the report here. This again forces you to think about what exactly are the main contributions, what exactly is the reader expected to learn after reading this report. For the individual sections, you just generate the text. Again, just write down whatever comes to your mind. Start typing. You have to generate the various graphs, tables, and figures in this second pass. After you have done the second pass, then everything starts to look easy because you already have so much material. Before you have the rough draft pass, there's always some niggling feeling in your mind as to, do I have enough material? What do I convey? And so on. Once you put down everything without worrying about structuring it, you get a confidence that, oh, there's a lot of material I have to convey. Now you have to think about how best to convey it, how best to order it, how best to structure it. So those are the refinements. There can be multiple refinement passes and a report or paper gets better and better with each refinement. Good reports or good papers usually go through multiple refinements. Even experienced writers take multiple refinements. Yesterday, I just had a paper deadline and submitted two papers with students. Each of them attained a level of perfection only after some four, five, six revisions. After the rough draft pass, read through it, make comments, change it. You may have to rewrite the intro completely. You may have to rewrite a section completely. You may have to completely reorganize. Shift sections from one here to another. Redraw the graphs and so on. But that's okay. After the rough draft pass, a lot of things can change, but you're doing them with a view to continually refine and improve the writing. The general structure of a paper or a report is like this. This is a guideline. It is not a rule. Which means you have to make a judgment call of whether this applies or not to your particular setting. Typically start with the title and abstract. Then the introduction, which includes the motivation for why this person has done this work. Sometimes there is a background section because you expect the reader to not have the sufficient background for understanding the rest of the paper. Then you write a background section. Then you talk about whether what you have attempted to do, similar things people have done in the past. That is the related work. Related work sometimes also can come towards the end. Because a lot of the things you're talking about, what people have done before, you want to compare with what you have done. In which case, the reader has to know already what you have done. Sometimes it is convenient to push the related work towards the end of the report or paper. After this comes the main technical sections. So that depends on what the material is. There may be one, two, three, four, however many number of technical sections may be there. These are all specific to the work which has been done by the faculty or student. Typically the evaluation or results comes after the technical sections. You have said what you have done, how effectively have you done it. That is the evaluation results you have to put in. Then you discuss some aspects of what you have done, how better you could have done it and so on. Discussion is optional, future work is optional and every write up should have a conclusion. This is a general structure of a report. So let's go through these one by one, a little bit more detail. The title and abstract are the most important parts of a write up. These are the most read parts of a paper or a report, title and abstract. Of course, if there is a thesis, then acknowledgement may be read more often than abstract. But search engines base their indexing on the title and abstract. So that is the most read parts. So you have to pay a lot of attention to writing the title and abstract. You have to carefully convey a lot of things. What is the key idea you have come up with in the report? What is the key problem you have solved? How have you solved it? How is it different from other work? So all of these things have to be conveyed succinctly. So that is why this is very difficult to write. It requires more number of refinements. But as far as possible you should state all of these. What is the context of the problem? What is the key idea that you have come up with? Why is it that prior work does not solve? That is a related work. So all of these have to mesh together into a roughly 250 words. Typically two paragraphs at best in the maximum three paragraphs you have to convey. So it's a challenge to write a lot of things within a short span. But that is the challenge of writing an abstract. Abstract typically also has some eye-catching result. So if you say for example, my protocol performs 10 times better than what someone else has proposed, that should be there in the abstract. Because that is motivation for the reader to go and look at the further parts of the paper. So that has to be there. Some very good examples in my opinion I have cited from the papers I listed earlier. The next important part of the paper is the introduction. After title and abstract, introduction is the most read part of a paper or report. Think of introduction as an extended abstract. Or a constricted version of the paper, full report. So again the introduction answer all of the questions which the paper is answering in a short form. What is the context of the problem? Why is the problem important? Why should the reader care about reading the paper further? You have to motivate that. You have to motivate that no other person has solved it before. Again motivating the reader to read further. Why is the problem interesting? Why is it challenging from a technical point of view? Why should the reader read the report as opposed to just thinking about it for two minutes to come up with the solution? So that is the challenge part. If there are any assumptions, important assumptions you should state. Main results highlight performance and summary of contributions of this work. So all of those have to be stated in the introduction. In big reports, maybe 10, 12 pages or longer, you typically include an outline as well. Organization of the rest of the paper is also included in the introduction. Title, abstract, introduction are the most important parts of a paper. So you have to pay a lot of attention to it. And during the refinement process, many, many, many times this happens that you have to completely throw out the abstract or introduction you have written earlier and rewrite it completely. I do this all the time. Completely throw out the first version and write it from scratch because there is more clarity now. So the refinement process is important. It is not that you will hit upon the right abstract or introduction the first go because it is difficult to write. It is difficult to convey a lot of things in less words. It is easy to convey it in more words. Background, let me skip not spend too much time. Related work, yeah. So when the author talks about related work, one thing I highly recommend is a table of comparison with related work. Let me just show you a quick example to illustrate the point. This is a table I really like a lot. So I am going to share this with you. This is in one of the papers written long back. This is a table of comparison. The entries in the table are not very important. So I do not have to go through the entries here. But the point is it is comparing in each row with some other piece of work along various dimensions and is saying, well, the other solution has moderate management overhead. My solution has low management overhead. The other solution has moderate router overhead. My solution has low router overhead and so on. So this is a very succinct comparison, which is very important for conveying to the reader. There was a question somewhere. While we are writing the paper or a report writing, there is one section that is a performance analysis. Is it similar to that? No, the related work comparison table is comparing your work with prior work. Performance analysis also may compare, but those will be in terms of details of how good is your throughput versus somebody else's throughput, how much is your overhead versus somebody else's overhead. So that will be in numeric terms. This can also be numeric, but it does not have to be numeric. This can be qualitative also. So for example, if you see the last but one column, it is talking about postmortem capability in detecting a security attack. Postmortem capability is not possible in some cases. In some cases, postmortem capability is excellent and so on. So it's a qualitative metric. You cannot really do this in the evaluation section. So related work, that is what I wanted to convey. So technical sections, you should think in terms of figures and tables. You should draw a lot of diagrams and graphs and tables. These are also some things which stick out. When you look at a big report, where does your eye go naturally? It will go to the tables and figures and graphs, not to the text. Nobody wants to look at lots of text. People want to look at figures. People want to look at graphs to understand the content, content of the report. Yes. Yeah. The graph that is that the table you just showed, the taxonomy should be, don't you think it should be part of that evaluation and comparison? I mean, it should have been introduction part. Taxonomy? You've shown the table. Yeah. So if you are introducing some new terms, which is relevant for understanding the technical sections of the report, you better put it in the introduction. Production has a crisp idea of what has been done. Or it can be done. There can be a separate section for taxonomy. So for example, if your paper is doing some analysis and you're introducing lots of symbols, it is not uncommon to have a separate section for introducing those symbols and having a table of what those symbols mean. Sometimes it can be there in the background also, background section. Okay. I'm going to skip these in the interest of time. Some things I'm skipping, some important things I will convey. So one very common mistake which students do or even sometimes experienced people is not spend a lot of time in the graphs. After the end of, you know, six months, one year, two years of work, you have generated one graph, which is comparing, let's say, your performance with some past protocols performance. Well, you better spend time making sure that the graph is conveying what you want to convey to the reader. It has to be clear. The axes have to be marked. Some very simple things, routine things many students miss, especially after having done a lot of hard work. This is like throwing away all the hard work which has been done because you're not conveying what the end result of whatever your hard work is. That is the graph. That is the evaluation graph. You have to spend a lot of time even beautifying it. Okay. So pay a lot of attention. It may seem like simple things. Title, label, axes, units, these are all important. You don't want to give the wrong impression because you have not marked the units of a particular axis. Another important thing to remember is there are still a lot of people who take print out before reading a paper. So you better make sure that your graph, if it has a red line and a blue line, it may show in on screen different, but on print it won't show. So is your protocol performing better or in the past protocol? You know, it can completely confuse. So you have to make sure that things are legible and distinguishable in black and white print, grayscale print. I have a suggested timeline for writing a paper for typical students. This is there in this slide as well as for, it's there in our website, which I will point to you briefly. So if you go, just go to www.cse.idb.ac.in slash synergy synergy that will take you to a resources page and that has this suggested timeline is there. So which can be used as a guideline for how much time it's going to take to prepare. So rest of the things I'm going to skip. Key things to remember with respect to report writing. Never think of stars to align. You have to think in terms of refinements. First pass writing, second pass writing and multiple refinements. The better, the more refinements you do, the better the report or paper is going to get. And one very important thing in this world of Google search and many things already available at the click of a button is never cut paste anything. Text or graphs cannot be cut paste. This is also something you have to insist to your students. There is a temptation especially in introduction related work or background section to cut paste a lot of material which may be there in Wikipedia or some other paper or something. You should avoid that temptation and never do that. Why? It is your report. So it has to be original. And if the reader wants to get those material, the reader can get it from the whatever you, wherever you got it from. So there's no point in doing cut paste. Sir, suppose if you are writing a survey paper, shall we refer the other paper figures? You if you are writing a survey paper. If you are writing a survey paper, it is typically not a good idea to reproduce figures. In fact, it is a copyright violation. Even if you redraw it, many times it's a copyright violation. So you have to think in terms of generating figures yourself. This is what I tell my students. You should always think of generating new figures rather than getting figures from somewhere else. But in survey, we are suggesting that what the other authors are representing the figures or concept like that only know. Yes, but it cannot be a reproduction of what is already there. If you are coming up with a new example, let us say of the concept, concept whatever they have proposed in some protocol, you are coming up with an example to explain that. That is perfectly all right. Because explanation is yours, your IP. Yes, yes. Okay. Okay, thank you. Yeah. Okay, so I have about 10 minutes for the third part. Just like people write reports, almost everyone in academia has to do presentations also for various purposes with respect to technical work, with respect to other things also. There are a few things to keep in mind while making a presentation. Or making the slides, preparing for a presentation. The goal of presentation is to convey the key idea and motivate the audience to go and look at the details elsewhere. That is the key purpose of a presentation. A non-goal, an explicit non-goal, what one should not try to do even after spending five years on a PhD, you should resist the temptation to present whatever you have done. It is not possible. It thins out the presentation. It bores the audience. You cannot do it. So you must have seen me skip a lot of slides. So that is a case in point. It is not many times possible to convey whatever you have done, whatever you have prepared. You may even have to dynamically cut down on material. You have to realize that it is not possible to convey everything. It is more important to go for quality and make sure you motivate the audience to go and look up whatever they want later on. The material is always available anyway. So that is the goal that you have to keep in mind. Just as in a report, you have to think. In fact, this is even more important in a presentation. It is important to think of figures and not text. Text can be used minimally. Even when you use text, you have to use coloring to highlight certain keywords as I have done in this presentation. Once again, with respect to graphs, I will stress. A graph may be the result of months or sometimes even years of hard work. You better make sure you convey that properly. You cannot have a graph where the person sitting in the back row cannot see what the x axis is or cannot read the font. You cannot have that because you have lost all that hard work then. So many times, I even regenerate the graphs completely. Instead of reusing what graph was generated for the paper, sometimes you have to make the paper as a presentation. In that case, you have to regenerate the graphs. I am stressing this point because many times people miss this and it sort of annals their hard work which they have already put in. So instead of going through this, I am just going to point you at sort of a satiric presentation how to give a back talk. This is there on the web. It's not my presentation but I'll just show a few things of what not to do in a presentation. So it is sort of obvious. I don't have to say anything. These are small, small things but if you don't keep these in mind, it sort of puts off the audience. This is not a good slide. Especially when I start reading out the entire thing, then it sort of puts off the audience. You have to use keywords and you have to convey something which is different from what is written on the slide. You cannot just read the slide. That's a sign of lack of preparation. Presentation is not the place to show your power pointing, power creativity. And there are some presentation issues also. You have to make eye contact. That is something some people miss. If you keep looking at the slides, then it doesn't give a good impression to the audience. Sometimes they even block the screen. So these are things you have to remember. Sometimes due to nervousness you may not remember but with practice you have to remember because otherwise it puts off the audience. So you can look at these slides later on. So I just wanted to give a few aspects of how not to give a talk. That is nicely summarized in this other presentation. With respect to presentation also I have a suggested timeline for my students. It also deals with continual refinements just like for paper writing. Presentation also you don't make the perfect presentation of the first go. It's not possible. You have to practice. You will realize that there are some mistakes you have made. First you practice in front of a mirror. Then you practice in front of someone who is friendly. Friendly at the same time critical. It is better to be criticized by a friend than by people who are going to judge you. Friends don't judge. So make presentation in front of a friend and get the critical comments. The best comments are the ones which tell you are doing something really bad. Those are the best comments. So you have to get some critical friend who complains a lot. At the same time doesn't judge you. Practice in front of that person. Refine. Refine the presentation again. So it gets better and better. One thing you should watch out for of course is over-practicing. Over-practicing is also not good because it kills spontaneity. There has to be some spontaneity. It cannot be like a recorded lecture. Presentation has to have a feel of spontaneity. And also enthusiasm and energy. If you do over-practicing you can kill those. But typically students never reach that level. So one point with respect to question and answer is many times there is a tendency to either get scared of questions or be over-confident and answer a lot of things even before the question ends. So those are some things to avoid. You have to patiently hear out what the question is. Understand sometimes the question may be irrelevant. In which case you have to gently point out that that is not what I am talking about. You cannot give complete control to the person who is questioning also to hijack your presentation. It is your stage, your presentation. So you have to get control. Again very important thing with respect to no plagiarism. You cannot cut-paste in a presentation from some other source. This is a very, very, very common mistake I see among students again and again and again. They cut-paste figures from somewhere else. That is not done. You have to generate the figures meaning it has to come from your brain, from your understanding of what you have done. The quality of a presentation or a project is often defined by how many figures that person has generated. Each figure generated is an indication of clarity of understanding or quality of the work. So you cannot take figures or text from other places in presentations as well as in reports. So those are some resources and references which I have used for preparing these tips. So we can take a few questions. Okay. The first question was with respect to keyword. So I have a clarification. By keywords, you mean the list of keywords which is given just below the abstract? Okay. So those are typically restricted to about four or five? Yes. They usually restricted to five is what I know. You know, many conferences don't ask and they are asking the keywords. See, unfortunately for how to choose keywords, I don't have a generic answer. It depends so much on keywords. This is a generic answer can be as vague as, you know, what is it about your paper which will make it stand out. So the theme of the paper, the context of the paper, it can be either as I said, if the key contribution is an idea and you can put a keyword with respect to the approach. So for example, the IP traceback paper talked about how to trace back the source of a distributed denial of service attack. So there the keyword may be traceback. DDoS may be a keyword. Another keyword could be what is the key mechanism they're using? They're using packet marking that could be a keyword. Packet marking is one of the key techniques they're using. So keywords come from either the context of the problem or it could be with respect to the technique. It depends on the situation. So I'm not able to give you a generic answer. Length of the paper is specified by the submission source. I mean, I have read interesting papers which are only two pages long, which are only four pages long. Interesting papers. Typically, once it goes beyond 15 pages, there is a starting problem. But well-written papers can be 15 or even lengthier. Typically, in networking, I have not found papers beyond 15 pages in the typical two-column format, maybe 20 pages in some lengthy journals. So the longer it gets, the more organized the paper has to be to keep the reader's attention. Hello, sir. Sir, regarding, you talk about the tentative title, the abstract, and the plotting, the performance, and other things. But what about that? Suppose someone proposed a model and a framework. So do you not focus on that part? Because in most of the papers I have referred about you, that those papers are mostly focusing on that mathematical analysis and mathematical stuff. And in top-notch conferences and in journals, normally, they look at not that of what you exactly analyzed through the graphs. But at the same time, they also look at that mathematical modeling of it. Please give some suggestion regarding that. Yeah. So one of the reasons I didn't use suggestions about that, because I have not written that kind of papers, many of them. So if you're talking about mathematical kind of papers, few things to keep in mind is that you have to be clear on the terminology, state upfront, what the terminology is, not confuse the reader. Sometimes, there is a multiple use of the same symbol. P for packet size, P for probability, you can't do such things. You have to be aware of some guidelines I can think of. You have to think of examples to convey algorithms, flow charts to convey algorithms, that kind of thing. Apart from that, I don't have very many tips for modeling kind of papers. If you're giving equations, it is important to give the motivation behind what that equation does, explain each term of the equation. I mean, these are all tips I'm giving from what papers I have liked among what I have read, which are modeling kind. The good ones are the ones which explain each term, explain the motivation behind why that equation comes in place and so on. Thank you, sir. Yeah, you said that plagiarism is a malefied practice, but we can check it through turned it in or other softwares. When we say a paper is plagiarized, it's a keyword matching or it's a line matching or it's a paragraph matching, that has to be some kind of count number should be there that we say a paper is plagiarized. Well, there is no clear threshold. See, sometimes even a phrase which cannot be independently reproduced can be considered as plagiarism. If not placed under quotes, even a phrase for a sentence. But usually it'll be clear. I mean, if somebody is trying to do... By the way, most cases of plagiarism arise because students or authors do not understand what plagiarism is. They do not understand that they cannot take some sentences from somewhere and call it under their own name in their report. That's not allowed. My question is because the copyright act of foreign countries and of India is different. So that's what I'm asking. The plagiarist papers in Indian context could be something else or... No, there's nothing like that. See, both ACM and IEEE have definitions of plagiarism. What plagiarism? What constitutes plagiarism? And there is no strict threshold. They don't say if it is a four word phrase, it is plagiarism, it is three words, it's not. There's no such threshold. Okay? So we as an author then, how will say it's a... I mean, work is genuine or plagiarized? No, no, no. See, when you start writing, if you don't have a cut-paste interface, then it is your own original. That is the way it will work out. Okay? Based on your own understanding, based on your own language, right? Then it will be original. Because when we run a paper, when we put a paper and turn it in, it gives, say, 93 percent is original or 7 percent is copied or something in some different cases is same, some more portion is matching. So that is what... Because when you write a paper, the intention is to get it accepted and printed, I mean, published. So that question is still... See, sometimes turn it in can give false positives for... Because for example, let us say you are writing a paper based upon your student's project report, which appears somewhere on the web. Okay? Then turn it in checked by somebody else, make you 90 percent match because it's based on your student's work whose report is available somewhere else. But that's a false positive. I mean, whoever is using such automated software should take the pains to figure out what is the source of the so-called plagiarism and whether it is... Sometimes it is from the same set of authors, in which case it may not be plagiarism, but technical report written by yourself, which you are trying to submit to a conference. That's not plagiarism. My question actually is that if you are publishing paper in the same area, because you're working in networking area, so the area is specific. So most of the time your introduction will also be quite similar to the previous publications because every time you cannot change your introduction part. No, not really. If in most cases from my experience in writing and reviewing papers, I can almost always make out whether someone is trying to convey someone else's words or one's own. It is very obvious from the way it is written. If somebody writes it from their own head, it will be different. So self-plagiarism, okay? Self-plagiarism. Self-plagiarism, again, if you're writing on similar topic separated by few months, then the words will be different, I can guarantee. See, if you have submitted a paper and if you're trying to use the same introduction that you cannot, you have to rewrite it, even if it is in a similar topic.