Courses that Prof. Deb teaches at IIT Kanpur


  • Optimization in Engineering Design

  • This is an undergraduate as well as graduate level course. It emphasizes the importance of optimization in engineering design. The course includes Classical Optimization techniques, Linear Programming, Nonlinear Programming, Mixed Integer Programming, Introduction to Genetic Algorithms and Simulated Annealing and Optimal Design Case Studies.

  • Evolutionary Algorithms in Search, Optimization and Engineering Design

  • This is an undergraduate as well as graduate level course. The course starts with a brief introduction to classical optimal design techniques leading to the need for Evolutionary Algorithms. Also included are discussions on Genetic Algorithms (Theory and Advanced Operators), Evolution Strategies, Genetic Programming, Evolutionary Programming, Differential Evolution, Constraint Handling, Multi-objective Evolutionary Algorithms, Evolutionary Scheduling, Self Adaptation and Engineering Applications.

  • Multi-Objective Optimization: Theory and Algorithms

  • This is an undergraduate as well as graduate level course. The course starts with an introduction to multi-objective optimziation basics and spends almost 50% of the course on theory and classical multi-objective optimization techniques. The remaining 50% of the course is spent on discussing evolutionary multi-objective optimization (EMO) methods in details. This is a unique course where students get an exposure to both theory and numerical optimization methodologies involving classical and evolutionary methods. Strengths and weaknesses of each method are highlighted. The course also discusses a number of current research issues, besides discussing a number of interesting case studies.

  • Artificial Intelligence in Engineering Applications

  • This is an undergraduate as well as graduate level course. The course begins with an Introduction to various Artificial Intelligence Techniques and also includes Case Studies from Engineering.

  • Design of Machine Elements

  • This is a compulsory undergraduate level course in Mechanical Engineering. The course includes the various Steps in Engineering Design, Failure Theories, Fatigue, Reliability and Design of various mechanical components like shafts, gears, brakes, springs etc.

  • Design of Mechanical Systems

  • This is a compulsory undergraduate level course in Mechanical Engineering. The course includes Design Philosophy, Design Practices from Past and Present, Feasibility Study, Design Synthesis and Analysis, Detailed Design, Design for Manufacturability and Environmental Considerations

  • Engineering Mathematics

  • This is a graduate entry-level course in which all basic mathematical fundamentals needed in enginering, such as linear algebra, matrices, tensors, vector spaces, solution of linear systems, root-finding algorithms, ordinary and partial differential equations, Fourier transforms and integrals, Bessel functions, optimization, Laplace transform, complex numbers, etc. are covered.

  • An Introduction to Programming and Numerical Analysis

  • This is a graduate level course. It starts with an Introduction to Computing, Programming in C and also includes the various Numerical Computation methods--Solution of a System of Linear and Nonlinear Equations, Root Finding, Numerical Differentiation and Integration, Solution of Partial Differential Equations, An Introduction to Finite Element Methods and Engineering Applications.

  • Engineering Graphics

  • This is an undergraduate level course. The course includes Engineering Drawing and Use of Computer Aided Drafting.