Algorithmic and Discrete Mathematics

Courses on Algorithmic and Discrete Mathematics courses at SMA

(last modified May 17th 2017)

Contact person: Professor Friedrich Eisenbrand 

Bachelor 2-nd year 

MATH-260 Discrete Mathematics (2+2) 
MATH-261 Discrete Optimization  (2+2)

Bachelor 3-rd year  

MATH-360 Graph Theory (2+2)
CS-250 Algorithms (4+2)        

During the second year of bachelor studies, the students are requested to follow the courses MATH-260 and MATH-261. Students who wish to pursue studies in algorithmic mathematics should then follow the course on Algorithms CS-250 and those who wish to specialize in combinatorics, should follow Graph Theory MATH-360. The student will then be able to successfully complete a semester project in applied algorithmic math, discrete optimization, combinatorics or discrete geometry. 


CS-450 Advanced Algorithms (4+3)
CS-433 Pattern Classification and Machine Learning (4+2) 

MATH-461 Convexity (2+2) 
CS-435 Analytic Algorithms (2+2) 
Combinatorial Geometry (2+2)
CS-439 Optimization for Machine Learning
MATH-465 Packing and Covering (2+2) 
MATH-467 Probabilistic Method (2+2)
MATH-466 Geometric Graph Theory (2+2)

Students who want to specialize in algorithmic mathematics or optimization are requested to follow one of the courses CS-450 or CS-433. The course on Convexity MATH-461 is a specialization in structural results that are necessary to derive efficient algorithms for geometric and discrete geometric optimization problems. MATH-467 covers probabilistic methods in combinatorics. These techniques are also very useful in algorithms. The course on analytic algorithms covers topics in modern convex optimization and learning. 

Some couses may not be given every academic year. Please refer to the official study plan

The CS courses are not in the official plan of math. Please contact Simone Deparis once you are registered such that he can move the course in the right group.

Related courses in Mathematics

Probabilités (MATH-230), Statistique (MATH-240): Many fundamental algorithmic techniques rely on insights and methods from probability and statistics. These courses treat the foundations of these fields. 
Statistical Theory (MATH-442): Statistics is the foundation of many algorithms for machine learning. A solid knowledge of statistical theory is very useful for those who want to specialize in algorithms for learning. 
Analyse numérique, knowledge on basic numerical methods is an important complement to discrete and convex methods.