Search This Blog

Wednesday, May 30, 2018

Life Lessons from a course on Computer Networks

I have been teaching for 25 years. The course that I have taught the maximum number of times in this period is "Computer Network." I try to ensure that at the end of the course, students have understood how data moves from one place to the other in Internet, be it an email, or a webpage, or a file download. They should also be able to design a network for their home/office/building/campus, etc. They should be able to write a network application, or design a protocol, and so on.

But I hope they learn more than that.I like to teach this course because this has so many important lessons on how to lead our own lives. On the other hand, we some times design protocols based on what works in our own life, in human interactions.

We start with a lesson that one hopes everyone had learnt as a kid. In any group, if someone else is speaking, you should wait for him to stop before speaking. This is nothing but Carrier Sense Multiple Access (CSMA) protocol. We then improve upon it by saying that as you begin speaking, listen if someone else is starting too. If two persons happen to start around the same time, then they should both stop and one of them then restart speaking. Well that is how your good old Ethernet works. We call it CSMA/CD. CD for Collision Detection.

When you have to communicate with someone, would you call them up and start speaking non-stop even before you hear a "Hello" from the other side. Or would you first say, "Hello," and ask if they are free to talk (Connection Establishment). If they give the go ahead, speak only a little and wait for some response, which could just be that they have understood what you have just said. If they ask you to wait for a few seconds, you stop speaking for that much time (Sliding Window Protocol). Well, that is the difference between UDP (User Datagram Protocol) and TCP (Transmission Control Protocol). No wonder, as in real life, even in computer communication, most applications use TCP. No one wants to communicate with people who don't listen.

When I was reading about protocol design and implementation, I came across this guideline. (This was one of the RFCs. If someone knows which one, please let me know. I will add the reference.) The packets that you send must follow the protocol strictly. But when you receive a packet, accept packets even if the sender has not followed the protocol strictly. This is, perhaps, the most important life lesson from the Computer Networks course. Always say the right things, speak the truth. But when someone else is speaking, don't cutoff communication because the other person has said something which shouldn't have been said. Be tolerant of other people's mistakes.

While discussing congestion control, we talk about reducing our own demand as long as there is congestion. An aggressive behavior will result in prolonging of congestion. It might help that particular sender, but it does not improve network throughput. The idea that we must optimize for social good and not for individual good. Of course, given that some persons will always be aggressive, we also want to study systems in which behaviors favoring social good are rewarded (or anti-social behavior is punished) so that it also becomes a behavior for individual good.

While discussing different queuing strategies, we explain that there is no unique definition of fairness. The max-min fairness appears to be a reasonable choice in this particular context, but change the context and something else could be fair. So in any negotiation, don't assume what you think is fair is necessarily fair and if they are not agreeing on what you are asking, it is not because they are selfish or stupid. Try to understand fairness from their perspective.

As I think of more examples, I will add some more. But studying networks has been a fascinating journey because it is so closely linked to how you communicate in real life.

Tuesday, May 29, 2018

Teaching by Temps: It is a budget issue too

Every few months, we see media raising the issue of faculty shortages in our universities. Today, one more article in ThePrint has talked about the same, though the focus is on new central universities opened in the last one decade. When you talk to the Vice Chancellors and others responsible for this situation, they will give the usual reasons every time. There are court cases and there is a stay on hiring. They are located in remote areas and there are not good enough applications. Or simply, there is a nationwide shortage of good people willing to come to academia.

Yesterday, ThePrint had another story on how the ad hoc teachers are running the classes.

Is it really the lack of availability of quality faculty members, or unwillingness to come to a remote area, or court cases. I believe they explain only a part of the story. There is another part to it.

What if, by some magic, universities could get quality faculty in large numbers. Will VCs like that. Faculty comes at a huge cost. On an average, just the salary and perks cost Rs. 20 lakh per faculty. If we include cost of institutional support for research, office, lab, library, Internet, PC, that is an additional Rs. 10 lakh per faculty at the very minimum. Where is the money to pay for all this. Most VCs look at faculty primarily as someone who will teach courses, and not as someone who is going to either do research or do institution building. If the faculty member is going to teach 4 courses a year, that means the cost of teaching a course is coming to Rs. 7 lakhs. Even if we consider the faculty member as doing all what s/he is supposed to be doing, and only part of the salary is due to teaching, teaching one course in a semester will mean about 1/7th to 1/8th of the total hours available in the year. Which means that the cost of teaching a course to the university is Rs. 3-4 lakhs. (I am assuming semester system, with a course being 40 lectures and associated labs, assignments, exams.)

When the same university recruits a temporary person for teaching a course, typically there are two models. One model is that you pay on a per lecture hour basis. In this model, the typical payments are Rs. 1000 per lecture hour. Some good universities will pay Rs. 2000 per hour. That means that the total cost of teaching a course is less than Rs. 1 lakh (including some transport support). The second model is that you recruit a full time temporary person for the semester, and ask him/her to teach two courses. Typical remuneration in such cases is about Rs. 2 lakhs for the semester, which is for two courses. So again, the cost of teaching one course is about a lakh of rupees.

Now think of a VC running a university on an extremely tight budget, where s/he has to try saving every rupee, otherwise it will be difficult to pay the electricity bill. Would the recruitment of permanent faculty members be very high on the agenda. I am afraid not.

If they had budget, and they had genuine difficulty in hiring quality faculty members, they would be offering not 1K or 2K per lecture, but 7-8K per lecture. (Just as an example, at LNMIIT, Jaipur, in 2009, where I was the Director, we used to pay up to Rs. 5,000 per lecture hour to our visiting faculty. That was 9 years ago. Inflation has been more than 100% since then.) We were very clear that if in any discipline we do not have a regular faculty member, we will request only the best to be a visiting faculty. No compromise on quality because of lack of faculty.

The problem of faculty shortage will not be solved by increasing the salary of faculty alone. The universities should also have money to pay those salaries.

Saturday, May 19, 2018

When is Fee Hike Justified?

We keep hearing about the students and parents protesting against fee hike at schools and colleges. Are all fee hikes unjustified and must be opposed.

In many cases, the fee hikes are necessary, but there is no communication from the administration explaining it, and hence the students and parents get upset. Fee hike should be explained in terms of institutional finances, and I believe most opposition would go away. But, of course, there are times when some institutes try to be unfair and that is why they don't explain the hike properly.

The most common charge by students is that they are not improving service, but charging more. This argument is usually bogus. An increase in fee which is commensurate with increase in expenditure can only result in current level of service. Only if the increase is substantially higher than the increase in input costs can the question of improved services be raised.

The second most common charge is: The inflation was 6-7% but you are increasing the fee by 12%. One really needs to look at all costs and all revenues to decide whether a fee hike is justified or not. Let me give an extreme example. In a government college, say, 99 rupees out of 100 spent come as a grant from the government, and one rupee as tuition. At the end of a year with say 8% inflation, the cost would have risen to 108, but if he government grant remains 99, the fee will have to be increase from 1 to 9, an 800% increase without any new and improved facilities, or some services would have to be curtailed.

While this was an extreme example, the point is that a university may have multiple revenue streams, and if some revenue stream doesn't grow at the rate of expenditure, then some other revenue stream will have to increase faster. For example, if you were dependent on philanthropic funds, and they don't grow as much, tuition may have to go up faster.

Also, there can be some sudden increase in expenses beyond rate of inflation, like the 7th pay commission award. Your faculty costs are going very high. So you will have to increase the fee appropriately.

When does a fee hike become unjustified? In the following situations.

If the fee hike is resulting in significant revenue surplus. A bit of surplus is ok, since there are many uncertainties in running any entity. But a large surplus is an indicator that you want current students to pay for future improvements or worse, there may even be a doubt that the institute will find a way to take this surplus out in some way or the other.

The other thing to check will be whether there is cross subsidy. If my fees is going up and my program is making profit, there is an explanation needed for why the other programs shouldn't pay more, reducing my fee.

The controversial part is when the students/parents think there is inefficiency in running the institution and if certain costs are controlled, their fee need not be hiked by as much. My own take is that if tuition is the only or primary revenue stream, then it is the responsibility of the administration to convince students that their fee is being spent efficiently. However, if students are paying only a fraction of the costs, they would have less say in determining what is useful and what is wasteful expense.

The most problematic cost is the cost of building new infrastructure. The problem here is that any building that you are constructing is likely to last 60-70 years, but if you take a bank loan for a shorter duration (say, 15 years), then you are loading all the costs to a few batches. This is fine if the growth rate is small. After all, current batches are paying very little for the infrastructure they are using. So some payment for future infrastructure is fine. But if the growth rate is high then asking a few batches a very substantial amount to take care of bank loans is certainly problematic.

Lastly, consider a situation in which there is a genuine reason for fee hike. The administration has done its best to control costs. They have worked hard to maintain all revenue streams to the extent possible, and yet there is a shortfall in the budget. Even in this situation, there is a need to cap the fee hike to a reasonable number. When someone joins as a student, one should have some idea about the total cost of education. When I am told the first year fee (and other expenses like hostel/mess), my expectation is that the costs will rise roughly at the rate of inflation. So, if the inflation is 6-7%, may be the costs will increase at 8-10%. If once in a rare while, the fee has to go up by another couple of points, I will understand. But anything more than that is a problem because I hadn't planned for it. To take care of sudden increase in input costs (like 7th pay commission) or sudden reduction in some revenue stream, instead of high increase in tuition, the institutions should depend on its surplus. As mentioned above, a small surplus every year is acceptable if it is properly invested and used only for the institution in due course. And may be the new batches can be asked to pay more. This will ensure that everyone who joins can have a reasonable plan for their educational expenses.

To conclude, the issue of fee hike should be handled by engaging with those who are going to be affected by it, and sharing as much information about the reasons for fee hike as possible. Try to limit the hike to little more than inflation every year, and the new batches can have higher cost, if there is a need to increase revenues further.