Design of Algorithms
In this course, we will review the fundamentals in the design and rigorous analysis of algorithms oriented toward the solution of data science problems. The first part of the course is devoted to reviewing elementary data structures and algorithm paradigms, with the focus then turning to algorithms on graphs, matching problems, searching problems, applications to data mining and on computational geometry.
Basic knowledge of discrete mathematics and linear algebra (vector spaces, bases, dimensions, matrices, linear transformations, determinants, kernels).
At least one introductory programming course (control structures, conditionals, variables, functions).
On completion of the course, students will be able to:
2 hours a week with a teaching assistant.
Two midterm exams (10% each), homework assignments (40%), final exam (20%), integrative project (20%).