Search This Blog

Saturday, August 27, 2011

Teaching 500+ Students - Part 2 (Conducting Labs)

This is to continue describing my experience of teaching a class of 500+ students. If you are interested, you can read the earlier post.

Last time, I had described my dealing with students who did not know adequate conversational English. This time, I am describing how we are conducting labs.

We have divided the batch into 5 groups, each of about 105 students. There is one lab of 3 hours per week for each group. For each lab, there are 8-9 persons (2-3 5th year dual-degree MTech students, and 6 1st year MTech students) to help students with any difficulties.

Normally, the first 3-4 weeks are hell for students who are looking at a computer screen for the first time. Too many questions, and too few people to help. So we requested all MTech students to do extra duties in the first 4 weeks. First two weeks, there were 6 extra MTech students in each lab, and for the next two weeks, there were 3 extra MTech students in each lab. The labs have gone extremely smoothly as a result, much better than what I could have imagined.

The first week was a bit of chaos. The MTech students themselves were new to campus, and trying to settle down, and understand the computing environment, find out where the labs are, and what they are supposed to do. In the past, instructors have not conducted labs in the first week for these reasons. But I was adamant. I was willing to not have a lab only on the first day of classes. From day 2, labs must start, and those who miss the lab of day 1 would have an extra lab on the weekend. I must say that the dual-degree students were huge help in this week and a couple of students went to lab on each of the five days. Without such dedicated students, I couldn't have managed this course. The first lab was to just remove their fears of the computers. They would learn how to send/receive email, attachments, searching for stuff through google, and a few other miscellaneous tasks, including playing computer games. A bit of linux commands too, and getting familiar with moodle. No programming, not even typing a given program. I didn't want to scare students.

The second week was to learn an editor, typing a program (which was given to them), knowing about the compiler, and running the program. Again, a very comfortable exercise, just to start the love affair between the students and the computer.

But the third week was different. The real labs started now. And the labs were very different from what their seniors had told them. We used to ask them to write 3-4 small programs (20-25 lines sort of stuff) in every lab. By the time they completed the course, they would be comfortable writing a 50-line program. This won't work for me. I would ask them to write at least a 50-60 line program in the lab, and the hope is that by the time they complete the course, they would have written at least one 150-200 line program.

Earlier labs would ask them to write some standard program from the end-of-chapter exercises. But now, they had to understand a more real-life situation and write a program for that. No rocket science. Just produce a telephone bill, or a shopping receipt, or project the train arrival time, or whatever, but a real-life context is important (not always, since I have to think of 5 problems of roughly equal difficulty, all of which can be done with the limited amount of programming that I would have taught till that week).

Since I can't expect students to write a 50-line program in a 3-hour lab, I would announce the lab problems at least 2 days in advance. So they can think about the flow chart, may be even try out some coding in their free time. But announcing the problem in advance has its own critics. Many students spend far too much time on them. Some students, after solving their own problems, even try to solve problems of other lab batches. Some have truly fallen in love with the machine, while others are just trying to catch up with those who already knew programming. Yet others find the air conditioned environment of Computer Center rather conducive to work (and sleep). But it is all my fault that they don't seem to be spending as much time in other courses.

Then the grading. Normally, the grading is the responsibility of the MTech student, who is as new to the system as the first year BTech student. And grading was done in the lab itself, with no record of program that was shown. And it was not surprising that the average of the class would invariably be a healthy 9 out of 10. This meant that almost all students wrote programs for all small exercises that were given in all labs, even though the students were not told about what program they have to write till the beginning of the lab hour, and within 3 hours, everyone had submitted, that too correctly, and had been graded. Something was not right.

I have insisted that all lab assignments must be uploaded on moodle. So if I want to check some submissions randomly, I should be able to do it. I would also give a very detailed grading policy every day - what to check, how many marks for what features including comments and use of proper variable names, etc. And grading should mostly be done offline (which is now possible since all assignments are uploaded), so that the TAs focus only on helping students in the lab. The lab average is a more realistic 6 out of 10 with a proper spread of marks on both sides. But students are not complaining. The amount of help they are getting, again thanks to all the graduate students, is something that they probably did not expect. Some of the TAs would be available even on weekends to help the students with their programs.

While we provide all the help to the weak students, one complaint that we keep hearing in IIT is that we don't do enough to encourage good students. Well, there is something for them too. We are starting the process to identify the best programmer in each section for each lab, and their names will be announced not just to that section, but to all the students. And soon, we will offer these students a chance to do a large project in lieu of the exam.

We tell our students one simple thing. We will work hard to provide all opportunities and support. But they should also work hard. Short cuts won't be tolerated. In other words, copying in a lab is a strict no-no. Some of them don't seem to understand this. Nowhere, the lab is taken seriously, I am told. We start using the services of MOSS server at Stanford today. Since this has been announced that we will use MOSS, and anyone copying will be failed in the course, I don't expect students to take chances.

Friday, August 26, 2011

IIMs want a gender-balanced classroom

Apparently, IIMs see a value in having a diverse classroom. In the front page news report, aTimes of India informs us that many IIMs will add up to 30 marks for female applicants, when they decide the merit list for admission.

This reminds me of a blog article that I wrote long time ago. In that article, the focus was JEE and admission to IITs, and I had argued that something had to be done to improve the gender ratio in our top academic institutes. One of the suggestions I had at that time was to add some marks to the JEE score of girl applicants.

I went through some of the reader comments on ToI website, and you find the expected arguments. If girls (may I say ladies, since all applicants to IIMs are adults) are good enough, they should come in on their own merit. They don't say it, but the obvious implication is that the ladies are not good enough. How come they score well in school, and their marks are marginally higher than the boys in school. There is an answer to that too. One comment says, "girls are good at cramming, while boys have better brains." I thought schools teach more of concepts, and coaching for admission tests teach more of tricks. But I let it pass.

Some others have commented that ladies are not interested in business administration. (Coming to IITs, it would translate to girls not being interested in STEM fields.) Of course, what is the basis of this sweeping statement. The comments are silent on that. Why would a girl who chooses to study science subjects in 11th and 12th class would suddenly decide in 12th class that she is not interested in pursuing under-graduate education in STEM fields. Is there any data to support such a statement (data showing that after 12th class, they change their discipline and study non-STEM fields). Well, the data from engineering admissions show that the problem of gender imbalance is only in the top 50-100 colleges. This debunks the theory that girls are not in IITs because they are not interested. I am sure similar data from management schools other than the top 50-100 would show that ladies are indeed interested in business administration, but they are not getting admission to top 50-100 schools.

One possibility that readers on ToI website would not want to consider is that perhaps the admission process inherently favours the men. One reader suggests that this is not the case by arguing that CAT is very simple exam. It checks things that any good student should know. Well, if that is the case, why is CAT coaching next only to JEE coaching in this country. And if the admission process has an inherent bias against ladies, then wouldn't it be in the fitness of things that that bias be counter-balanced by adding certain marks to ladies' score.

Of course, the difficulty that one faces is that there is no easy way to compute the effect of that bias in terms of marks. And hence, an academician would like to stay away from calling such a thing as an exercise in removing bias. Also, to suggest that this is being done to counter biases in the admission process, would imply that one admits that the admission process is not perfect. Any honourable academic should admit that there is no perfect admission process, since admission process amounts to predicting success of individuals in the long run, where the situation would be very different from the situation at the time of admission. And if I could see the future so clearly, I wouldn't be an academician. I would probably help more people (and make more money too) by telling them their future. But admission process is managed by a specialized breed of academicians, called academic administrators. And this breed finds it extremely difficult to admit even the obvious.

But what is there in the name. As Shakespeare said, "A rose by any other name would smell as sweet." At least some academic administrators are showing leadership and solving a serious problem. Let them call it gender-balancing. Let them call it diversification of student body.

By the way, this method of countering the biases, is followed in all top schools in the world. If, from your admission application, it is obvious that you had a particular hardship or a situation which would adversely affect your marks, that is taken into account while deciding the admission. In India, we are so afraid of any subjective evaluation (for good reason, I must quickly add) that we can't do such a thing on a case to case basis, and therefore have to apply any process identically to a large group.

This method of countering biases is extremely powerful for the simple reason that you could identify a large number of biases and decided on a year-to-year basis how to counter for each such bias. I can see that in future, this has the potential to replace reservation system. I should ideally check for each applicant what all hardships one has gone through, and give additional credit to that applicant to counter the bias introduced by that hardship. So, one may give certain amount of credit, if the applicant did not have access to a city school. One may give some credit, if both parents are non-graduates. One may give some credit, if one of the parents was always away defending the borders in a warlike situation. If tomorrow, we come up with a transparent system of finding out the financial status of an applicant, then that could correspond to some credits. If we can do all this, then our education system becomes truly inclusive, and we will no longer need a reservation system which only looks at one parameter - caste. But that is a long way to go.

Thursday, August 25, 2011

I Support A Strong Lokpal

I went to Ramlila Maidan on Sunday. It was an amazing experience. There must have been at least 20,000 people in the ground, while another 5,000 would be outside, either waiting in line to get in, or just came out, or just shouting slogans, etc. But with this kind of crowd, everything was running so smoothly. Except for the 500 meter stretch from the New Delhi Metro Station to Ramlila Maidan, all other roads in the vicinity had regular traffic. I don't think anything of this type is possible when we have meetings organized by political parties.

A few random thoughts on the protest.

Let us recall that initially Delhi Police had tried to put all sorts of restrictions on the protest. There can't be more than 5,000 people otherwise there could be danger to law and order. Do they ever say that to political parties. There can't be more than 50 cars parked at the protest location. Do they say that to political parties. Rallies by political parties often bring a large part of the city to a standstill, and despite being banned by the courts, the bandhs continue to be common. What does Delhi Police do then.

India Against Corruption (IAC) is being charged that they don't have respect for the parliament since they are demanding that LokPal should be able to investigate corruption charges against MPs. Let us see what the two sides are saying. IAC is saying that a few MPs may some time take money for asking questions in the Parliament. They may some times take money for voting in a particular way. And these few MPs must be investigated quickly. Government is saying that if MPs can be investigated by LokPal then it will become difficult to run Parliament. I read these statements as IAC saying that there may be a few MPs who will indulge in an act of corruption occasionally and in those occasions, they must be investigated. On the Government seems to feel that so many of MPs are corrupt that it would be difficult to find quorum (which is 10 percent of the strength) in the house. Which side has respect for parliament and which side does not. You figure that out.

IAC is saying that Prime Minister should be investigated if there is a credible complaint against him/her. (By the way, I do not fully agree with that. There should be some safeguard and a single person or a small group should not decide that the complaint is credible or not.) But Government view is rather strange. It says that PM can be investigated only by an agency which is to be directly under the control of PM, and no other agency (and this agency is CBI). Either the Government should say that PM will not be investigated by anyone, or it should agree to PM being investigated by some independent agency (whether LokPal or not). But to argue that PM can only be investigated by an agency which directly reports to PM is so moronic.

It is being said by the Government and many intellectuals that having an independent statutory body can lead to stalemates. That there can not be bodies with too much independence. Hmm. The Constitution already provides for independent judiciary, and thank god for that. The judges of High Court and Supreme Court can only be impeached, and we are noticing only the first impeachment of independent India now. Today's politicians would not want anyone with too much independence. The constitution already provides for an independent Election Commission, whose Chief can only be impeached, and cannot be removed through an executive decision. An Election Commission which has largely remained independent (though politicians have tried interventions like enlarging the commission) is a major strength of Indian democracy today. The constitution already provides for an independent Comptroller and Auditor General, who can only be impeached, and cannot be removed through an executive decision. And this has certainly helped the nation in uncovering some corruption. Chief Vigilance Commission was supposed to be another independent authority, though the process to remove the Chief is somewhat simpler. One does not need impeachment proceedings, but a process involving Supreme Court has been defined. If all these independent bodies have not created problems for Indian democracy, and indeed strengthened it, an argument cannot be made that mere existence of an independent body is a threat to Indian democracy. (But still, I think I will prefer, if the LokPal can be removed not by Supreme Court, but by Parliament through impeachment proceedings. The accountability of independent commissions have to be to the Parliament - just like CEC and CAG.)

A few intellectuals and of course some politicians have criticized Anna's methods of putting pressure on the Government. They quote Gandhi who apparently said that breaking of law as a protest is an acceptable strategy only against a foreign rule, and not against your own government, and hence "Satyagraha" is not a desirable form of protest in independent India. Sorry, I don't get it. Which law is Anna breaking. He only threatened to violate the restrictions imposed through promulgation of section 144 by Delhi Police which states that not more than 5 persons can be together. Section 144 can be applied only under the circumstances where there is a reasonable fear of violence and threat to public safety. Despite repeated requests, Delhi Police has not been able to bring forth any evidence which shows that there was any fear of violence or threat to public safety. Also, again the point I made in the beginning, will Delhi Police ban all form of protests, all forms of rallies, all bandhs in future. (If they promise to ban all rallies and bandhs and anything else that inconvenience citizens of Delhi, then I wouldn't mind them stopping one of the most peaceful protests of our times. But to stop only the peaceful protest, and not others, that is not cricket.) The only difference between Team Anna and other rallies has been that Team Anna wanted to do things in legal ways. They sought permissions. Others don't bother to seek permission to burn buses, stop trains, block highways, and so on. And if someone does not seek permission, you can't deny permission. You can only deny permission to those who seek it.

Protesting and putting pressure on legislators and the Government is an integral part of democracy. it can't run without citizens having the right to put such pressure. You can't have a democracy where you only have one vote in five years and you have no rights in between.

Finally, why is it that the Government has been able to successfully ignore IAC despite the huge support that IAC has all over the country. It is willing to offer some face saving to IAC, but no more. In a mature democracy, any MP would be worried if so many people are protesting for the same cause.

The root cause for this is the Anti-Defection Law or the 51st Amendment to the Constitution of India, which banned change of parties by any legislator. This was passed in 1985. The act essentially says that we are not represented by an individual, but by a party. The party knows that I may try as much as I can to convince my MP or MLA about my view point, if party rejects that view point, this MP or MLA can do nothing. It does not have that final and most potent weapon - to vote on the basis of his own intelligence, views, and what will benefit his constituency. So we can all try convincing our local MP to support a stronger LokPal than the one this Government intends to create, but at the end of the day that MP is powerless, and is subservient to party. And given that there is no internal democracy in any party anyway, a few people will control the agenda of every party. And while the individual MPs may be jittery, the party knows better. It knows that the next election is 32 months away, and the Indian public will forget what ever is happening today. May be they will lose a couple of states in the next few months but they reckon that they were going to lose them anyway.

So, if you want to push your viewpoint, you have to push much harder. One crore people is not enough to convince the Government that they can lose elections 32 months away.. You need 10 crores, and IAC does not have 10 crores on the streets.

The Anti-Defection Law has brought in political stability which was very much needed in the 1980s (and I suspect that if we repeal that act today, the situation may once again go back to what was there in the 80s). But that political stability has come at a significant price. We have all been dis-enfranchised to some extent.

Monday, August 15, 2011

Teaching 500+ Students - Part 1 (Language Issues)

In an earlier post in the summer, I had mentioned that I will be teaching the first year programming course to 500+ students, and I wanted advice from my readers on how to handle such a beast. First of all, I thank all those who responded. Your suggestions really helped me. This is the first time I am teaching such a large class. The last time I taught a large class was 17 years ago, when I taught Pascal to about 200 students.

525 is a very different beast. I thought I was well prepared. With 1 lakh lines of code under my belt, I was confident of knowing C language much better than Pascal that I taught 17 years ago. I had sat with several weak students last year and tried to understand what problems weak students face in this course. I went through videos of the first programming course at MIT and Stanford. I went through example lab assignments at several other universities, and the entire archives of this course at IIT Kanpur, for the last 6 semesters - all PPTs, lab assignments, and the works.

But when it started, I did not know what had hit me, and I still haven't recovered. Blogging was the first casualty. Google+ came at the wrong time. I have joined but don't follow anything. My active social life has come to a screeching halt. I guess this is my destiny for the remaining part of the semester. Today, after having spent the good part of the day in the office, I decided enough is enough. I got to blog.

At least point out the issues that I face, and hopefully the collective wisdom of the readers will help me sail through. The biggest issue is the language. No, I am not talking about 'C'. A fairly large number of students, in the initial survey said that they don't understand spoken English. This number is more than 15 percent, almost 100 students. They claim to follow the powerpoint slides. My natural way of teaching would have meant that while there are slides being projected on a screen, I would use blackboard to explain the finer points. This revelation meant that a lot more would have to be put up on the powerpoint, even though I may still use the blackboard on the side.

About 50 students said that they would like to be tutored in Hindi. And what came to me as a shock, some students do not follow even written English.

And this caused a debate in the department. I decided that I will request a graduate student to provide extra help to those who are weak in English. So he holds a session on Sunday for an hour in which he speaks in Hindi. I also encourage students to come to my office and ask me questions in Hindi.

Am I doing the right thing. Some faculty members don't think so. They point out that English is the official language of instruction at IITs, and therefore, it is the responsibility of the student to make sure that s/he learns sufficient English prior to coming to IIT Kanpur. By agreeing to offer help in Hindi, I am discouraging them from learning English. Second, it will increase expectation of students that in other courses too, the faculty would explain in Hindi, and a majority of faculty members are not from Hindi belt. So that would cause problems. Third, this is discriminatory with respect to non-Hindi speaking students who are also poor in English.

My take is different. The collective wisdom of the leadership of all IITs and indeed this country (because such decisions are taken at the cabinet minister level) has decided that students cannot be tested even on basic language skills. That we can't even specify that they must take English as a language in 10th or 12th class. This leadership has also decided that JEE will happen after 12th class, and not earlier, and that the schedule will be such that admissions will be offered only a few days before the semester starts. So, there is no scope for running a remedial course prior to the semester. With such decisions, one must expect that there will be students who would be weak in English.

What am I supposed to do. Ignore 100 students in the class. I do respect the fact that the same leadership has decided English to be the official language of instruction at IITs. I do not speak even one sentence in Hindi during my lectures and tutorials. I do not have any course related information on the official website of the course in Hindi. All assignments, quizzes, and exams are in English, and no translation is provided to anyone. But it is difficult to digest that even informally, I should do nothing about such a large set of students, who have worked really hard to reach where they have reached. I believe that a bit of compassion and support at this stage will make a huge difference to their learning experience. And I think not understanding the course content for several weeks till they learn more of English would be an insurmountable hurdle in doing well in this course.

Will this put pressure on all other faculty members to offer some support in Hindi. Will this discourage these students from learning English quickly enough. I don't know. Till I am officially told to do otherwise, I cannot refuse if someone asks me informal help in Hindi.