On many occasions, groups (committees, panels, entire societies etc.) need to aggregate individual preferences (or, more generally, judgments) to make collective choices. Social Choice Theory is concerned with studying aggregation precedures from a formal point of view. This course provides a careful and comprehensive treatment of preference and judgment aggregation, including proofs of general results that have Arrow's famous impossibility theorem and Gibbard's oligarchy theorem as corollaries. The second part of the course is devoted to voting theory. Among other things, we prove the Gibbard-Satterthwaite theorem.