Acquis d'apprentissage

A l'issue du cours, l'étudiant maitrisera le langage Python et sera capable

  • de construire un programme complexe impliquant la maîtrise d'algorithmes évolués et de de mécanismes de programmation avancé
  • de concevoir une architecture logicielle, basé sur différents composants
  • de spécifier ces composants
  • d'en dériver des algorithmes
  • et de déduire de ceux-ci des programmes efficaces.

Il est à noter que, bien que le cours utilise le langage Python, la grande majorité des acquis d'apprentissage s'appliquent à tout langage impératif.

Objectifs

Le cours vise à compléter l'étude de la programmation impérative entamée au cours SINF B103 et SINF B104 en introduisant de nouveaux mécanismes non étudiés, en particulier, les classes et objets, multithreading, interface graphique et structure de données persistante.  D'autre part, il vise à présenter un cadre rigoureux de construction d'algorithmes et de programmes.

Contenu

Trois phases sont mises en évidence dans le processus de construction d'un logiciel et sont successivement étudiées: i) l'élaboration de spécifications, ii) les techniques de preuve et de construction d'algorithmes, iii) les techniques de dérivation et de transformation de programmes.

Table des matières

Les mécanismes de programmation en Python non abordés aux cours SINF B103 et SINF B104 sont progressivement étudiés.

Le contenu du cours est divisé en unités suivantes :
  1. Linux en Virtual Machine
  2. Principes de la programmation orientée objet

  3. Objets et méthodes

  4. Classes et héritage

  5. Interface graphique

  6. Structure de données persistantes

  7. Base de données relationnelle

  8. Multithreading

  9. Bibliothèques scientifiques

Méthodes d'enseignement

Cours ex-cathédra basé sur de nombreux exemples ainsi que la résolution de cas lors des séances d'exercices.

Méthode d'évaluation

Les étudiants sont évalués durant le quadrimestre sur la base de leur portfolio d'exercices et, en particulier, des exercices réalisés en séances d'exercices et soumis sur Webcampus, et avec un examen oral.

Langue d'instruction

Anglais
Formation Programme d’études Bloc Crédits Obligatoire
Bachelier en sciences mathématiques Standard 0 2
Bachelier en sciences mathématiques Standard 2 2