Mon nom est Nicolas Déry. Je suis développeur logiciel. Je suis à l'emploi de l'Université Laval, depuis décembre 2019. Mon contrat se termine, dans quelques mois et il se pourrait que j'aie à chercher un autre laboratoire dans lequel travailler.
Je me passionne pour l'informatique. J'ai plusieurs intérêts qui m'ont mené à différents projets, jusqu'à présent. J'ai développé une grande versatilité. Je suis très apprécié de mes collègues, également.
Conception d'applications logicielles d'envergure : Approche agile, test-driven development et patrons de conception du génie logiciel.
Paradigmes de programmation : Programmation fonctionnelle, programmation orientée objet et programmation parallèle et concurrente
Conception d’algorithmes : Analyse asymptotique, conception d’algorithmes voraces, « diviser pour régner », « diminuer pour régner », programmation dynamique et algorithmes probabilistes.
Mathématiques
Méthodes numériques : Analyse d'erreur, équations non linéaires, systèmes d'équations algébriques, interpolation, dérivation et intégration numérique et équations différentielles.
Optimisation : Notions de convexité, multiplicateurs de Lagrange et problèmes de points-selle, conditions d’optimalité en présence de contraintes, dualité, méthodes numériques d’optimisation pour les problèmes sans contraintes, conditions de Karush-Kuhn-Tucker.
Recherche opérationnelle : Programmation linéaire : fondements simplexe, analyse de sensibilité, dualité. Programmation linéaire en nombres entiers : méthode du simplexe, méthode du troncature, méthode de subdivision successive, etc.
Équations différentielles : Systèmes linéaires, transformation de Laplace, séries de Fourier et équations aux dérivées partielles.
Analyse : Espaces métriques et continuité, compacité, connexité, complétude, dérivation de fonctions de plusieurs variables, inversion et fonctions implicites. Nombres complexes, fonctions complexes, intégrales de contour. Différentiation, intégration, convergence uniforme, séries entières, fonctions transcendantes.
Mathématiques discrètes : Dénombrement, relations de récurrence, fonctions génératrices, graphes et arbres.
Algèbre : Groupes, anneaux, corps, espaces vectoriels, résolution de systèmes d'équations, transformations linéaires, valeurs et vecteurs propres.
Probabilités et statistique : Théorie des probabilités, estimation ponctuelle et par intervalle de confiance, tests d'hypothèses, analyse de variance, régression et corrélation.
Projet portant sur l'interprétabilité des réseaux de neurones.
Cours:
APPRENTISSAGE PAR RÉSEAUX DE NEURONES PROFONDS: Fonctions d'activation et coûts, calcul des gradients et rétro-propagation, régularisation, techniques d'entraînements et architectures à convolution type CNN (AlexNet, ResNet, VGG). Survol horizontal et rapide des concepts plus avancés (réseaux génératifs GAN, réseaux récurrents (RNN, LSTM, GRU), auto-encodeurs, parallélisation et modèles d’attention).
ARCHITECTURE LOGICIELLE: Patrons de conception (modèle de conception et styles architecturaux). Conception architecturale (facteurs de qualité, tactiques, documentation, évaluation). Architecture orientée service.
TRAITEMENT AUTOMATIQUE DE LA LANGUE NATURELLE: Expressions régulières, normalisation de textes, modèles N-grammes, correction orthographique, classification de texte, étiquetage grammatical, analyse syntaxique, recherche d'information, extraction d'information, systèmes question-réponse, traduction automatique, sémantique lexicale, introduction aux plongements de mots et modèles neuronaux.
BASES DE DONNÉES AVANCÉES: Bases de données NoSQL : modèles, architecture des données, requêtes, indexation. Bases de données clefs-valeurs. Bases de données de documents. Bases de données de graphes. Outil de recherche ElasticSearch. Normes XML et JSON. Bases de données transactionnelles. Bases de données distribuées.