 I am a faculty of IT department in KG Someya college in Vidya Vihar and actually we are having engineering branch in two campuses in one in Sain branch and one in Vidya Vihar and I would be representing Vidya Vihar branch and in that one altogether we are having five branches of engineering offered and altogether it is having 120 intake per branch. So we would be having ten classes for the first years wherein we would be teaching computer programming one and with that one like to and for computer programming subjects it is taken care by computer and IT branch faculty and for that one we will be having two coordinators allotted one from computer department, one from IT department and altogether ten faculty are teaching for the subject two coordinators to coordinate the syllabus to keep the synchronization and for the evaluation I would be coming on later like how we are going to do and with that background I would like to have a look at the syllabus part first and as we are affiliated to the Mumbai University, Mumbai University has revised the syllabus for computer programming since three years back and the syllabus right now what we have to follow are for CP1 first semester it is including CC++ and the concepts of object oriented programming and for CP2 in the second semester they are going to learn the Java as a programming language and with the university thing as we can see on the screen they are we are taking three hours per week theory lectures and two hours per week for practicals and there is no practical exam to be conducted for the subject and for the theory evaluation we are having total 125 marks allotted for that one out of that 100 marks the theory paper will be there at the end of the semester and then 25 marks are the internal evaluations done that is by the teaching faculty and that are the term work marks and for all that evaluation we are having guidelines given by the university and this is the syllabus pattern given we are having structure programming using C++ so as a language C++ is introduced and then we are having prescribed hours for each of the topics given and in that one for the data input and output that is the second chapter as you can see we are having print off and scan of statements as well that means and in the along with that in the first chapter it is mentioned that C++ as a super set of C that means we should have a brief we should give a brief idea to the students about C as a language and for print off and scan of we should be showing them the syntax of C and then proceed for the C++ as a language and at the end of the chapter sorry at the end of the syllabus we are having introduction to object oriented programming in C++ where we are going to introduce about classes and objects and then after that that was about this total syllabus and according to the prescription it comes out to 38 lectures and we usually we follow 10 to 12 weeks maximum in a semester so it comes out to 36 regular lectures and on top of that we should be struggling to take the extra lectures to cover the syllabus which is a very difficult thing for us and for the term work max as was asked earlier they have to maintain a journal for the semester and that journal again it is prescribed in the syllabus they have to attach 25 programs whatever number of programs they are executing that is different but 25 should be there in their journal or their practical record and for that 25 again it is given like 5 programs on the fundamentals 10 programs on the control structures like functions arrays data structures all that part and again 10 programs on the object oriented part so like that we have to design the total list of experiments and then we are having the term of distribution for the max so as 25 max are to be allotted by the teaching faculty for that 25 again it will be like 5 max for the total attendance including theory and practical and 10 max for the journal or the practical performance and 10 max for the test and in our college we are following there will be 2 tests taken one will be the mid term test and the other one will be the end term test and these tests are to be of 50 max each and then total 100 max will be reduced down to 10 and that max are allotted for the student and then there are recommended books given for the subject so that was about the syllabus part and for the evaluation pattern it will be 100 max paper out of that 40 is the passing max for the student and then the question paper will be set in the university and then the evaluations are also done in the university as a cap analysis so the faculties are deputed from the college to the university where in the corrections are done and then again results will be declared by the university and coming down to the question paper pattern again there is a standard pattern maintained where are it is having total 7 questions given in the paper out of that first question will be the compulsory question and the pattern follows like each full question carries 20 max it can be a bigger question like one full program of some object oriented concept which carries total 20 max or it can be divided into 10 plus 10 or it can be 8 plus 12 like that and then till now like it is not given anywhere written anywhere that what will be the percentage of theory questions and the programming questions but it is observed that it usually comes out to 50 50 or like 40 60 60 40 like that and where the students feel the difficulty is to write the programs and this was about the term work mark earlier I have explained and I am having few question papers with me the sample papers these are the university question papers the first question was the compulsory question and then the rest 6 questions are there out of them any 4 they have to attempt 4 full questions there are totally 3 papers and questions like what would be the output of the following programs are also asked in the paper so like we cannot skip even the smallest part of the syllabus given like here as we see in the example they are having that increment decrement operator and what will be the output of the program and even like that even for the logical operators like left shift or right shift so they should be knowing the binary representation to calculate the shifting as well so there they find it we as a faculty find it difficult to cover that much detail for all the topics and for the practical aspect it was given the rough guideline from the university was given like 5 programs on control structures 10 programs on object oriented concept like that and we have designed an elaborate list of experiments for the students and in that one we are maintaining list of practice programs list of final programs so students have to attach the final programs in their journal and the practice programs are for their practice so they would be practicing in their lab notebooks which way they are maintaining so that will be a writing practice as well as for the implementation part and here as I am having only the first 10 experiments out of those 25 final plus some practice programs and then we have to give the next 15 programs and these details are loaded onto the internet where the students have access to them and then for the next list actually right now I am not having that I would be mailing them to the coordinators if you see the syllabus very nicely the syllabus states that C plus plus is a superset of C and then you have if you look at your input output C in and C out are mentioned like also ran somewhere in that list but you always scan f print f get car everything everything is it not 10 amount almost to say that for a major part of the course people be writing C programs and compiling them using C plus plus no sir they are you writing C plus plus programs and they are running it in what is what is C plus plus in most of the earlier part yeah you can say that only C in C out would be so here is a here is a simple test whatever programs they submit compile them using GCC not C plus plus and see how many errors you get my guess is you will not get a single error unless you are using C in and C out that those will be the only two things that is natural and there is nothing wrong with that and that is why now in retrospect we also have exactly a similar situation by the way we do not say C plus plus we say programming principles using C C plus Java but that is left to the instructor and that first course the syllabus is not decided by the CS department it is decided by other engineering departments because their students are being trained in the first course more than the CS tools so what this is CS tools you want to do something else you teach them separately but common course must have this now the way we have evolved our course looks very similar to this but if you see majority of the places there is a separate course in fundamental C programming and there is a separate course in C plus plus the dealing that yeah earlier syllabus it was like that for CP one for the first time they were having Unix with C programming right and for second time it was C plus plus with object oriented concepts right and with the revision we are having this so they are pushed it down don't the teachers find it slightly difficult it's very difficult sir like to explain the basic things like printf scanf are the function calls and C in C out are the objects like since the beginning the problem is there and students feel that C in C out are the substitute for printf and scanf which is not there that's right in fact I have permitted them to believe so there's no harm it goes on sir whatever we struggle for okay okay the I think the issue is to when you try to emphasize that object oriented concepts are something special and different than procedural concepts there cannot be any object oriented programming language which does not encompass basic procedures where the basic procedures have to be there so when you talk about what you call control structures if than us for while there's nothing object about it no that that is required anywhere and that's very fundamental logic so I believe that that is stressed everywhere whether it is Bombay University or any place but array okay array as a data structure of variables is distinctly different from let's say object class you take struct for example now struct and class are two slightly different paradigms but you can do the same thing using both yes don't students get confused when you do that yes surely I would think that even teachers get confused anyway that is life I guess I wanted to use this platform to have one one more clarification for my side like one of our senior faculty members is like he is insisting to do one experimentation like with the syllabus we were having difficulty like first thing we have to make them the student understand what is procedure oriented because we start with like what is machine language what is assembly language like first few lectures are with that only and then we see move forward for the different languages and then like it we are hardly able to touch the object oriented concepts at the end of the semester so like what he is insisting is we can start over all first with the object oriented programming itself then we will move top down because as you said like all control structures and all these things we will be using there also yes so like since beginning we'll make a habit of writing classes on the objects well yes and no I mean it all depends upon what you want to can as long as the student can solve problems using some programming in my yesterday's lecture I taught them awk in five minutes and told them how a tough lab assignment for which they are going to struggle for about two hours can be solved in a ten line program now having taught or I will ask questions in the monoc that is not permitted in Bombay University there is a prof in Trishur or Calicut who gave a talk here on teaching program he has joined IIT Gandhi Nagar now so he teaches computer programming using HTML and web and he says the most decent computer programming program development environment is the web why do you require compilers and they send that you can actually if you take JavaScript for example just JavaScript you can convey all the control structures all the notion of parameters differences everything and as a added attraction you tell them to solve practical problems train reservation they design a screen collect the thing you can even lead to databases at the back end so these are different I don't think as I said at the beginning there's no unique answer to that the problem with most teachers is that when you say this is the way you have to teach because this is the way I will examine then teachers lose their liberty to do the experimentation here like mostly the students ask us like on arrays like what are the major programs are still now and what are the solutions but I will I will also point out one more thing you see this present company is a very special company you all come from good institutions you all have experience in teaching the thousand teachers that we are talking about I am not even sure that all of them would be competent programmers there would be situations where 90% of the students within first three months will become better programmers than teachers and ultimately we are targeting all our efforts in giving something to the students that's the reason why I insist that teachers doing any training program must write programs as these two as they would expect students to write there's no shortcut to that so that is one part of the part and parcel of the training you know why why 15 days provide two weeks full-time program is because teachers how to do the labs exactly like the others do and this is the last question I wanted to ask you 25 programs are to be submitted by students now even if you have 10 teachers okay one teacher is for what 60 students 60 into 25 I will bet that no teacher will be able to physically read all 25 programs submitted by a student 10 teachers for theory lectures one teacher would be conducting the theory lecture for one class or one division no then who takes the lab articles for three batches are there of our 60 students 20 21 batches done okay and batches are allotted for separate teachers okay so 20 25 20 students 20 students into 25 programs 50 programs and I am the teacher okay I still give the same bet I'm willing to lose a whiskey bottle if you guarantee that all teachers for all labs read 25 into 2 that is 20 that is 500 programs physically I would think it is impossible I don't know what is I mean you would know right actually how we do is like per session we allot some two to three programs they have to perform and like in the batch whatever difficulties they are having they will put forward like some errors are coming some logical problems something of that sort correct and so we will help them out to solve that solution that the next session when they are coming the next lab they have to bring us the fair copy correct but the final journal that they will submit they will still be at liberty to replace an older program as a human now here is a question how can you ever imagine catching copying in the final submission it is impossible we we ask students to just tar their files and submit that tar as a submission so we have a common submission pool so that date time stamp and the students login is automatically logged in there and then we do something else we we are just doing this for the first time because we have had instances where people submitted an assignment which was done by some other student two days ahead by grabbing that so we are putting in a piece of software to find out similarities between programs so about let's say about six assignments they are submitted and 800 students so what 4800 programs and they could have multiple documents there over the next few days as we speak they will all be analyzed to find out similarity so such software I think that there is some open source software we are augmenting it but we should include that as part of the distribution that teachers can have this you see I will tell you the reason for this ordinarily if we are not strict about it then more and more students will be inclined to copy programs but we can't be strict about it because it is physically impossible to cross check this now this is a chicken and egg story unless we break this not somewhere we'll not be able to encourage students to do their own work like I was speaking I was first time and I heard this I was so shocked that MCA and B final year projects in some places in Tamil Nadu they were available for sale it seems then as I was traveling to Anna University that fellow showed me a big this thing it said assistants to engineering students and that is a nice name to say that you pay me so much money a project will be done and when I express my shock Krishna said is hardly anything that we can do about it except for while evaluating the student if we find out the student has not done much then he can fail or get less marks but they get away without doing such work when I was expressing this shock in a meeting in Delhi the vice chancellor of ignore you tells me he says the vice chancellor of Uttar Pradesh technical you see told me the Uttar Pradesh is very common and the ignore vice chancellor told me that Delhi has a refined version so if you just want a project report it costs three thousand rupees but if you want eight hour coaching on defending that project report additional two thousand rupees now this is ridiculous now why this is happening is that we have no mechanism of cross-checking so what what mechanism do you use I mean what is this is outside the syllabus and technical teaching but this is important part of educational process because typically project submission if you think just if it is allowed to do at the end only then this is very difficult to cross-check so whatever regular submissions are possible like fortnightly whatever developments have been that should be reported a journal kind of file kind of thing can be maintained at the teacher very he will submit those pages or whatever has been done and we recorded periodically only then we can say that they have done them so in fact then one suggestion would be we'll just find out because two things I found a missing revision control system either CVS or RCS I don't know how many of you use similar system because in turbo environment if your group projects for example now there are three or four people who are developing the same functions of programs now I put in a version you put in a version there could be huge confusion like any project development even if I am doing it alone I should have a control system for that and these things exist in Unix environment I do not know the corresponding thing there must be similar systems also in the Microsoft environment but it appears to me because none of you spoke about it I don't think your students or labs use that environment right now nobody uses them and one of the reasons is because I did not use it till now okay I used it after I stopped teaching programming courses although Unix environment had the revision control system even in the early days okay but subsequently all teachers have been using it and I found out why I had never used it myself whereas all the other younger teachers had used it now I will be using it now if we take thousand teachers the likelihood of these teachers themselves having ever used RCS are very remote in fact many of you might not have used revision control system so I will spend about 10 15 minutes tomorrow sometime to describe the RCS and I'm making RCS part of our distribution so that that will be a few advantages of RCS is that in final submission even though we track it electronically by asking them to put a tar file the final tar file only comes to us but if I have RCS I have RCS log I can know exactly what they how many lines were returned I can extract deltas and I can see which day what program portion was there progressive development now suddenly in that progressive development a major program appears as a new one obviously it's a coffee anyway so I would like to add regarding that project evolution what we do at our place we have got a project card given to every student so every week what the student does he has been allotted a guide so every weekend he has to check with the guide he will show his progress and on the progress card that is project card he will write what he did in that particular week and the guide will put a signature so that way we go on progressively evaluating the projects it is not like at the end of the same they just come up with the project but every week they have to go to the guide and show the project development and the guide will see it and put his remarks over there and after that like after every one month we'll have a project evaluation team the team goes there and they will evaluate the project respect of the guide sometimes it may possible that the guide will have soft corner for his student so we just form the teams and they evaluate them no for the main project I would like to get your expert opinion about some of the project evaluation part of external projects which the students do outside for example MCA projects are external right so we do find this problem not very often if they if he or she is an average student they can get a very good project excellent project from some outside agencies like this and they can train them and even though we have internal evaluation periodical evaluations they go to the guide and explain everything all this evaluation is happening but still we find it very difficult to get to know that whether it is really done by the student or so what could be the better mechanism to find we do feel that it is not done by him but there is no proof because he's presenting in extremely well manner he's he has learned everything he's with the technology language everything is spent but we understand that it's not been done by the student it rarely happens so is there any mechanism to really the worst case is when our own students let's say two people have gone out one fellow has actually slogged very hard done something and has submitted that work for full six months the other fellow is a street smart person who went to that Chennai shop or Delhi shop got the project paid 2000 rupees got trained he's more articulate than the other person and he comes back and scores many more marks than the other fellow this is non-solvable as long as the project is done outside in IIT Bombay we do projects if companies want projects to be done they sponsor it but there is a guide for the project in IIT Bombay who is responsible for certifying something something whatever what so there is no there is no solution there is no clean solution to this either the level of ethics among students is so high that they will not indulge in it that is in impractical even though these students are not bad people per se but they will be tempted you know there are hundred marks there I don't have time I want to do something yeah yeah and my father has 5,000 rupees so what's your problem that this problem is not solvable but if if we have ever a complete set of programs ever submitted by anybody in any university and if we can subject that to such test of similarity test then we can find that out I mean why papers are found out like that technical papers plagiarism is being caught like that we get routinely latest from my Tripoli and others a process either a year here this paper this paper has been verbatim quoted for three paragraphs by paper submitted by somebody wherever let's say Jalsakula now what action can we take so if grown-ups can be tempted to do this why do we blame the students I mean is I would not this is not good but this is what will happen you can only subject themselves he problem is that even in those few cases where you are able to establish that the student has not done it you only wrap the student on the knuckle you don't fail him you don't throw him out of the institution there's no exemplary punishment that is ever given if what is exemplary punishment is sets example so we also become lacks and frankly I don't know how this problem solved but I'm definitely aware and I'm concerned about it so that is what I saying smaller our coming back to our issue whenever we have this notion of 25 program submission etc. etc. this notion I think is not correct weekly submission as most of you said and you also mentioned that you will ask them to submit that grades we are maintaining in the teachers record okay okay that is done but I get the end of the semester all the sheets are there or not to check that one it is difficult no so instead why not we all decide we are talking about programming why can't people submit their programs and documentation electronically only why do I have to submit papers with signature because if you can do a DVD backup routinely okay let's say five or ten submissions ten DVDs for all the entire class I think you can you have solid records as far as the legality is concerned and the students cannot fake things later on so this is just one suggestion for the programming course and maybe if we initiate this the teachers who attend our training program could start using it for other subjects that the teachers were one solution for your thing is generally the students who do their projects externally will come back only on the last day to submit the project no not periodic the following you should insist on every week whatever code he has written it must be mailed to you it doesn't matter you you don't you to test he can email he should email the code this file with date now those files will be with you that will force the student either to purchase it well in advance but then he can submit he cannot submit it all of it on the first week so you have to study it and show okay today I have written this then tomorrow I have written this believe me if he does that he has understood programming so at least partial purposes are but this submission a weekly submission kind of thing if you make it mandatory that doesn't matter in one week if you have not written any code you say no code return but if he says for five weeks no code return and six weeks suddenly a course code appears then you know that there's some problem so if this this kind of simple tricks you can play with it because I have no other advice to give