CS-450 / 8 credits

Teacher: 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.

## 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

## 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 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
• Lecture: 4 Hour(s) per week x 14 weeks
• Exercises: 3 Hour(s) per week x 14 weeks
• Type: optional

## Related courses

Results from graphsearch.epfl.ch.