Graph theory is a part of discrete mathematics which deals with the interrelationships between a group of objects - in this context a graph is simply a set of nodes together with lines connecting some of them. In addition to their intrinsic interest, graphs are used to model structures as diverse as molecules, sentences, communications networks, and social networks. We will explore these models as well as the underlying mathematical structures. Algorithms are fundamental to the subject, for example, communications networks rely heavily on algorithms which minimise costs or maximise efficiency. Particular applications will depend on the interests of the class. This subject is especially suitable for computing, mathematics, and engineering students. It is offered at 2nd and 3rd year levels: the 3rd year level is a core subject in the Mathematics and Statistics major in Bendigo.