Learning Outcomes:
After successful completion of the course, a student should:1. be able to determine whether or not certain sequences belong to simple graphs;2. be able to construct a graph, given a graphic sequence;3. be able to perform simple mutations of a graph, such as constructing its subgraphs, its complement and its dual where one exists;4. know basic results about acyclic graphs (trees)5. be able to compute minimal weight spanning trees (Prim & Kruskal algorithms);6. be able to identify Eulerian graphs and find Euler circuits (Fleury's algorithm);7. know some necessary and suffcient conditions for a graph to be Hamiltonian and be able to apply these to arbitrary graphs;8. be familar with Euler's polyhedral formula and apply it to establish non-planarity;9. be able to determine isomorphisms for small graphs;10. be familiar with the min-cut max flow theorem;11. be able to apply the Ford-Fulkersen algorithm for the construction of a maximal flow.