Unicamp logo Institute of Computing - logo

MO412 / MC908 - Graph Algorithms

Instructor: Joao Meidanis, meidanis at unicamp dot br

Mondays and Wednesdays, 7-9pm. Check Graduate Schedule (in Portuguese)

Second Semester, 2022

Overview

This is a course on Graph Algorithms, with emphasis in Network Science. We will cover a few celebrated graph algorithms interspersed with chapters from Barabási's book.

We will have regular, face-to-face lectures this term. In a typical class, the instructor will start by showing a short presentation on the topic of the day, followed by discussions, and usually a review of related exercises from various sources. Students are encouraged to share their views and impressions. Some classes will have special events, such as student presentations, hands-on classes, exams, etc.

We have a lot of ground to cover in one semester. We know that Unicamp students have to deal with a heavy class load. To be able to fulfill your commitments, it is essential to be thoroughly organized. We estimate that a student will have to devote around 12 hours per week to this course, including time for reading, attending classes, and doing assignments. We took the liberty of suggesting a schedule for our students, shown below. There, you will find the topics to be covered in each class, and suggestions on how to spend about two hours daily, Monday through Saturday, to follow our course. We may have to change class topics occasionally, due to unforeseen circumstances, but we expect the course to follow this schedule for the most part.

Office hours

By appointment only.

Schedule


MO412A Graph Algorithms / Network Science 2nd. Term

MC908A Special Topics: Computer Theory 2022


Instructor: João Meidanis



PRELIMINARY SCHEDULE Last modified 2022-11-19





Day Date Activity Source Chapter
Mon Aug 15 Class: Course Outline WEBPAGE
Tue Aug 16 Read BARABASI 1
Wed Aug 17 Class: Introduction BARABASI 1
Thu Aug 18 Assignment

Fri Aug 19 Create Quiz Question

Sat Aug 20 Read BARABASI 2
Mon Aug 22 Class: Graph Theory BARABASI 2
Tue Aug 23 Read BARABASI 2
Wed Aug 24 Class: Graph Theory BARABASI 2
Thu Aug 25 Create Quiz Question

Fri Aug 26 Assignment

Sat Aug 27 Read BARABASI 2
Mon Aug 29 Class: Graph Theory BARABASI 2
Tue Aug 30 Read SLIDES DFS
Wed Aug 31 Class: Depth-First Search SLIDES DFS
Thu Sep 01 Create Quiz Question

Fri Sep 02 Assignment

Sat Sep 03 Read SLIDES BFS
Mon Sep 05 Class: Breadth-First Search SLIDES BFS
Tue Sep 06 Read BARABASI 3
Wed Sep 07 Holiday

Thu Sep 08 Create Quiz Question

Fri Sep 09 Assignment

Sat Sep 10 Read BARABASI 3
Mon Sep 12 Class: Random Networks BARABASI 3
Tue Sep 13 Read BARABASI 3
Wed Sep 14 Class: Random Networks BARABASI 3
Thu Sep 15 Create Quiz Question

Fri Sep 16 Assignment

Sat Sep 17 Read BARABASI 4
Mon Sep 19 Class: Scale-Free Property BARABASI 4
Tue Sep 20 Read BARABASI 4
Wed Sep 21 Class: Scale-Free Property BARABASI 4
Thu Sep 22 Create Quiz Question

Fri Sep 23 Assignment

Sat Sep 24 Read Python, Gephi
Mon Sep 26 Class: Hands-on Python, Gephi
Tue Sep 27 Read SLIDES CDE
Wed Sep 28 Class: Calculus and Differential Equations SLIDES CDE
Thu Sep 29 Create Quiz Question

Fri Sep 30 Assignment

Sat Oct 01 Read BARABASI 5
Mon Oct 03 Class: Barabasi-Albert Model BARABASI 5
Tue Oct 04 Read BARABASI 5
Wed Oct 05 Class: Barabasi-Albert Model BARABASI 5
Thu Oct 06 Create Quiz Question SCC
Fri Oct 07 Assignment

Sat Oct 08 Read

Mon Oct 10 Class: Preliminary Presentations

Tue Oct 11 Read

Wed Oct 12 Holiday

Thu Oct 13 Free

Fri Oct 14 Free

Sat Oct 15 Read BARABASI 6
Mon Oct 17 Class: Evolving Networks BARABASI 6
Tue Oct 18 Read BARABASI 6
Wed Oct 19 Class: Evolving Networks BARABASI 6
Thu Oct 20 Create Quiz Question

Fri Oct 21 Assignment

Sat Oct 22 Read BARABASI 7
Mon Oct 24 Class: Degree Correlations BARABASI 7
Tue Oct 25 Read BARABASI 7
Wed Oct 26 Class: Degree Correlations BARABASI 7
Thu Oct 27 Read SLIDES GD
Fri Oct 28 Holiday

Sat Oct 29 Holiday

Mon Oct 31 Class: Graph Decomposition SLIDES GD
Tue Nov 01 Read BARABASI 8
Wed Nov 02 Holiday

Thu Nov 03 Create Quiz Question

Fri Nov 04 Assignment

Sat Nov 05 Read

Mon Nov 07 Class: Network Robustness BARABASI 8
Tue Nov 08 Read BARABASI 8
Wed Nov 09 Class: Network Robustness BARABASI 8
Thu Nov 10 Create Quiz Question

Fri Nov 11 Assignment

Sat Nov 12 Read BARABASI 9
Mon Nov 14 Class: Communities BARABASI 9
Tue Nov 15 Holiday

Wed Nov 16 Class: Communities BARABASI 9
Thu Nov 17 Create Quiz Question

Fri Nov 18 Assignment

Sat Nov 19 Read BARABASI 9
Mon Nov 21 No Class: FAPESP Genome 20+2
Tue Nov 22 Read SLIDES FLOW
Wed Nov 23 Class: Network Flow SLIDES FLOW
Thu Nov 24 Create Quiz Question BARABASI 8
Fri Nov 25 Assignment

Sat Nov 26 Read SLIDES TSP
Mon Nov 28 Class: Traveling Salesperson Problem SLIDES TSP
Tue Nov 29 Read SLIDES PLAN
Wed Nov 30 Class: Planarity SLIDES PLAN
Thu Dec 01 Prepare

Fri Dec 02 Prepare

Sat Dec 03 Prepare

Mon Dec 05 Class: Final Presentations

Tue Dec 06 Read

Wed Dec 07 Class: Quiz

Thu Dec 08 Study Week UNDERGRAD.
Fri Dec 09 Study Week UNDERGRAD.
Sat Dec 10 Study Week UNDERGRAD.
Mon Dec 12 Study Week UNDERGRAD.
Tue Dec 13 Study Week UNDERGRAD.
Wed Dec 14 Study Week UNDERGRAD.
Thu Dec 15


Fri Dec 16 Class: Exam UNDERGRAD.
Sat Dec 17


Grading

Grading will be based on a number of Assignments, including contributions to the Quiz Blog, a Quiz, and a Final Project. The Assignments and the Quiz are individual, but the Final Project is to be carried out by groups of 2 students, preferably with different backgrounds. If the number of students in the class is odd, we will allow one group with 3 members. In the Final Project, each group will select a network of interest, map it out, and analyze it.

The Quiz will be an exam with multiple choice questions created by MO412 students, including students from this offering, some of them edited by the instructor, collected in our Official Quiz Blog. Almost every week (see schedule), people have to submit a quiz question on the week's topics, usually on Thursdays. People who successfully contribute to the Blog will earn extra points. People who fail to submit a question will be penalized.

The Assignments are homework problems assigned weekly by the instructor. These will sometimes be programming exercises. They are typically assigned on a Wednesday after class and are due on the following Monday by noon.

For the Final Project, the groups must present their work as a 10-minute presentation, describing the data, how it was collected, basic characteristics of the network, and insights gained by doing the analysis. There will be midterm Preliminary Project Presentations where groups will present their network, how they will collect it, and relevant questions about it, in 5-minute presentations, based on no more than 5 slides. After the preliminary presentation, up until the final presentation, each group will meet weekly with the instructor for project guidance. Further guidelines about the Assignments / Final Project will be given during the course.

Each type of assignment will give rise to a numeric grade in the range 0 to 10. The contributions of each assignment type to the final grade are as follows:

Quiz30%
Homework35%
Final Project35%
Quiz questions    Extra points: 0.1 per accepted question
Quiz questions    Penalty: 0.1 per unsubmitted question

Numeric grades will be converted to letter grades accorging to the following scheme:

8.5 to 10  A
7 to 8.5B
5 to 7C
0 to 5D

Late penalties

For any of the Assignments, there will be penalties for late work. People who do not hand in their solutions on time will incur a late penalty of 20% of the grade per day, computed proportionally, with the granularity of 1 minute. So you are 1 day late your penalty is 20%; 2 days late, 40%; 1 hour late, 0.833%; and so on.

Fraud

Any attempt at fraud in this course will entail final grade equal to zero for all involved, with possible additional sanctions, as deemed necessary by the University administration.

References

Network Science. Albert-László Barabási. Cambridge University Press, 2016.

Introduction to Algorithms, 3rd Edition. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein. The MIT Press, 2009.

Algorithms, 4th Edition. Robert Sedgewick, Kevin Wayne. Addison-Wesley Professional, 2011.

Credits

Network Icon from PNGFLY.