Overview
Over more than four decades of academic service, I have taught a wide range of undergraduate and postgraduate courses in Computer Science and Engineering. These courses cover the fundamental and advanced areas of computing and have been offered at institutions including M.B.M. Engineering College, IIT Jodhpur, JNV University, and JIET. Many of these courses are supported by textbooks, lecture notes, tutorials, and e-learning resources available through this website.
B.E. / B.Tech. Courses (M.B.M. Engineering College)
The following core Computer Science and Engineering courses were taught to undergraduate students between 1985 and 2013.
- Discrete Mathematical Structures (2001–2013)
- Data Structures and Algorithms (1987–2002)
- Computer Organization and Architecture (1988–1995; also taught at IIT Jodhpur, 2010–2017)
- Theory of Computation (2001–2013; IIT Jodhpur 2010–2017; JIET 2018–2020)
- Operating Systems (1988–1996; JNVU 2023)
- Design and Analysis of Algorithms (2004–2006)
- Compiler Design (JIET, 2018–2020)
- Artificial Intelligence (MBM 2001–2013; IIT Jodhpur 2010–2016)
- A Short Course on Artificial Intelligence for students of all engineering disciplines.
B.Tech. Courses (IIT Jodhpur)
The following courses were taught as Visiting Faculty at IIT Jodhpur.
- Theory of Computation (2010–2017)
- Computer Organization (2012–2015)
- Artificial Intelligence (2011–2016)
M.E. / M.Tech. Courses
Advanced postgraduate courses taught in Computer Science and Engineering.
- Theory of Formal Languages (2005–2020)
- Information Retrieval (2005–2007)
- Algorithms and Complexity (2008–2009)
- Speech and Natural Language Processing (2006–2020)
- Advanced Algorithms (2015–2018)
- Distributed Algorithms (2015–2018)
Teaching Philosophy
My teaching has always emphasized strong theoretical foundations together with practical problem solving. Many of these courses are supported by comprehensive lecture notes, tutorials, textbooks, and freely accessible e-learning resources available through this website.