This is a set of lecture notes for the 3rd year course “Advanced Algorithms” which I gave inTsinghua University for Yao-class students in the Spring and Fall terms in 2011. This set of notesis partially based on the notes scribed by students taking the course the ﬁrst time it was given.Many thanks to Xiahong Hao and Nathan Hobbs for their hard work in critically revising, editing,and adding ﬁgures to last year’s material. I’d also like to give credit to the students who alreadytook the course and scribed notes. These lecture notes, together with students’ names can be foundin the Spring 2011 course website.This version of the course has a few topics different than its predecessor. In particular, I re-moved the material on algorithmic applications of Finite Metric Embeddings and SDP relaxationsand its likes, and I added elements of Fourier Analysis on the boolean cube with applicationsto property testing. I also added a couple of lectures on algorithmic applications of Szemer´edi’sRegularity Lemma.Except from property testing and the regularity lemma the remaining topics are: a brief revi-sion of the greedy, dynamic programming and network-ﬂows paradigms; a rather in-depth intro-duction to geometry of polytopes, Linear Programming, applications of duality theory, algorithmsfor solving linear programs; standard topics on approximation algorithms; and an introduction toStreaming Algorithms.I would be most grateful if you bring to my attention any typos, or send me your recommenda-tions, corrections, and suggestions to