Many types of allocation and exchange of discrete resources are conducted by a central clearinghouse via direct mechanisms without monetary transfers. Examples include the assignment of doctors to hospitals, the assignment of students to public schools, college admission, kidney exchange, etc. All these real-life problems are particular cases of assignment and matching problems. In this course, we will work on assignment and matching problems without transfers with a focus on axiomatic mechanism design. We will define several mechanisms as well as criteria that determine how “good” a mechanism is, such as efficiency, incentive compatibility, stability and fairness in many different settings including the housing market, house allocation problem, random assignment problem, and two-sided matching model. We also introduce the school choice problem, discuss the issues that policy makers face and recent works that address these issues.