CS-450 / 8 credits

Teacher(s): Kapralov Mikhail, Svensson Ola Nils Anders

Language: English


Summary

A first graduate course in algorithms, this course assumes minimal background, but moves rapidly. The objective is to learn the main techniques of algorithm analysis and design, while building a repertory of basic algorithmic solutions to problems in many domains.

Content

Algorithm analysis techniques: worst-case and amortized, average-case, randomized, competitive, approximation. Basic algorithm design techniques: greedy, iterative, incremental, divide-and-conquer, dynamic programming, randomization, linear programming.  Examples from graph theory, linear algebra, geometry, operations research, and finance.

Learning Prerequisites

Required courses

An undergraduate course in Discrete Structures / Discrete Mathematics, covering formal notation (sets, propositional logic, quantifiers), proof methods (derivation, contradiction, induction), enumeration of choices and other basic combinatorial techniques, graphs and simple results on graphs (cycles, paths, spanning trees, cliques, coloring, etc.).

Recommended courses

An undergraduate course in Data Structures and Algorithms.

An undergraduate course in Probability and Statistics.

Important concepts to start the course

Basic data structures (arrays, lists, stacks, queues,trees) and algorithms (binary search; sorting; graph connectivity); basic discrete mathematics (proof methods, induction, enumeration and counting, graphs); elementary probability and statistics (random variables, distributions, independence, conditional probabilities); data abstraction.

Learning Outcomes

By the end of the course, the student must be able to:

  • Use a suitable analysis method for any given algorithm
  • Prove correctness and running-time bounds
  • Design new algorithms for variations of problems studied in class
  • Select appropriately an algorithmic paradigm for the problem at hand
  • Define formally an algorithmic problem

Teaching methods

Ex cathedra lecture, reading

Assessment methods

- midterm (30%)

- homework (30%)

- final exam (40%)

Supervision

Forum Yes
Others For details, see the course web page

In the programs

  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: optional
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Written (winter session)
  • Subject examined: Algorithms II
  • Courses: 4 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: optional

Reference week

Related courses

Results from graphsearch.epfl.ch.