Rigorous it was. About 5-6 technical courses and 2-3 lab courses each semster. Classes were from early morning to late afternoons - five days a week. First two years were common for all departments; a semester later a few courses were common and then the next two and a half years it was almost divided along departments lines with a few common electives thrown in. I heard that the "toppers" in the electrical engineering department used to go to some of the instructors and ask them to make grading more difficult! That is when they were not busy misplacing books in the library so that others cannot find them.
All this rigor was for what purpose is still unclear to me. With so many courses and homeworks it was almost impossible to try to really understand the subject matter. Instead some of us learnt how to solve some problems to survive. More serious problems, almost never mentioned, remained though.
I got in IIT just after the high school. At IIT Bombay almost all had at least one year of college education before joining IIT. In the eyes of IIT adminstrators both my high school background and one year of college after school were equivalent, which was not true. Not only was much of the material covered in the first year of college not covered in my High School, but also those college courses seemed to mirror the first year of IIT courses with even the text books same. For example Resnik and Halliday was the common physics textbook in many colleges. To make matters worse, some of the incoming students had two years of college.
In American universities if one wants to repeat a course, normally he can do so but cannot do it for credit. In IIT this was not the case. We all took the same physics course. When the topic of vectors came up, students with just high school background stumbled because of their unfamiliarity with the subject matter, while others had no problems. Doing a course with someone who is very smart and is repeating it, is a no-brainer in terms of who will get the A grade and who will have to struggle. In theory one could drop the courses to keep load reasonable, but was difficult to follow.
Students from the same batch and same departments had most courses in common. It was like an assembly line learning and didn't promote people to go at their own pace. I had the misfortune of falling sick twice - once with chicken pox and once with typhoid. This really upset my schedule and IIT didn't seem ewell-prepared to deal with situations like mine.
There was about one humanities course each semester for the sake of diversity. That was considered to be a waste of time especially by toppers and in some instances the requirement by replaced by some mathematical course. As a result most of us graduated from IITs without any understanding of the world around us.
My opinion is that liberal arts undergraduate education is the best for most of us. It allows us to grow up as human beings and makes us well prepared to tackle even technocil matters later in a more responsible manner. If that is not possible, include more of such courses in the IIT curriculum. Morever, looking at the current state of IITs and how it has become a tool for training gifted students to become labor in the IT industry for the developed world, I think scrapping IITs wouldn't be a bad idea. It won't happen though.