This is an introductory textbook of linear programming, written mainly for students of computer science and mathematics. Our guiding phrase is, what everytheoreticalcomputerscientistshouldknowaboutlinearprogramming. The book is relatively concise, in order to allow the reader to focus on the basic ideas. For a number of topics commonly appearing in thicker books on the subject, we were seriously tempted to add them to the main text, but we decided to present them only very brie?y in a separate glossary. At the same time, we aim at covering the main results with complete proofs and in su?cient detail, in a way ready for presentation in class. One of the main focuses is applications of linear programming, both in practice and in theory. Linear programming has become an extremely ?- ible tool in theoretical computer science and in mathematics. While many of the ?nest modern applications are much too complicated to be included in an introductory text, we hope to communicate some of the ?avor (and excitement) of such applications on simpler examples.