Ce cours a pour objectif de donner aux étudiants un aperçu de quelques unes des techniques modernes de conception et d’analyse d’algorithmes. Ainsi, tous les grands thèmes de l’algorithme seront abordés dans le cours : calculabilité, complexité, récursivité, programmation dynamique, programmation linéaire, algorithmes d’approximation, algorithmes paramétrés, algorithmes probabilistes, etc. A l’issue de ce cours, les étudiants devraient être capables d’identifier la ou les méthodes les plus appropriées pour la résolution des problèmes algorithmiques qu’ils pourront rencontrer dans leurs carrières. Il ne sera bien sur pas possible de rentrer dans les détails de toutes les thématiques abordées dans le cours, qui mériteraient chacune un cours à part entière. Toutefois, les ouvrages de référence qui seront indiqués durant le cours devraient permettre de satisfaire tous les élèves désirant en savoir plus sur tels ou tels thèmes du cours.

Les applications d’aujourd’hui sont souvent disponibles sur divers réseaux et connectées au Cloud, ce qui augmente leur vulnérabilité aux menaces et aux violations de sécurité.

La sécurité des applications Web est donc devenue un enjeu stratégique aussi important que les fonctionnalités ou l’ergonomie. Dans ce cours les étudiants apprendrons les principales techniques et technologiques pour développer des applications web sécurisée.