La plupart des langages de programmation partage des bases communes mais n'offrent pas les mêmes possibilités, certains sont plus adaptés que d’autres en fonction des types de développement informatique ciblées. 

Il existe de nombreux langages de programmation qui offrent différentes possibilités d’abstraction. Chaque langage de programmation supporte une ou plusieurs approches de la programmation – paradigmes.

Dans ce cours, il s’agit de d’acquérir les notions fondamentales de ces paradigmes et de permettre aux apprenants d'exprimer un algorithme dans un langage selon ce paradigme.