Computer language concepts

LINGI1131  2018-2019  Louvain-la-Neuve

Computer language concepts
5.0 crédits
30.0 h + 30.0 h
2q

Enseignants
Van Roy Peter;
Langue
d'enseignement
Anglais
Préalables

Ce cours suppose acquise la maîtrise de la programmation dans un langage de haut niveau telle qu'enseignée dans le cours LEPL1402.

Acquis
d'apprentissage
  • définir avec précision et utiliser à bon escient dans les programmes de taille moyenne les concepts'clé de programmation;
  • définir les principaux paradigmes de la programmation concurrente (état partagé, passage de messages et concurrence déclarative), avec les concepts qu'ils contiennent et les propriétés qu'ils donnent aux programmes;
  • expliquer les relations (similitudes, différences) entre ces différents paradigmes ;
  • expliquer le lien entre les langages de programmation et les principaux paradigmes de programmation concurrente ;
  • écrire des programmes de taille moyenne dans ces paradigmes de programmation concurrente.
  • penser à l'aide d'abstractions (raisonner correctement sur un système qui comprend plusieurs couches d'abstractions, et définir de nouvelles abstractions pour simplifier la résolution d'un problème)

La contribution de cette UE au développement et à la maîtrise des compétences et acquis du (des) programme(s) est accessible à la fin de cette fiche, dans la partie « Programmes/formations proposant cette unité d’enseignement (UE) ».

Contenu

' paradigmes de programmation concurrente (état partagé, passage de messages et concurrence déclarative)
' Concepts majeurs de la programmation qui inclut fonction, objet, classe, abstraction, instantiation, héritage, état, encapsulation, concurrence, dataflow, évaluation paresseuse, non'déterminisme, agent (objet actif), verrou (lock), moniteur, transaction, interblocage (deadlock), programmation d'ordre supérieur, compositionnalité, etc.
' Techniques de raisonnement et de conception avec les différents paradigmes pour concevoir des programmes corrects
' Applications pratiques dans plusieurs domaines (par exemple, la simulation des circuits logiques, la simulation des ascenseurs, un gestionnaire de transactions).

Bibliographie

Peter Van Roy et Seif Haridi, Concepts, Techniques, and Models of Computer Programming, MIT Press, 2004

Faculté ou entité
en charge


Programmes / formations proposant cette unité d'enseignement (UE)

Intitulé du programme
Sigle
Crédits
Prérequis
Acquis
d'apprentissage
Mineure en sciences de l'ingénieur : informatique
5
-

Mineure en sciences informatiques
5
-