Coursera
Explore
  • Browse
  • Search
  • For Enterprise
  • Log In
  • Sign Up

Introduction to Graph Theory

OverviewSyllabusFAQsCreatorsPricingRatings and Reviews

HomeComputer ScienceAlgorithms

Introduction to Graph Theory

University of California, San Diego, National Research University Higher School of Economics

About this course: We invite you to a fascinating journey into Graph Theory — an area which connects the elegance of painting and the rigor of mathematics; is simple, but not unsophisticated. Graph Theory gives us, both an easy way to pictorially represent many major mathematical results, and insights into the deep theories behind them. In this course, among other intriguing applications, we will see how GPS systems find shortest routes, how engineers design integrated circuits, how biologists assemble genomes, why a political map can always be colored using a few colors. We will study Ramsey Theory which proves that in a large system, complete disorder is impossible! By the end of the course, we will implement an algorithm which finds an optimal assignment of students to schools. This algorithm, developed by David Gale and Lloyd S. Shapley, was later recognized by the conferral of Nobel Prize in Economics. As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students.


Created by:  University of California, San Diego, National Research University Higher School of Economics
University of California, San DiegoNational Research University Higher School of Economics

  • Alexander S. Kulikov

    Taught by:  Alexander S. Kulikov, Visiting Professor

    Department of Computer Science and Engineering
Basic Info
Course 3 of 5 in the Introduction to Discrete Mathematics for Computer Science Specialization
LevelBeginner
Commitment5 weeks, 3-5 hours/week
Language
English
How To PassPass all graded assignments to complete the course.
User Ratings
4.7 stars
Average User Rating 4.7See what learners said
Syllabus
WEEK 1
What is a Graph?
What are graphs? What do we need them for? This week we'll see that a graph is a simple pictorial way to represent almost any relations between objects. We'll see that we use graph applications daily! We'll learn what graphs are, when and how to use them, how to draw graphs, and we'll also see the most important graph classes. We start off with two interactive puzzles. While they may be hard, they demonstrate the power of graph theory very well! If you don't find these puzzles easy, please see the videos and reading materials after them.
14 videos, 5 readings
  1. Video: Airlines Graph
  2. Video: Knight Transposition
  3. Video: Seven Bridges of Königsberg
  4. Reading: Slides
  5. Video: What is a Graph?
  6. Notebook: Graph Drawing Example
  7. Video: Graph Examples
  8. Video: Graph Applications
  9. Reading: Slides
  10. Video: Vertex Degree
  11. Video: Paths
  12. Video: Connectivity
  13. Video: Directed Graphs
  14. Video: Weighted Graphs
  15. Reading: Slides
  16. Video: Paths, Cycles and Complete Graphs
  17. Video: Trees
  18. Video: Bipartite Graphs
  19. Reading: Slides
  20. Reading: Glossary
Graded: Puzzle: Guarini's Puzzle
Graded: Puzzle: Bridges of Königsberg
Graded: Definitions
Graded: Puzzle: Make a Tree
Graded: Graph Types
WEEK 2
CYCLES
We’ll consider connected components of a graph and how they can be used to implement a simple program for solving the Guarini puzzle and for proving optimality of a certain protocol. We’ll see how to find a valid ordering of a to-do list or project dependency graph. Finally, we’ll figure out the dramatic difference between seemingly similar Eulerian cycles and Hamiltonian cycles, and we’ll see how they are used in genome assembly!
12 videos, 4 readings
  1. LTI Item: Puzzle: Connect Points by Segments
  2. Video: Handshaking Lemma
  3. Video: Total Degree
  4. Reading: Slides
  5. Video: Connected Components
  6. Notebook: Connected Components
  7. Video: Guarini Puzzle: Code
  8. Notebook: Guarini Puzzle Solver
  9. Video: Lower Bound
  10. Video: The Heaviest Stone
  11. Video: Directed Acyclic Graphs
  12. Notebook: Topological Sorting
  13. Video: Strongly Connected Components
  14. Notebook: Strongly Connected Components
  15. Reading: Slides
  16. Video: Eulerian Cycles
  17. Video: Eulerian Cycles: Criteria
  18. Notebook: Eulerian Cycles
  19. Video: Hamiltonian Cycles
  20. Video: Genome Assembly
  21. Reading: Slides
  22. Reading: Glossary
Graded: Computing the Number of Edges
Graded: Number of Connected Components
Graded: Number of Strongly Connected Components
Graded: Eulerian Cycles
Graded: Puzzle: Hamiltonian Cycle
WEEK 3
Graph Classes
This week we will study three main graph classes: trees, bipartite graphs, and planar graphs. We'll define minimum spanning trees, and then develop an algorithm which finds the cheapest way to connect arbitrary cities. We'll study matchings in bipartite graphs, and see when a set of jobs can be filled by applicants. We'll also learn what planar graphs are, and see when subway stations can be connected without intersections. Stay tuned for more interactive puzzles!
11 videos, 4 readings
  1. Video: Road Repair
  2. Video: Trees
  3. Video: Minimum Spanning Tree
  4. Notebook: Minimum Spanning Tree
  5. Reading: Slides
  6. Video: Job Assignment
  7. Video: Bipartite Graphs
  8. Video: Matchings
  9. Video: Hall's Theorem
  10. Notebook: Maximum Matching
  11. Reading: Slides
  12. Video: Subway Lines
  13. Video: Planar Graphs
  14. Video: Euler's Formula
  15. Video: Applications of Euler's Formula
  16. Reading: Slides
  17. Reading: Glossary
Graded: Puzzle: Road Repair
Graded: Trees
Graded: Puzzle: Job Assignment
Graded: Bipartite Graphs
Graded: Puzzle: Subway Lines
Graded: Planar Graphs
WEEK 4
Graph Parameters
We'll focus on the graph parameters and related problems. First, we'll define graph colorings, and see why political maps can be colored in just four colors. Then we will see how cliques and independent sets are related in graphs. Using these notions, we'll prove Ramsey Theorem which states that in a large system, complete disorder is impossible! Finally, we'll study vertex covers, and learn how to find the minimum number of computers which control all network connections.
14 videos, 5 readings
  1. Video: Map Coloring
  2. Video: Graph Coloring
  3. Video: Bounds on the Chromatic Number
  4. Video: Applications
  5. Reading: Slides
  6. Video: Graph Cliques
  7. Video: Cliques and Independent Sets
  8. Notebook: Maximum Clique
  9. Video: Connections to Coloring
  10. Video: Mantel's Theorem
  11. Reading: Slides
  12. Video: Balanced Graphs
  13. Video: Ramsey Numbers
  14. Video: Existence of Ramsey Numbers
  15. Reading: Slides
  16. Video: Antivirus System
  17. Video: Vertex Covers
  18. Video: König's Theorem
  19. Reading: Slides
  20. Reading: Glossary
Graded: Puzzle: Map Coloring
Graded: Graph Coloring
Graded: Puzzle: Graph Cliques
Graded: Cliques and Independent Sets
Graded: Puzzle: Balanced Graphs
Graded: Ramsey Numbers
Graded: Puzzle: Antivirus System
Graded: Vertex Covers
WEEK 5
Flows and Matchings
This week we'll develop an algorithm that finds the maximum amount of water which can be routed in a given water supply network. This algorithm is also used in practice for optimization of road traffic and airline scheduling. We'll see how flows in networks are related to matchings in bipartite graphs. We'll then develop an algorithm which finds stable matchings in bipartite graphs. This algorithm solves the problem of matching students with schools, doctors with hospitals, and organ donors with patients. By the end of this week, we'll implement an algorithm which won the Nobel Prize in Economics!
13 videos, 6 readings, 1 practice quiz
  1. Video: An Example
  2. Video: The Framework
  3. Video: Ford and Fulkerson: Proof
  4. Video: Hall's theorem
  5. Practice Quiz: Constant Degree Bipartite Graphs
  6. Video: What Else?
  7. Reading: Slides
  8. Video: Why Stable Matchings?
  9. Video: Mathematics and Real Life
  10. Video: Basic Examples
  11. Video: Looking For a Stable Matching
  12. Video: Gale-Shapley Algorithm
  13. Video: Correctness Proof
  14. Video: Why The Algorithm Is Unfair
  15. Video: Why the Algorithm is Very Unfair
  16. Reading: Slides
  17. Reading: The algorithm and its properties (alternative exposition)
  18. Reading: Gale-Shapley Algorithm
  19. Reading: Project Description
  20. Reading: Glossary
Graded: Choose an Augmenting Path Carefully
Graded: Base Cases
Graded: Algorithm

FAQs
How It Works
Coursework
Coursework

Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.

Help from Your Peers
Help from Your Peers

Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.

Certificates
Certificates

Earn official recognition for your work, and share your success with friends, colleagues, and employers.

Creators
University of California, San Diego
UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom—life is their laboratory.
National Research University Higher School of Economics
National Research University - Higher School of Economics (HSE) is one of the top research universities in Russia. Established in 1992 to promote new research and teaching in economics and related disciplines, it now offers programs at all levels of university education across an extraordinary range of fields of study including business, sociology, cultural studies, philosophy, political science, international relations, law, Asian studies, media and communications, IT, mathematics, engineering, and more. Learn more on www.hse.ru
Pricing
Purchase Course
Access to course materials

Available

Access to graded materials

Available

Receive a final grade

Available

Earn a shareable Course Certificate

Available

Ratings and Reviews
Rated 4.7 out of 5 of 62 ratings

徐

很好,很清楚

Edward Patrick vogel

I have been reading and buying books on Graph Theory in the hopes of finding some interesting insights I could bring to my after school students. None of them had Guarini's Puzzle which really is a beautiful and succinct example of Graph Theory in action. Hoping we can use what I am learning here to develop some rigorous graph methods for finding the solutions to tiling polyominoes and packing the SOMA cube. We like to make build physical objects as a starting off point for study. (leonardosbasement.org).

I am enjoying the "try this" before "we explain everything" approach also. Solving problems in python notebook is also great.

T

This course is interesting, and it is a good introduction. I like the first four weeks' courses, while I feel the last week's course is not clear presented, which changes the instructor.

lt

A good course with proper explanation. The mathematical proof of this course is generally easy to understand although a small part of them are vague



You May Also Like
University of California, San Diego, National Research University Higher School of Economics
Number Theory and Cryptography
1 course
University of California, San Diego, National Research University Higher School of Economics
Number Theory and Cryptography
View course
University of California, San Diego, National Research University Higher School of Economics
Combinatorics and Probability
1 course
University of California, San Diego, National Research University Higher School of Economics
Combinatorics and Probability
View course
University of California, San Diego, National Research University Higher School of Economics
Delivery Problem
1 course
University of California, San Diego, National Research University Higher School of Economics
Delivery Problem
View course
University of Colorado System
Symmetric Cryptography
1 course
University of Colorado System
Symmetric Cryptography
View course
University of Colorado System
Asymmetric Cryptography and Key Management
1 course
University of Colorado System
Asymmetric Cryptography and Key Management
View course
Coursera
Coursera provides universal access to the world’s best education, partnering with top universities and organizations to offer courses online.
© 2018 Coursera Inc. All rights reserved.
Download on the App StoreGet it on Google Play
  • Coursera
  • About
  • Leadership
  • Careers
  • Catalog
  • Certificates
  • Degrees
  • For Business
  • For Government
  • Community
  • Partners
  • Mentors
  • Translators
  • Developers
  • Beta Testers
  • Connect
  • Blog
  • Facebook
  • LinkedIn
  • Twitter
  • Google+
  • Tech Blog
  • More
  • Terms
  • Privacy
  • Help
  • Accessibility
  • Press
  • Contact
  • Directory
  • Affiliates