The emerging interest in cognitive and self-organizing networks is motivating heightened research on collaborative processing strategies that enable networks to respond to information in real-time. Adaptive networks are well-suited to perform decentralized information processing and inference tasks. They are also well-suited to model self-organizing behavior such as animal flocking and swarming. These networks avoid centralized processing and perform in-network inference and control decisions without relying on omnipotent fusion agents. This is because solutions that rely on information fusion are not scalable, are hard to adapt to changing network conditions, and create single points of vulnerability and information bottlenecks. Adaptive networks consist of spatially distributed agents that are linked together through a connection topology. The topology may vary with time and the nodes may also move. The agents cooperate with each other through local interactions and by means of in-network processing. The diffusion of information across the network results in self-organizing behavior and improved adaptation and learning relative to non-cooperative networks. One property of adaptive networks is that there are no super-agents leading the learning process. Agents generally behave in an isotropic manner and are assumed to have similar abilities. This kind of behavior is common in many socio-economic and biological networks where no single agent is in command and where forms of self-organization and decentralized intelligence are evident. Examples include herding behavior in economics, fish joining together in schools, birds flying in formation, bees seeking a new hive, etc. These observations create opportunities for collaborative research across several domains including economics, life sciences, and information processing. This tutorial describes recent developments in distributed processing over adaptive networks and discusses diffusion adaptation mechanisms that allow neighboring nodes to communicate with each other in real-time. Various applications are considered including distributed localization, tracking, filtering and estimation, self-organization in bird formations, fish schooling, bacteria motility, and bee swarming.