MATH-261: Discrete optimizationThis course is an introduction to linear and discrete optimization.
Warning: This is a mathematics course! While much of the course will be algorithmic in nature, you will still need to be able to p
CS-250: Algorithms IThe students learn the theory and practice of basic concepts and techniques in algorithms. The course covers mathematical induction, techniques for analyzing algorithms, elementary data structures, ma
MATH-494: Topics in arithmetic geometryP-adic numbers are a number theoretic analogue of the real numbers, which interpolate between arithmetics, analysis and geometry. In this course we study their basic properties and give various applic
CS-420: Advanced compiler constructionStudents learn several implementation techniques for modern functional and object-oriented programming languages. They put some of them into practice by developing key parts of a compiler and run time
MATH-101(d): Analysis IÉtudier les concepts fondamentaux d'analyse et le calcul différentiel et intégral des fonctions réelles d'une variable.
CS-450: Algorithms IIA 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 reper
CS-119(d): Information, Computation, CommunicationL'objectif de ce cours est d'introduire les étudiants à la pensée algorithmique, de les familiariser avec les fondamentaux de l'Informatique et de développer une première compétence en programmation (
CS-108: Practice of object-oriented programmingLes étudiants perfectionnent leurs connaissances en Java et les mettent en pratique en réalisant un projet de taille conséquente. Ils apprennent à utiliser et à mettre en œuvre les principaux types de
MATH-489: Number theory II.c - CryptographyThe goal of the course is to introduce basic notions from public key cryptography (PKC) as well as basic number-theoretic methods and algorithms for cryptanalysis of protocols and schemes based on PKC