This is a course to equip students with basic knowledge of graph theory that will be needed in mathematics, computer science and engineering (network analysis). Key topics include Graphs, subgraphs, Euler tours, Hamilton cycles; trees, spanning trees, searching algorithms; connectivity, Merger theorem, 2-connected graphs, block decomposition, edge connectivity; planar graphs, Euler formula, duality, Kuratowski theorem; matchings, perfect matchings, matchings in bipartite graphs, Konig theorem, Hall theorem, matchings in general graphs, Tutte condition; colorings, chromatic number, chromatic polynomial, four-color problem; flows, Max- low Min-cut theorem, integer flows, group-valued flows, flow number, flow polynomial; cycle spaces, bond spaces, matrix-tree theorem. Students should seek the instructor's approval to take the course.