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.

This course is part of the Introduction to Discrete Mathematics for Computer Science Specialization

Offered By

## About this Course

### Learner Career Outcomes

## 33%

## 50%

## 33%

### Learner Career Outcomes

## 33%

## 50%

## 33%

### Offered by

#### 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 communicamathematics, engineering, and more.

## Syllabus - What you will learn from this course

**3 hours to complete**

## 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.

**3 hours to complete**

**14 videos**

**5 readings**

**2 practice exercises**

**5 hours to complete**

## 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!

**5 hours to complete**

**12 videos**

**4 readings**

**4 practice exercises**

**4 hours to complete**

## 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!

**4 hours to complete**

**11 videos**

**4 readings**

**3 practice exercises**

**4 hours to complete**

## 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.

**4 hours to complete**

**14 videos**

**5 readings**

**4 practice exercises**

## Reviews

### TOP REVIEWS FROM INTRODUCTION TO GRAPH THEORY

Appreciate the structure and the explanations with examples. The practice tool before every lesson not makes it fun to learn but also sets the student in the context and can anticipate the concept.

Was pretty fun and gave a good intro to graph theory. Definitely felt inspired to go deeper and understood the most basic proof ideas. The later lectures can spike in difficulty though. Very nice!

Week 5 was very confusing and not well curated. Please fix this.I had to lookup youtube videos to understand the concepts and that defeats the purpose of me taking the course on coursera

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.

## About the Introduction to Discrete Mathematics for Computer Science Specialization

Discrete Mathematics is the language of Computer Science. One needs to be fluent in it to work in many fields including data science, machine learning, and software engineering (it is not a coincidence that math puzzles are often used for interviews). We introduce you to this language through a fun try-this-before-we-explain-everything approach: first you solve many interactive puzzles that are carefully designed specifically for this online specialization, and then we explain how to solve the puzzles, and introduce important ideas along the way. We believe that this way, you will get a deeper understanding and will better appreciate the beauty of the underlying ideas (not to mention the self confidence that you gain if you invent these ideas on your own!). To bring your experience closer to IT-applications, we incorporate programming examples, problems, and projects in the specialization.

## Frequently Asked Questions

When will I have access to the lectures and assignments?

What will I get if I subscribe to this Specialization?

Is financial aid available?

Will I earn university credit for completing the Course?

More questions? Visit the Learner Help Center.