This comprehensive text on the theory and techniques of graph neural networks takes students, practitioners, and researchers from the basics to the state of the art. It systematically introduces foundational topics such as filtering pooling, robustness, and scalability and then demonstrates applications in NLP, data mining, vision and healthcare.