Instructor: Joao Meidanis, meidanis at unicamp dot br
Mondays and Wednesdays, 7-9pm. Check Graduate Schedule (in Portuguese)
Second Semester, 2022
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.
By appointment only.
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 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:
Quiz | 30% |
Homework | 35% |
Final Project | 35% |
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.5 | B |
5 to 7 | C |
0 to 5 | D |
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.
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.
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.
Network Icon from PNGFLY.