The purpose of this course is to explore collective decision making from an algorithmic point of view. We study settings where groups of agents need to make a joint decision by aggregating preferences ...