It is only when I reached IIT I realized that my mathematics foundations were not as strong as I believed them to be. I could back-trace many of my shortcomings to the early days of my exposure to higher mathematics. The engineering mathematics was taught in a totally uninspiring way while I was an undergraduate. We learned all concepts but somewhere failed to see the larger picture which means while we grasped the concepts in the syllabus we failed to figure out the next step.
If I am given an opportunity to fix things I would do following things.
1. Dump the textbooks written by non-credible authors. For example no other book can hold candle to Gilbert Strang’s Linear Algebra. So use internationally acclaimed textbooks. Textbooks are silent scams in India. People of high administrative posts write textbooks and the universities prescribe them as textbooks. For example the Balguruswami’s Java textbook is one of the worst Java books ever written. (Also note that these people excel at writing books on Java, C and Numerical methods but when it comes to things like Compilers, Signal Processing, Machine Learning their names don’t feature anywhere.)
2. Writing Code to implement major math concepts is a must. The more abstract the concept is there is more value in implementing it in code.
3. Engineering Math is very vast. From Fourier transforms to Graph theory there are simply too many concepts and techniques taught in very short time. This should be changed. We should focus less on teaching many concepts but teach only the basic concepts and let students invent the advance concepts on their own in a step by step manner. The question papers too should reflect this.
4. A lot of Engineering Math is taught in first three semesters. This is bad. You learn about Fourier transforms in second semester and learn image processing in 7th semester. If somehow these things can be combined we will appreciate the math concepts much better.