In these lectures, I will discuss the abelian sandpile model of self-organized criticality, and its related models. The abelian group structure of the model, the burning test for recurrent states, equivalence to the spanning trees problem will be described. The exact solution of the directed version of the model in any dimension will be explained, and its relation to Scheidegger's model of river basins, Takayasu's aggregation model and the voter model will be discussed. I will summarize the known results about the undirected models. Generalization to the abelian distributed processors model, and time-dependent properties and the universality of critical behavior in sandpiles will be briefly discussed.