Cooperative Control of Multi-Agent Systems extends optimal control and adaptive control design methods to multi-agent systems on communication graphs. It develops Riccati design techniques for general linear dynamics for cooperative state feedback design, cooperative observer design, and cooperative dynamic output feedback design. Both continuous-time and discrete-time dynamical multi-agent systems are treated. Optimal cooperative control is introduced and neural adaptive design techniques for multi-agent nonlinear systems with unknown dynamics, which are rarely treated in literature are developed. Results spanning systems with first-, second- and on up to general high-order nonlinear dynamics are presented. Each control methodology proposed is developed by rigorous proofs. All algorithms are justified by simulation examples. The text is self-contained and will serve as an excellent comprehensive source of information for researchers and graduate students working with multi-agent systems.