Voting procedures focus on the aggregation of individuals' preferences to produce collective decisions. In practice, a voting procedure is characterized by ballot responses and the way ballots are tallied to determine winners. Voters are assumed to have clear preferences over candidates and attempt to maximize satisfaction with the election outcome by their ballot responses. Such responses can include strategic misrepresentation of preferences. Voting procedures are formalized by social choice functions, which map ballot response profiles into election outcomes. We discuss broad classes of social choice functions as well as special cases such as plurality rule, approval voting, and Borda's point-count method. The simplest class is voting procedures for two-candidate elections. Conditions for social choice functions are presented for simple majority rule, the class of weighted majority rules, and for what are referred to as hierarchical representative systems. The second main class, which predominates in the literature, embraces all procedures for electing one candidate from three or more contenders. The multicandidate elect-one social choice functions in this broad class are divided into nonranked one-stage procedures, nonranked multistage procedures, ranked voting methods, and positional scoring rules. Nonranked methods include plurality check-one voting and approval voting, where each voter casts either no vote or a full vote for each candidate. On ballots for positional scoring methods, voters rank candidates from most preferred to least preferred. Topics for multicandidate methods include axiomatic characterizations, susceptibility to strategic manipulation, and voting paradoxes that expose questionable aspects of particular procedures. Other social choice functions are designed to elect two or more candidates for committee memberships from a slate of contenders. Proportional representation methods, including systems that elect members sequentially from a single ranked ballot with vote transfers in successive counting stages, are primary examples of this class.