# teaching

# Teaching Statement

One of the important reasons I prefer an academic job is the opportunity of interacting with students and facilitating their learning process. I believe that instilling knowledge to others develops new insights into the subject every time for the teacher. My teaching experiences, teaching philosophy, and teaching interests are as follows.

## Teaching Experience

### At IIITH

I have now 5+ years of teaching experience at IIITH. I had offered (many of them were designed by me) the following courses:

**Introduction to Game Theory**Optimization Methods

**Distributing Trust and Blockchains**Advanced Computer Networks

Data Structures and Algorithms

**Fairness, Privacy, and Ethics in AI**Human Values I, II

Currently, I am offering (i) Distributing Trust and Blockchains and (ii) Fairness, Privacy and Ethics in AI at IIIT Hyderabad

### Prior IIITH

I was one of the tutors for a tutorial in game theory and mechanism design at the Indian Institute of Science, Bangalore (Mar2008). I was also a teaching assistant for CS430: Intelligent Agents and CS436: Computational Game Theory and Applications at the Swiss Institute of Technology (EPFL) in Fall’2014. I offered CS715: Advanced Topics in Algorithmic Game Theory and Mechanism Design, a doctoral course at EPFL (Spring’2015).

## Teaching Philosophy

In the current era, all the information is available at fingertips, then why are the teachers necessary? I was always fortunate to have good teachers throughout my life. One thing I learnt from my teachers is that a good teacher is one who makes students curious about the subject rather than just providing information of the subject. According to me, a teacher should make students self-dependent and prepare them to apply the principles taught in the class to new problems. Towards this, I trust that students learn better by active participation than by only delivering lectures. Consequently, instead of just supplying students with course material, I will keep my classes more interactive by posing questions to students so as to trigger their thinking, making them to solve varied assignments, small projects and student presentations.

As the wise saying goes, a picture is worth thousand words, I will use graphics and slides in the class. At the same time, from my personal experience as a student, fundamental things, especially involving mathematical formulations, are better grasped when a teacher writes them down on a black board. Hence, I will use good blend of both the techniques, that is, slides complimented by black board.

I will reserve office hours for each course that I am teaching so as to enable more interaction with students, to clarify their doubts, be their companion in their journey of learning the subject, and provide more pointers to bright inquisitive students for learning beyond the scope of the course.

## Teaching Plan

Algorithm design plays an important role in design of many economic markets such as auctions. This area of research is widely known as EconCS (Economics and Computer Science). My research has been broadly in EconCS. The desired solutions need to be computationally efficient and need to be robust to manipulations by the participating agents. This calls upon techniques from game theory and algorithm design as well as optimization theory and basic math. In certain settings, the agents also care about privacy about their presence and their actions where cryptography plays an important role.

I am interested in teaching Algorithmic Game Theory and Mechanism Design for Masters stu- dents across various engineering departments and Advanced Topics in Algorithmic Game Theory at doctoral level for computer science students. Though the game theory was developed by economists and mathematicians to study analysis of conflicts, it has found wide spread applications in various engineering fields. Learning the techniques from game theory will be useful for students in solving many real world problems involving strategic agents having conflicting interests. The goal in the course will be to teach how to efficiently compute various solutions proposed in game theory. Thus,

Algorithmic Game Theory and Mechanism Design course will be useful for students in many engi- neering departments as well as for math students to get flavor of algorithmic aspects of the game theory.

Based on my research and interests, I can also offer Game Theory, Linear Algebra, Applied Probability and Stochastic Models, and Cryptography for undergraduate students. I can teach Design and Analysis of Algorithms, Computational Methods of Optimization at Masters level. (More details about the contents of the courses in the appendix)

To conclude, I am passionate about taking teaching responsibilities and offering courses connected with my research.

## Appendix: Course contents at broad level

Undergraduate Course Game Theory

What is game? Extensive form games vs strategic form games, two player zero sum games, mini- max theorem, dominant strategy equilibrium, Nash equilibrium and its existence, price of anarchy in routing games, co-operative game theory, core, imputations, Shapley value, Nash bargaining solution. Game with incomplete information, introduction to mechanism design, revelation principle, voting schemes, Arrows impossibility theorem.

Linear Algebra

Vector spaces, basis and dimension, linear transformations, kernels, rank-nullity theorem, vector space Rn, system of linear equations, representation as matrices, matrix operations, rank of a ma- trix, Gauss elimination to solve system of linear equation, determinants, Cramer’s rule, eigenvalues, eigenvectors, inner product spaces, orthogonal basis, GramSchmidt process, symmetric matrices, Diagonalization,

Applied Probability and Stochastic Models

Axioms of Probability, inclusion-exclusion principle, conditional probability, independence, Bayes theorem, discrete random variables, continuous random variable, probability density function, cu- mulative distribution functions, expectations, variance, co-variance, moment generating functions, Chernoff bounds, strong law of large numbers, random process, stochastic process, Markov chains

Cryptography

Goals of Cryptography: confidentiality, authentication, message integrity, non-repudiation, sym- metric key encryption (DES, AES) and various modes of operations, public-key encryption, RSA, El-Gamal, digital signature schemes, message authentication codes HMAC, SHA-256, key exchange protocol Diffie-Hellman, Zero Knowledge Proofs.

Masters Courses

Algorithmic Game Theory and Mechanism Design

Quick Introduction to game theory, algorithms for two-player zero sum games, PPAD-completeness of Nash equilibrium, algorithms for Nash equilibrium computations, introduction to mechanism de- sign and voting, impossibility theorems: Arrow, GibbardSatterthwaite, Green-Laffont, Myerson- Satterthwaite, VCG mechanisms, dA’GVA mechanisms. Myerson optimal auction design. approxi- mation algorithms for mechanism design, frugal mechanism design for path auctions and spanning tree auctions. Algorithms for Shapley Value computation. Algorithms for mechanism design with- out money, deferred acceptance algorithm, top trading cycle algorithm. online mechanism design and competitive analysis. Price of truthfulness in machine learning algorithms. Demonstrate some applications of the game theory in e-commerce, crowdsourcing, social networks etc.

Design and Analysis of Algorithms

Introduction to Algorithms and analysis, growth functions, complexity of the algorithm, (Big O, θ, Ω notations, amortized analysis. Greedy Algorithms: Minimum spanning trees, matroid optimization, Huffman coding, activity selection problem. dynamic programming introduction with applications like matrix chain multiplication, longest common subsequence, knapsack problem. Graph Algo- rithms: Max-flow min cut, Maximum weight bipartite matching (Hungarian Method) Introduction to Randomized Algorithms: Las Vegas vs Monte Carlo Methods, Primality testing (Rabin-Miller test). NP-completeness and approximation algorithms, fully polynomial time approximations schemes. On- line algorithms and competitive ratio.

Computational Methods for Optimization

Unconstrained optimization, first order and second order conditions, gradient descent methods, new- tons method, conjugate gradient methods. Constrained optimization over convex sets, KKT con- ditions, gradient descent methods, multiplicative weight update methods, Frank-Wolfe method, in- troduction to linear programming, weak duality, strong duality, complimentary slackness conditions, simplex algorithm.