Contenu - Programmation C#

L'objectif de ce cours est d'enseigner les arcanes de la programmation objet en C#, sous la plate-forme Microsoft .NET. On s'attend à ce que l'étudiant ait déjà de bonnes connaissances en programmation procédurale et objet, quel que soit le langage (delphi, java, c++, autres...).

Plusieurs thèmes sont étudiés :
(1) initiation au langage C#, revisiter la programmation procédurale et objet via la création d'applications console ;
(2) approfondir la programmation objet en C# : la notion de classes, l'héritage, le polymorphisme, visibilité des champs et méthodes, l'encapsulation, classes abstraites et interfaces ;
(3) modélisation des applications via la norme de description UML (diagramme de classes UML <-> architectures de classes C#) ;
(4) la programmation visuelle en C#, la construction interfaces graphiques pour des applications stand-alone tournant sous Windows, les principaux éléments du GUI (Graphic User Interface - fenêtres, boutons, menus, boîtes de dialogues, etc.) ;
(5) les techniques de programmation avancée (threads, collections, sérialisation, ...) ;
(6) la programmation client-serveur, les accès aux bases de données.

Ce cours est dispensé en M2 Informatique.

Ressources - Programmation C#

Ressources
EDI : SharpDevelop -- The Open Source Development Environment for .NET
MS Windows SDK for Windows and .NET Framework 4
EDI : Visual Studio - C# Express (non utilisé pour le cours, mais très intéressant pour votre culture)
Slides pour le cours
Les bases de C-Sharp. Rappel des bases de programmation. Notions d'algorithmie, découpage des programmes en procédures et fonctions, introduction à l'EDI SharpDevelop.
Tableaux et collections. Tableaux et collections d'objets sous C-Sharp, accès aux données, la boucle foreach.
Mécanismes de classes - I. Déclaration des classes, instanciation, constructeur, destructeur, l'encapsulation, l'héritage, le polymorphisme, les listes polymorphes.
Mécanismes de classes - II. Les interfaces, les classes génériques, les méthodes statiques.
Applications multifenêtres. Formulaires, boîtes de dialogue. Fenêtres modales et non modales.
Supports de cours et aide en ligne
Cours C# - Serge Tahé (Chap 1 : Les bases du langage C# ; Chap 2 : Classes, Structures, Interfaces ; Chap 3 : Classes .NET d'usage courant ; Chap 4 : Architectures 3 couches, tests unitaires NUnit, framework Spring.net ; Chap 5 : Interfaces graphiques ; Chap 6 : Evénements utilisateur ; Chap 7 : Accès aux base de données ; Chap 8 : Threads d'exécution ; Chap 9 : Programmation Internet ; Chap 10 : Services Web).
La plate-forme .NET avec C# 2.0 - RM Di Scala (Eléments de base en C# ; C# est très orienté objet ; Construire des IHM avec C# ; Eléments spécifiques depuis la version 2.0 de C# ; Programmation web avec ASP.net).
MSDN - Aide en ligne pour les classes .NET (entres autres pour le langage C#)..
Les Tutoriels C# (Les meilleurs cours et tutoriels de la rubrique .NET : les tutoriels C# - Avec moteur de recherche)
Les forums C# sur developpez.com
Autres supports
C# (C-Sharp) sur Wikipedia
Parallèle entre les différents langages de programmation
Cours UML

Ricco Rakotomalala – Université Lyon 2