Programmation avancée

  • 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

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
 

Contact

UFR de mathématique et d'informatique

7, rue René Descartes
67084 STRASBOURG CEDEX
0368850200

Formulaire de contact