 I will just take 10 minutes to revisit the CS101 course projects that we have defined. As I said, this is a chance for you to understand the larger software development process in a real life situation. So a test of professional software development activity. A lab batch will work on an allocated programming project. The way the allocation will work is as follows. We have compiled a few project ideas. These are sort of one page or one and a half page project ideas. There are about 20 of them. They will be put up on the moodle by today evening. Additionally, each lab batch is free to suggest more ideas of program. So they will have to submit a one page write up of the kind that you will see here. It need not be only one. You may think of one, two or three projects. So you can suggest. These suggestions should come as early as possible, preferably before Friday. Looking at the ideas that we will be circulating and the ideas that you may be able to generate on your own. You will have a compendium of ideas from which you will be allocated a project. The final project allocation will be done in consultation with the three team leaders from each lab batch and the corresponding TA. That means it is necessary for you to set up a meeting outside the lab hours somewhere around Saturday, Sunday to finalize a particular project that you will do. So by this Saturday, Sunday you should make a choice that this project you are going to do. The same project can be done by multiple batches. There is no problem there because in fact such batches will be competing with each other. There is no problem if you refer to any resource including your competitors. This is not an exam where you are not permitted to copy. This is a process where you are encouraged to take the best material from anywhere in the world. Provided you cite the source. If you say I have used this particular function written by lab batch 77. Perfectly fine as long as you mention it. So copying is not prohibited but is encouraged provided two things. A. You acknowledge the source. It could be an internet source. It could be a standard library function as we shall see. It could be function written by somebody else. It could be a large portion of a project code done by some batch last year or two years ago. Perfectly fine. Because if you can use that meaningfully you will say that in this I want to do these 25 functionalities. Out of these for these 7 functionalities I have already identified these functions written by somebody they were. I will use them. Only for the remaining I will develop. But I will do a first class job of integrating everything. Perfectly fine. That is how modern software is developed. Nobody writes every line of code from scratch. But you have to acknowledge what you are copied from. And to search as to what you can copy is tougher than in an open book exam searching for the examples which are appropriate for solving a problem. So just keep that in mind. The teams have been formed. The team leaders shall be joined coordinator for the batch. Submissions for each team has to be done by the team leader. And submission for the batch by any one team leader. Any one of the three can be nominated as sort of a lab batch coordinator. He can do this one. These are all open ended projects. So what is to be done is not well defined. And therefore teamwork and decision making is important. And individual efforts will be screwed. As I said I might be given a task by my team to do testing. All that I expect is that every student of a lab batch must write one or two functions at least. Because this is a programming course. Everybody must do some programming. It could be a small program. Doesn't matter. But there cannot be a situation that at the end of the lab batch the report says these two students did review of documentation. Which actually means they did nothing. But I want to give them some marks. So I said they reviewed documentation. Review of documentation is a task. But it cannot be the only task performed by a member. So just keep this in mind. However what is important is that the learning here will be unique. Because you will learn to take decisions. So far you are used to somebody specifying this is a problem. Write a program. Now you have to say what is the problem itself? How much of that problem should I be able to solve? While I am solving the problem I suddenly realized that two weeks ago what I decided is not possible. I allowed to change my expectations. And I allowed to report that. That two weeks ago I thought I will do this. Now I think my batch can do only this. Perfectly fine. That is part of the learning. The project allocation will work like this. The three team leaders will allocate activities under the project to each team. So you must take up a project problem and ensure that roughly in three equal components the programming tasks can be divided. You might have to artificially do part of it. Within the team the team leader will allocate work to individual members. This is always done by conscientious. But the responsibility rests with the team leader. Now the work involves not just programming but variety of things. There is a considerable flexibility in allocation of the work. And that is why I had said form the team such that you have some good programmers in each team. Some are people who have some other talents. So effectively each team will have to take care of the complete software development activity of that particular part which is allocated to that team. Minimally every student should write at least some programs or functions for his or her team. Assist in testing programs and additionally should carry out at least one common task for his or her. That is why this 12 people team. The 12 people team is seemingly a very large team. In actual software professional development teams 12 people team is a small team. We are further subdivided into three teams. So 12 people lab batch and three teams. I tell you you will learn a lot of management in the process. Please try to learn as much as you can here. Now this is a professional requirement. Each student must maintain a record of the time spent for the project and the specific work done in that time. So the categorization could be like this. Time spent in discussions. If you say I have discussed for two hours. In your diary noting you say I discussed it with so and so and so and so. I can't say I discussed with people. That is not all. So you have to record everything that you did. And obviously I mean if I say I discussed with Mr. X and Mr. Y. The Mr. X's diary should also say that he discussed something with Bhattak. Otherwise there could be serious problems. Design work. Programming work. Testing work. Any other logistics work. Anything not mentioned here. Miscellaneous. All of this will have to be done. Please remember that professional diaries of this kind which are called time sheets are required to be maintained by all professional software developers every day on a daily basis. It's called a daily time sheet. It is not a work report alone. It is also collecting statistics. At the end of 8 months with 100 people team working if you are working for TCS or Infosys the company would like to know out of the total effort how much effort was spent on discussions. How much effort was spent on design. How much effort was spent on coding. How much effort was spent on testing. Because that way you accumulate worthwhile knowledge for team behavior. All this will have to be reported by your team leaders. So diary entries. A common electronic document. Some suggestion document will be submitted. Will be put on the moodle on Sunday. The format will be decided by the group. Each lab batch will sum up the number of person hours spent by each team of the lab batch and by the batch as a whole on a weekly basis. So weekly diaries will have to be submitted. The effort estimate. It is amazing information for yourself. When you find out पिष्ला आप्ता इत्ना जग्मारा और साडेतिन लाई ने कोड लिक्के होगे. This is not uncommon. But you should see whether the time is being meaningfully spent. You should see whether every meeting ends in decisions or not. You should see how many times you revisit the decision made earlier. All this has to be avoided. Now all submissions are due midnight of each Tuesday. This is a hard deadline. And the hard deadline means on a midnight of a Tuesday if somebody says 11.55 I tried sir but moodle was not working. That is not an acceptable argument. The requirement is that your submission should reach us. Not that you have submitted. Please understand the distinction. So the submissions have to be done on the moodle as well as a single tar file being made to batch TA and to DBP at CSC. Subject must be CS101 project submission. This will be a weekly submission. So how this should be submitted? We can't have 650 e-mails coming in. There shall be exactly one e-mail for every lab batch every week. What will that e-mail contain? It will contain a tar file. What will that tar file be? So here is a possible explanation. You will all have your home directories. In one of the team leaders home directory you make a project directory for your batch. Preferably call that as lab batch 11, lab batch 23, lab batch 24 as the name of that directory because that is the standard nomenclature that we are following. Under that directory make three directories for the teams. I would suggest that teams be numbered 1, 2 and 3 so that 11, 1, 11, 2, 11, 3 means 11, 1, 1, 1, 1, 2, 1, 1, 3 becomes three teams in batch 11 like that. So there will be three subdirectories for each team. Under each sub-directories there should be individual member sub-directories. And under each member sub-directories there could be effort done by me as a member to be inserted in that directory before the final submission is made. Whatever I have done in that week in my sub-directories I may have another five sub-directories. It is my job preferably on a regular basis but certainly much before the submission that whatever work I have done I might have written a documentation using g-edit. I might have written a sample program which is still not working. I might have written some comments separately whatever whatever whatever I have written should be inserted in my sub-directories. Next week when I submit I might have modified a 10 line draft program into a 20 line program. I might have modified a 50 line draft program into a 20 line final program that is perfectly fine. But week by week by week what each individual member has done and what the team has done all will go into that project directory under that team directory under that individual sub-directories and all that you do is you do one tarp of the main directories. So there will be a single tarp that you will be uploading on the moodle and you will be mailing to us and every week you will be mailing that tarp. You will agree that when my TAs or anybody who evaluates first they will look at the final submission which will decide the evaluation mainly but they will also look at how week by week the final submission has been approached. So consistent work over the weeks is also a criteria in the final project evaluation of this time. So is that clear how you will do that? Apart from weekly submissions apart from weekly submissions there are two submissions by each batch the stage one submission on or before 19th October this is a Tuesday so this deadline also coincides with your weekly deadline please don't confuse between the two the weekly submission will happen even on 19th October Additionally there will be a batch submission which will be specified shortly it will essentially consist of an SRS document a preliminary design document and the work allocation and the actual work done by members during the first stage along with a mark sheet as I will explain all of that will constitute the first stage report After that the second stage report will contain your final code working product or project and testing whatever whatever else which will be submitted on 9th November the project evaluation as I have already explained 20 marks for the whole lab batch there will be two stages five marks will be allocated after stage one 15 after stage two each student of the lab batch will get the same mark so if some batch gets let's say 12 out of 15 every student of the 12 students of that lab batch 15 on that count 3 out of 5 or 4 out of 5 or even 5 out of 5 whatever that is the advantage of working in a group that is also the disadvantage of working in a group Additionally 15 marks for each student are based on peer review 5 marks are to be allocated by submission one and 10 marks after submission two I will once again mention that you may not have done this peer review process earlier good time to learn this is how you will award marks at every stage first stage you will award out of 5 second stage you will award out of 10 so who awards I award myself I say in the first stage in these two weeks I have done this much work this is what was assigned to me I have been able to fulfil these requirements additionally I have done something and I will judge myself let's say I judge myself to be 3 out of 5 4 out of 5 now peer review means my team members sit together and say when will you come? 3 marks won't be given now how to convince my team members and it is far more difficult to convince my team members than an unsuspecting TA who takes a 5 minute viva whom I can easily fulfil but my own team members I can't that is why I say that the peer review process in general comes up with a far more accurate representation of the quantitative and qualitative work done by the member the same process will be followed for 10 marks at the second stage needless to add we will be conducting sample viva we will designate the students I will get the submissions on 19th of October and 9th of November 2 days 20th and 21st October and 2 days 10th and 11th November are reserved for sample viva so we will pick up any two students based on the marks that you have allocated based on other information that we have about such students from their assignments submission mid semester marks etc any two could be selected somebody may be best performer somebody may be worst performer and we will evaluate this viva is about their understanding of the project and mainly about the work that they claim they have done for which they have been given marks by and large last year we found that the marks given through the peer review process were indeed excellently matched with the quantitative and qualitative contribution but in some cases there were differences and that may result in this sad last life so for example if fataq has done nothing and my team I am able to convince that if you give 3 marks then I will get a double so team members out of PT say okay fataq 3 marks fataq gets picked up for the viva I say I have done this what have you done explain your own program now that program has been written by a friend last night he has explained to me how that program works but when the TA asked me in a viva I am unable to so suppose my TA is convinced that fataq is bluffing he has not done anything and he should deserve 0 marks not only he gives me 0 marks because my marks are allocated so every member of the lab batch loses 3 marks every member and there is no mercy here that is why you have to be very careful I don't mind if you are on a slightly positive side because I had calculated the averages last year is the first time I did this with undergraduate course I have been doing it traditionally for postgraduate courses in the undergraduate course we found out that the average marks at that time it was totally 10 marks out of which the average marks for the whole batch was 7.3 and earlier CS 101 the average marks given by TA's in the viva was anywhere between 6.5 and 6.8 which is okay absolutely perfectly fine in fact we found that students who were given 5 on 5 indeed deserve 5 on 5 students were given 0 on 5 also or 0 on 10 also those were exceptional cases the marks are correct but be sure that you follow this that's it get to work just 2 reminders to all of you one from friday onwards there shall be a quiz in every lecture it will be based on whatever we discussed during that lecture so please bring writing pads in order to write things number 2 the project ideas which have been compiled these are not necessarily great things there is just one page as I said when you write the SRS it will have to be at least a 20 page document but this one page idea or one and a half page idea there is a document which will be circulated by tonight it will be on the model additionally please think of any other interesting project that your lab batch can think of now you will get one opportunity to meet all your lab batch members during your lab batch time itself in the lab but I would recommend strongly that at least the 3 team leaders should set up a mechanism of meeting every day for 10 or 15 minutes to resolve these issues so that you can take this project forward it's a great opportunity don't miss it I have seen some batches turning out absolutely extraordinary projects very large projects and minimally I have seen all lab batches attempt to do a reasonably good job but believe me if you think you have learnt something useful in this course so far you will learn 10 times more when you do these course projects all the best thank you