Courses

I have taken a variety of courses over the years, leaning towards more mathematical courses towards the end of my B. Tech. Some of my favourite courses over the years (listed in chronological order) include:

  • Probability Foundations for Electrical Engineers (EE3110) - The best possible introduction to the fascinating world of probability. The reference book (Introduction to Probability by Bertsekas and Tsitsiklis) is amazing and has some really creative problems!
  • Pattern Recognition and Machine Learning (CS5691) - Builds a very strong mathematical foundation for ML. A must-do for anyone interested in ML.
  • Fundamentals of Deep Learning (CS6910) - Teaches the math behind “fancier” models - transformers, CNNs, etc. Also great for learning to code PyTorch models.
  • Reinforcement Learning (CS6700) - Very demanding courseload, but covers everything from bandit algorithms to SOTA algorithms. Steep learning curve for me, but worth it!
  • Detection Theory (EE5112) - An advanced probability course on hypothesis testing. I found it fascinating how a single concept (Likelihood Ratio) can be used to tackle such a wide variety of problems.
  • Information Theory (EE5143) - The tutorials and reference book problems (Elements of Information Theory by Thomas and Cover) involved a lot of creative, out-of-the-box thinking and were really fun to do!

At Stanford, I plan on taking more advanced ML and probability courses (hopefully some optimization courses too, which I could not do at IIT M). Will update this page once I finish my first quarter :)