This course examines the basic concepts and techniques of graph theory. The topics to be covered are: basic concepts, connectivity, trees, matchings, colourings, planarity, Euler tours and Hamilton cycles, extremal problems, Ramsey theory, random graphs.