Due to the strong interconnection between modern engineering systems and their users, performance of these systems heavily rely on the user behavior. Therefore, uncoordinated user behavior can deteriorate the overall performance and entail undesired outcomes. To address this problem, this thesis studies the problem of designing suitable interventions that provide coordination among noncooperative agents/players. We investigate the development of suitable interventions in several setups and propose mechanisms that achieve a desired outcome. The first part of the thesis focuses on altering the aggregative behavior of noncooperative price-taking agents towards a desired stationary or temporal behavior. We address this problem by introducing a ...