The first part of the course studies optimization and programming theory, which we then apply to the theory of producer and consumer behavior. The aim is to explain the logic of the basic mathematical techniques used in microeconomics. We then turn to a partial equilibrium analysis of perfect competition and monopoly, and to the welfare properties of general equilibrium. The course concludes with a brief introduction to game theory, with applications to imperfect competition. Problem sets and two exams are required.