This document discusses data aggregation in wireless sensor networks. It describes how sensor nodes are clustered and cluster heads perform data aggregation to compress and combine data before transmitting it to conserve energy. Various data aggregation techniques are explained, including centralized, in-network, tree-based and cluster-based approaches. The cluster-based LEACH protocol is discussed in detail, as well as issues with clustering. Query processing and different query models are also summarized. Simulation tools for analyzing sensor network algorithms are listed.