Dive into the world of Graph Neural Networks (GNNs) with this comprehensive tutorial, the first in a two-part series. Explore the fundamentals of graphs, their mathematical representations, and practical applications using Python libraries like NetworkX and PyG (PyTorch Geometric). Learn how to visualize and manipulate graph data, understand the relationship between GNNs and Convolutional Neural Networks (CNNs), and gain insights into various graph representations. Cover topics such as graph basics, NetworkX programming, GNN introduction, and PyG fundamentals. By the end of this tutorial, acquire the technical knowledge needed to code GNNs and apply them to real-world problems, setting the stage for more advanced concepts in part two of the series.