C# - Initiation et approfondissement
Formation créée le 11/01/2023. Dernière mise à jour le 10/03/2025.
Version du programme : 1
Programme de la formation
Objectif de formation : Introduire les bases de la programmation avec C# et maîtrise des techniques de développement avancées.
Objectifs de la formation
- Déployer des outils avancées au sein du code avec C#
- Pouvoir se servir de la réflexion afin d’inspecter & de générer du code
- Contrôler la programmation d'applications multithreads
- Implémenter des WebServices SOAP et REST
- Pouvoir manipuler WPF
- Pouvoir déployer la programmation asynchrone
- Implémenter des programmes à l'aide d'un algorithme
- Connaître les éléments de lexique et de syntaxe d'un langage pour écrire un programme
- Compiler & exécuter un programme
- Déployer une stratégie de déboging et de test
- Connaître les principes fondamentaux de la POO
Profil des bénéficiaires
Pour qui
- Développeurs
- Architectes
- Chefs de projets techniques
Prérequis
- Une bonne compréhension du langage C# sera apprécié mais pas obligatoire
- Connaissance du langage .NET
Contenu de la formation
-
Initiation au bases de la programmation avec C# (5 heures)
- Définition d'un programme
- Tour d'horizon des langages de programmation
- Définition d'une librairie, des rôles et des usages
- Travaux pratiques : Rédaction d'un programme simple sur l'IDE
-
Règles de programmation et des algorithmes (4,5 heures)
- Conventions syntaxiques et de nommage
- Lisibilité des programmes
- Définition d'un algorithme
- Concept de pseudo-langage
- Définition et typage d'une variable
- Saisie, affichage, affectation et conversions de type
- Organisation des données sous forme de tableaux
- Travaux pratiques : Rédaction d'un premier algorithme en pseudo-langage manipulant les variables
-
Opérateurs, expressions et structures de contrôle (2,5 heures)
- Vue d'ensemble des opérateurs
- Définition d'une expression booléenne
- Travaux pratiques : Manipulation des opérateurs et mise en oeuvre d'expressions booléennes
- Focus sur les blocs d'instructions
- Manipulation de boucles itératives pour implémenter un algorithme
-
Procédures et les fonctions (4 heures)
- Définition d'une procédure
- Définition d'une fonction
- Importance des procédures et des fonctions
- Passage de paramètres
- Code retour d'une fonction
- Sensibilisation aux limites du passage de la valeur d'une variable
- Notion de passage par adresse
- Appel de fonction
- Travaux pratiques : Conception de procédures et de fonction sur un cas concret de bases de données
-
Introduction à la programmation Objet (2,5 heures)
- Vue d'ensemble de la programmation Objet
- Concepts associés
- Modélisation Objet à partir d'exigences fonctionnelles
- Travaux pratiques : Illustration de concepts Objets via la modélisation
-
Introduction aux techniques avancées de C# (4,5 heures)
- Délégués et événements
- Délégués
- Événements
- Types anonymes
- Tuples
- Présentation de la classe Tuple
- Tuples de valeur
- Correspondance de motifs
- Expression is
- Expression switch
- Expressions régulières
- Correspondance du texte d’entrée
- Recherche de sous-chaînes
- Modifier des parties d’un texte
- Méthodes d’extension
-
Introduction au WPF et WCF (3 heures)
- Présentation
- Conception de Windows Forms
- Implémentation de WPF
- Architecture de WCP
- Implémentation de points de terminaison
- Conception d’un gestionnaire de contacts
- Intégration Async/Await
- Travaux pratiques : Mise en oeuvre d'une implémentation test avec les pratiques vues dans ce module (WPF et WCF)
-
Lambdas, Linq et programmation fonctionnelle (2,5 heures)
- Programmation fonctionnelle
- Fonctions comme citoyens de première classe
- Expressions lambda
- LINQ
- Opérateurs de requête standard
- Syntaxe des requêtes
- CurryingFermetures
-
Réflexion & programmation dynamique (2,5 heures)
- Premiers pas avec la réflexion
- Chargement dynamiquement des assemblages
- Présentation de la liaison tardive
- Type dynamique
- Attributs
- Manipulation pratique des attributs
- Cibles des attributs
-
C# & .NET Core 6 (4 heures)
- Manipulation de l’interface de ligne de commande (CLI) de .NET
- Déploiement sur les distributions Linux
- Préparation de la boîte de développement
- Écriture du code compatible avec les multiples plates-formes
- Définition de la norme .NET et son rôle dans la conception d’une application
- Création d'une bibliothèque .NET Standard
- Consommation des paquets NuGet
- Ajout des packages à un projet
- Migration de .NET Framework vers .NET Core
- Analyse de l'architecture
- Préparation du processus de migration et de publication
Équipe pédagogique
Professionnel expert technique et pédagogique.
Suivi de l'exécution et évaluation des résultats
- Émargement numérique
- Mises en situation
- Formulaires d’évaluation de la formation
- Certificat de réalisation de l’action de formation
Ressources techniques et pédagogiques
- Espace intranet de formation
- Documents supports de formation projetés
- Exposés théoriques
- Étude de cas concrets
- Mise à disposition en ligne de documents supports à la suite de la formation
Qualité et satisfaction
Taux de satisfaction des apprenants, nombre d'apprenants, taux et causes des abandons, taux de retour des enquêtes, taux d'interruption en cours de prestation...