Course Details for A.Y. 2017/2018
Name:
Web Algorithms / Web Algorithms
Basic information
Credits:
: Master Degree in Computer Science 6 CFU (b)
Degree(s):
Master Degree in Computer Science 1^{st} anno curriculum NEDAS Compulsory
Master Degree in Computer Science 1^{st} anno curriculum SEAS Elective
Master Degree in Computer Science 1^{st} anno curriculum UBIDIS Compulsory
Language:
English
Course Objectives
Knowledge of advanced algorithmic techniques; ability to individuate, formalize and solve optimization problems; concept of approximation; knowledge of the web search and sponsored web search strategies in search engines; ability to collaborate for the realization of applicative projects in group.
Course Content
 Review of computational complexity and intractability. Optimization problems. Approximation algorithms.
 Algorithmic techniques: greedy. local search, dynamic programming and linear programming.
 Polynomial Time Approximation Schemes (PTAS) and Fully Polynomial Time Approximation Schemes (FPTAS).
 Prestige and centrality indices in social networks.
 Web search: Pagerank, Topical Pagerank, TrustRank, Hubs and Authorities.
 Sponsored web search: matching markets and market clearing prices, auctions, VCG and GSP mechanisms.
Learning Outcomes (Dublin Descriptors)
On successful completion of this course, the student should

Acquire knowledge of advanced algorithmic techniques for NPHard optimization problems. In particular, the student will have mastery command of main algorithmic (approximation) techniques like greedy, local search, dynamic programming, linear programming: Polynomial Time Approximation Schemes (PTAS) and Fully Polynomial Time Approximation Schemes (FPTAS). Moreover the student will acquire knowledge on
the basic centrality and prestige indices in social networks, on the main popularity indices for ranking pages in web search and finally of matching markets, auctions and the most important mechanisms adopted for the ranking and payment of sponsored search links.

Acquire the ability of abstracting models and formal algorithmic problems from real computational problems, understanding the degree of approximability and designing efficient algorithmic solutions.

Acquire autonomy in individuating, formalizing and understanding the degree of approximability of real computational problems and identify independently their most efficient solutions.

Being able to understand complex algorithmic solutions and to formal proving performances of their algorithmic solutions for complex computational problems.

Acquire the ability of understanding the ranking strategies adopted by search engines in web search and sponsored web search.

The course aims to develop in graduate students competencies and abilities necessary in their future studies and/or works, especially with respect to doctoral studies and in general to any research activity on algorithmic and web search topics.
Prerequisites and Learning Activities
KNOWLEDGE: fundamentals of programming, discrete mathematics, algorithms and data structures, computer architectures, reading and understanding of the English language
SKILLS: ability to integrate classroom and homework study, ability to interact with the teacher during the class for originating discussion.
Assessment Methods and Criteria
Written test followed by an oral exam.
An optional midterm written test will be also provided, which is meant to cover the first part of the course, in order to help the students to split the workload. If a student passes the midterm written exam, she will take a finalterm written exam concerned with the second part of the course content only.
The midterm written exam (lasting 2 hours) consists of exercises and open questions concerning the first part of the course content.
The finalterm written exam is split into two parts (each lasting one hour and half), each consisting of exercises and open questions, concerning the first and the second part of the course content, respectively. Students who passed the midterm part will have to take only the second part.
The final result of the written exam will be given by the average result of the two parts.
The oral exam will occur within the same exam session of the written test, and it will typically cover the areas of the written answers that need clarification, plus a subject of one's choice. The oral exam (max 1 hour) will test the student's ability to engage in discussion of issues relevant to the topics discussed during the course. Criteria of evaluation will be the level of knowledge and the fluency in the technical language of algorithms and computational complexity.
Textbooks
 Vijay V. Vazirani, Approximation Algorithms , Springer. 2001. ISBN: 3540653678
 G. Ausiello, P. Crescenzi, G. Gambosi, V. Kann, A. MarchettiSpaccamela, M. Protasi, Complexity and Approximation , Springer. 1999. ISBN: 3540654313
 Jure Leskovec, Anand Rajaraman and Jeff Ullman, Mining of Massive Datasets , Stanford University. 2011. ISBN: 9781107015357 http://infolab.stanford.edu/~ullman/mmds/book.pdf
 Soumen Chakrabarti, Mining the Web – Discovering Knowledge from Hypertext Data , Morgan Kaufmann. 2003. ISBN: 9781558607545
 David Easley and Jon Kleinberg, Networks, Crowds, and Markets , Cambridge University Press. 2010. ISBN: 9780521195331 https:
 www.cs.cornell.edu/home/kleinber/networksbook/
Course page updates
This course page is available (with possible updates) also for the following academic years:
To read the current information on this course, if it is still available, go to the university course catalogue .
Course information last updated on: 20 dicembre 2016, 17:55