KMS offre des formations techniques sur des sujets liés à son expertise comme le développement de pilote de périphérique, la programmation C/C++, les processus de développement logiciel, le logiciel embarqué... Les clients peuvent choisir parmi des formations existantes ou encore convenir d'une formation spécialement conçu pour répondre à des besoins spécifiques.

Formation

Titre et descriptionSupport

000 - Les tests logiciels

Amorce de réflexion au sujet des tests logiciels

  • Est-il possible de tout tester?
  • Que faut-il tester?
  • Est-il nécessaire d'automatiser les tests?
  • Comment automatiser les tests?
  • Quand exécuter les tests?

Fiche détaillée

Aperçu de la présentation

002 - GIT

Cette formation décrit l'architecture distribuée de GIT et les nouvelles possibilités que celle-ci offre. Elle présente, explique, démontre et permet d'expérimenter les fonctionnalités de base de GIT.

Fiche détaillée

Aperçu de la présentation

003 - OpenCL

Cette formation présente la programmation parallèle à l'aide d'OpenCL. Elle décrit et explique la programmation hôte utilisant la librairie OpenCL et la programmation pour processeur hétérogène utilisant le langage "OpenCL C". Surtout, elle guide le participant dans l'écriture de ses premiers programmes OpenCL complets comportant la gestion de la mémoire, le passage des arguments, le contrôle de l'exécution, le transfert des données et la synchronisation entre kernels et à l'intérieure d'un kernel.

Fiche détaillée

Aperçu de la présentation

004 - Débogueur Kernel

Depuis le WDK 8, le débogueur noyau est intégré à Visual Studio et permet de déboguer un pilote à peu près comme une application. Cette formation montre comment configurer ce débogueur noyaux et explique les différences entre le débogage applicatif et le débogage en mode noyau.

Fiche détaillée

005 - Pilotes Windows

Cette formation est une introduction au développement de pilotes Windows en utilisant KMDF ou UMDF, les deux parties de WDF. Elle aborde les concepts de base : architecture des pilotes, pile de pilote, filtre, interface, signature... Elle explique comment choisir la version de l'environnement à utiliser et le type de pilote à développer. Elle expose aussi les bonnes pratiques et donne plusieurs références qui aideront les participants à continuer leur apprentissage et expérimentation.

Fiche détaillée

Aperçu de la présentation

008 - Optimisation

Cette présentation a pour but d'amorcer une réflexion pratique au sujet de l'optimisation en posant les question suivantes.

  • Pourquoi optimiser?
  • Quand est-il nécessaire d'optimiser?
  • Que faut-il optimiser?
  • Comment optimiser?
  • Est-ce que les langages de programmation sont tous égaux face à l'optimisation?
  • Faut-il opter pour les optimisation fine ou les optimisation algorithmiques?
  • Comment tester et évaluer une optimisation?

Fiche détaillée

009 - Assert

Cette présentation explique l'utilisation des assert, les avantages et les limites. Elle présente aussi les bénéfices de ces vérifications lors des tests et du déverminage.

Fiche détaillée

010 - Conversion de types en C/C++

Cette présentation débute par décrire l'opérateur de conversion C et les dangers de celui-ci. Elle présente ensuite les opérateurs de conversion C++ et comment ils permettent d'éviter les dangers.

Fiche détaillée

011 - C++ pour le noyau

L'utilisation du langage C++ pour la programmation de module noyau ("kernel") tel les pilotes de périphériques était autrefois proscrite et seuls les plus braves s'y aventuraient. Maintenant, ce langage est mieux accepté, les outils le supportent mieux et surtout, les passages ont été défrichés.

Cette formation vise justement à vous permettre d'utiliser le langage C++ dans le noyau en joissant de ces avantages et sans tomber dans certains pièges dans lesquels d'autres sont tombés avant vous.

Fiche détaillée

012 - Acronis True Image

Cette formation démontre l'utililité de l'outil Acronis True Image dans un environnement de développement ou de test logiciel. Elle explique les étapes simples pour créer et restaurer l'image d'un ordinateur.

Fiche détaillée