OBJECTIVE The course aims at strengthening the concepts of algorithm analysis and design, and building skills for applying amortized and probabilistic methods.. The fundamental concepts of complexity, leading to a capability to approach problem complexity assessment, and an introduction to randomized algorithms, and approximation, are also intended outcomes of the course.