Génie logiciel
Accueil Remonter Info. Indus. Génie logiciel Le CV du Phil

Voici la progression que j'ai mis en place, basée sur 7h en 1ère année et 8h en 2nde.

Elle vaut ce qu'elle vaut et trouvera sans doute à être critiquée par des collègues, mais les résultats semblent satisfaisant .

1. Cours de 1ère année.

1.1 Présentation (<> 1 sem.).

Présentation prof et étudiants.
Présentation du programme de l'année en Génie Logiciel:
bulletAlgorithmique;
bulletProgrammation C++; 
bulletModélisation objet avec UML; 
bulletLes bases de données; 
bulletLes applications web;
Présentation sommaire de l'architecture d'un système d'information.
Installation et configuration des outils de développement.

1.2 Introduction à la programmation (<> 3 sem.).

Le processus programmation d'une application informatique: 
bullet Fichiers source / objet / exécutable;
bulletCompilation, édition de liens;
Les paradigmes de programmation: 
bullet Notion de fonction; 
bullet Notion de module; 
bullet Notion de classe;
bulletAssimilation du main() à une classe;
Présentation des outils de développement:
bulletPrésentation IDE;
bulletUtilisation de l'aide en ligne; 
bulletEcriture, compilation et exécution premier programme.
Les entrées sorties standard en C++.
Notions de variables, de type.
Exécution en mode debug d'une application.
Premières notions d'algorithmique et de notation UML.

1.3 Programmation 1er niveau (<> 6 sem.).

Programmation orientée objet (POO):
bulletNotion de classe, ses membres et leur accessibilité; 
bullet Notion d'objet;
bulletNotion de messages.
bulletReprésentation UML des classes et des objets;
Algorithmique: 
bullet Les conditions; 
bullet Les itérations; 
bullet Les structures de données;
Programmation C++: 
bullet Prototypage d'une classe;
bulletImplémentation d'une classe 
bulletInstanciation d'un objet, constructeur et destructeur. 
bulletMessages.

1.4 Programmation 2ème niveau (<> 5 sem.).

Les pointeurs.
Les passages de paramètres par valeur, référence, adresse.
Allocation dynamique de mémoire et d'objets.
Modélisation UML: 
Diagramme de classes (associations, agrégations, cardinalités, rôles); 
Diagramme d'objets; 
Diagrammes d'interactions (collaborations et séquences);

1.5 Programmation 3ème niveau (<> 5 sem.).

Notion d'héritage.
La gestion des exceptions.
La surcharge des opérateurs.
Présentation de quelques éléments de la librairie standard (STL) du C++.
La gestion des flux d'entrées sorties (fichiers).
Programmation en C.
Test et qualité du logiciel.

1.6 Développement Web (<> 3 sem.).

Organisation et fonctionnement de l'Internet:
bullet Les protocoles;
bulletURL; 
bulletServeurs et clients web;
bullet Notions de sites / applications / services web.
La "couche présentation" : HTML.
La "couche application" coté client : JavaScript.
Développement d'applications web en PHP.

1.7 Programmation Windows (<> 4 sem.).

Programmation événementielle: 
bullet Notion d'événements et de gestionnaires d'événements;
bulletBoucle de gestion des événements.
Le principe des RAD. Présentation de la VCL.
Programmation d'applications Windows avec C++Builder.

1.8 Bases de données (<> 3 sem.).

Présentation des principes des BdD.
Les SGBDR.
Le langage SQL.
Modélisation d'une BdD avec UML.
Développement d'une application C++ utilisant une BdD.
Développement d'une application web (en PHP) utilisant une BdD.

2. Cours de 2ème année.

2.1 Gestion de projet informatique (<> 5 sem.).

Le processus de développement d'une application informatique avec UML: 
bullet Les besoins (cas d'utilisation, activités, …); 
bullet L'analyse (classes, interactions, composants, déploiement, …);
bulletLa conception (DET, design pattern, …) ; 
bullet La fabrication, la génération automatique de code à partir d'un modèle UML.
bullet Les tests;
La gestion du projet: 
bullet Les ressources; 
bullet La planification; 
bullet Les configurations; 
bullet Les modifications.
bulletLa communication.

2.2 Programmation C++ avancée (<> 3 sem.).

Le polymorphisme.
Les classes abstraites.
Les patrons de classe (templates).

2.3 Modèle client-serveur (<> 4 sem.).

Généralités et architectures de déploiement du modèle client-serveur.
Modèle client-serveur en environnement web. 
Les protocoles http et CGI. 
Développement d'application web avec CGI. 
Développement d'application web avec ASP.
Les services web. 
Les extensions UML pour les applications web.
Corba / DCOM.
Initiation à Java et présentation RMI.

2.4 Multimédia (<> 3 sem.).

Traitement numérique du signal
Visionique