There are many examples of cooperation in Nature: cells cooperate to form tissues, organs cooperate to form living organisms, and individuals cooperate to raise their offspring or to hunt. However, why cooperation emerges and survives in hostile environments, when defecting would be a much more profitable short-term strategy, is a question that still remains open. During the past few years, several explanations have been proposed, including kin and group selection, punishment and reputation mechanisms, or network reciprocity. This last one will be the center of the present study. The thesis explores the interface between the underlying structure of a given population and the outcome of the cooperative dynamics taking place on top of it, (namely, the Prisoner's Dilemma Game). The first part of this work analyzes the case of a static system, where the pattern of connections is fixed, so it does not evolve over time. The second part develops two models for growing topologies, where the growth and the dynamics are entangled.