Our group offers courses in Faculte des sciences de base and in Faculte I & C both at undergraduate and graduate levels. Currently, the courses concentrate on algorithmic aspects of Mathematics and Computer Science, including also topics such as complexity theory. The undergraduate courses are designed to give the students a solid first background in the design and analysis of computer algorithms. The graduate and upper division undergraduate courses focus on a deeper understanding of algorithmic concepts in specific areas, such as number theory, graph theory, algebra, etc. Currently, the courses are offered in English only, but some of the course material, homeworks, and exams are provided in both French and English.