- Cours (CM) 16h
- Cours intégrés (CI) -
- Travaux dirigés (TD) -
- Travaux pratiques (TP) 12h
- Travail étudiant (TE) -
Langue de l'enseignement : Français
Niveau de l'enseignement : B2-Avancé - Utilisateur indépendant
Description du contenu de l'enseignement
L’objectif de cette UE est de faire un tour d’horizon des principaux concepts des langages de programmation. Ce cours sera illustré de petits exemples écrits dans de nombreux langages différents afin d’illustrer les différents concepts.
Les concepts suivants seront présentés:
typage fort/faible, typage dynamique/statique, concept de compilation, interprétation, JIT, bytecode, VM, programmation objet orientée classe vs prototype polymorphisme ad-hoc et polymorphisme paramétrique, sous typage, héritage vs héritage multiple, traits et mixins, surcharge, gestion de la mémoire (GC, comptage de références, pointeurs intelligents), pointeurs et références, clôtures, liaison statique vs liaison dynamique, programmation par continuations, types de données algébriques, réutilisation et modèles de composants logiciels (design patterns), variance et covariance, genericité: modules/foncteurs/interfaces, meta-programmation
Les concepts suivants seront présentés:
typage fort/faible, typage dynamique/statique, concept de compilation, interprétation, JIT, bytecode, VM, programmation objet orientée classe vs prototype polymorphisme ad-hoc et polymorphisme paramétrique, sous typage, héritage vs héritage multiple, traits et mixins, surcharge, gestion de la mémoire (GC, comptage de références, pointeurs intelligents), pointeurs et références, clôtures, liaison statique vs liaison dynamique, programmation par continuations, types de données algébriques, réutilisation et modèles de composants logiciels (design patterns), variance et covariance, genericité: modules/foncteurs/interfaces, meta-programmation
Compétences à acquérir
À l’issue de ce cours l’étudiant doit être capable d’aborder un nouveau langage utilisant des concepts connus.
Pré-requis obligatoires
À l'entrée de cette UE, un étudiant devrait savoir :
- Programmation impérative, fonctionnelle et objet
- Système de gestion de versions, ide, outil de déverminage
- Programmation impérative, fonctionnelle et objet
- Système de gestion de versions, ide, outil de déverminage
Contact
UFR de mathématique et d'informatique
7, rue René Descartes67084 STRASBOURG CEDEX
0368850200
Formulaire de contact