Programmation avancée
Cursus master ingénierie (CMI) - UFR de mathématique et d'informatiqueParcours Cursus master ingénierie (CMI) - Informatique, systèmes et réseaux
Description
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
Compétences visées
À l’issue de ce cours l’étudiant doit être capable d’aborder un nouveau langage utilisant des concepts connus.
MCC
Les épreuves indiquées respectent et appliquent le règlement de votre formation, disponible dans l'onglet Documents de la description de la formation.
- Régime d'évaluation
- ECI (Évaluation continue intégrale)
- Coefficient
- 1.0
Évaluation initiale / Session principale - Épreuves
Libellé | Type d'évaluation | Nature de l'épreuve | Durée (en minutes) | Coéfficient de l'épreuve | Note éliminatoire de l'épreuve | Note reportée en session 2 |
---|---|---|---|---|---|---|
note 1 : épreuve rendue | SC | A | 1.00 | |||
note 2 : épreuve rendue | SC | A | 1.00 | |||
note 3 : épreuve écrite | SC | ET | 120 | 1.00 |