Algorithmique et programmation logicielle (INFO503_SIAY)

Présentation

Cet enseignement est une introduction à l’algorithmique et à la programmation logicielle.

Il présente les fondements de l'algorithmique et montre comment ils peuvent être utilisés pour résoudre différents problèmes. Il fournit une définition des types abstraits de donnée simples et introduit les bases de la programmation fonctionnelle au travers des langages Racket et Scheme, inspirés du langage LISP. Cet enseignement fournit les bases nécessaires pour construire des algorithmes récursifs et des algorithmes de manipulation de structures de données séquentielles et arborescentes notamment.

Les principaux algorithmes de tris (bulles, insertion, fusion) sur les structures de données séquentielles seront abordés.

 

Objectifs

L'objectif principal de cet enseignement est d'une part l'acquisition des principes guidant la compréhension et l'écriture d'algorithmes dans une démarche de résolution de problèmes, d'autre part la découverte de la programmation fonctionnelle comme moyen simple d'expression d'algorithmes.

Pré-requis

Aucun prérequis n'est attendu.

Plan du cours

  • Introduction à l'algorithmique et à la notion de calculabilité

  • Introduction à la programmation fonctionnelle avec les langages Racket, Scheme

  • Principes de conception de programmes

  • Ecriture d'algorithmes en utilisant les langages Racket, Scheme

  • Algorithmique et récursivité

  • Etudes des structures de données séquentielles (listes, les piles, les files)

  • Etude de quelques algorithmes de tris sur les structures séquentielles

  • Etudes des structures de données arborescentes et de type graphes

Volume horaire

  • CM : 20.0
  • TD : 20.0

Bibliographie

  • T. Cormen, C. Leiserson, R. Rivest, Introduction à l’algorithmique, Dunod
  • L. Arditi, S. Ducasse, La Programmation une approche fonctionnelle et récursive avec Scheme, Eyrolles
  • J. Charazin, Programmer avec Scheme, Thomson Publishing
  • R. K. Dybvig, The Scheme Programming Language, The MIT Press
  • H. Abelson, J. Sussman, Structure and Interpretation of Computer Programs, The MIT Press
  • J.P. Roy, Premiers cours de programmation avec Scheme – Du fonctionnel pur aux objets avec DrRacket, Ellipses

Diplômes intégrant ce cours

En bref

Crédits ECTS : 3

Méthode d'enseignement
En présence

Forme d'enseignement
Cours magistral

Langue d'enseignement
Français

Contact(s)

UFR, Écoles, Instituts

Responsable(s)

Herve Verjus

Tél : +33 4 50 09 24 15

Email : Herve.Verjus @ univ-savoie.fr

Lieu(x)

  • Annecy-le-Vieux (74)