Programmation avancée ====================== (FMIN362, 5 ECTS) Ce module propose d'aller plus loin dans l'apprentissage de la programmation en milieu professionel. Nous étudierons des concepts clefs du génie logiciel et des applications du monde réel, tel que : - les patrons de conception (réutilisation de l'expérience et non du code). - les applications graphiques (interfaces homme-machine, modèle MVC) - la programmation d'applications réparties entre plusieurs machines (notions de middleware). - le langage XML appliqué à la configuration d'applications - les applications client / serveur par le WEB (notion d'architecture trois tiers) - les tests de programmes (notion de test unitaire). D'un point de vue technique : - langages Java et XML - environnements de développement avancés (IDE) : Eclipse, NetBean - technologies : SWING, JSP, RMI, JUnit, autres. Forme des enseignements : - cours et séances de TP. Chaque sujet abordé est d'abord présenté dans un cours sur diapos (disponibles au cours de l'enseignement) puis mise en pratique dans des séances de TP sur une mini-application. - L'évaluation sera réalisée sur projet en fin de semestre.