Descriptif
Cette UE présente les principaux langages et approches de programmation. Divers concepts importants ou difficultés typiques sont introduits via une introduction au langage C++, en comparant à d'autres langages comme C ou Java. Le cours comprend enfin une partie consacrée à la programmation événementielle et aux interfaces graphiques Java Swing. Une large part est consacrée aux travaux pratiques, qui visent à la création d'un logiciel complet comprenant une partie principale en C++ communiquant avec une interface graphique Java/Swing servant de télécommande.
Liens: Page Synapses - Page eCampus Période 1 - Page eCampus Période 2
Programme
- Langages de l'informatique:
- Présentation des principaux langages informatiques et les approches approches associées (impérative, orientée objet, fonctionnelle)
- Programmation orientée objet et autres concepts illustrés en C++11:
- De Java à C++: classes, instances, méthodes, encapsulation, espaces de nommage ; héritage, polymorphisme, méthodes et classes abstraites ; exceptions
- Notions absentes, cachées ou différentes en Java: gestion mémoire, destruction et copie des objets ; pointeurs, références et smart pointers ; passage par valeur et par référence ; constance ; templates et programmation générique ; surcharge des opérateurs ; typage dynamique ; héritage multiple ; sérialisation.
- Programmation événementielle et interfaces graphiques:
- Introduction à Java/Swing, principaux widgets, arbre d'instanciation, gestion des événements (listeners, interfaces, inner classes...), gestion spatiale, graphique et dessin interactif, MVC.
Travaux pratiques et supports de cours
- Langages informatiques
- Cours (Patrick Bellot)
- Programmation orientée objet et autres concepts illustrés en C++11
- Cours (Eric Lecolinet)
- Travaux Pratiques (Eric Lecolinet)
- Voir aussi : cplusplus.com C++ Reference Boost Tutoriel: de Java à C++
- Programmation événementielle et interfaces graphiques Java
- Cours (Eric Lecolinet)
- Travaux Pratiques (Eric Lecolinet)
- Voir aussi : Doc Swing / Doc Java / Démo Swing / Démo Java2D
- Liens utiles
- Toolkit graphique Qt (Eric Lecolinet)
- TP Gdb (Eric Lecolinet)
- Tutoriel C# (H.Mossenbock - U. Linz, Austria)
- Pour aller plus loin
- Filère IGR et UE IGR201 : Interaction Homme-Machine et Graphique 3D
- ex-INF355 : Paradigmes et langages non classiques