INF431: Algorithmique et programmation

2011-2012

Présentation du cours

L'informatique est d'une part une discipline scientifique à part entière, d'autre part un puissant outil, exploité par toutes les disciplines, y compris l'informatique elle-même.

Ce cours constitue une introduction approfondie aux notions fondamentales de l'informatique, aussi bien scientifiques que techniques. Il s'adresse à ceux qui s'intéressent à l'informatique pour elle-même comme à ceux qui s'y intéressent en tant qu'outil.

Ce cours enseigne d'abord l'algorithmique, c'est-à-dire la science de la résolution systématique des problèmes et de l'organisation efficace des données. L'accent est mis sur la conception des algorithmes et sur l'analyse de leur efficacité. Un petit nombre de concepts et de techniques fondamentaux, qui sont exploités dans de nombreuses situations, sont présentés.

De plus, ce cours est conçu comme un approfondissement de la pratique de la programmation. Le langage Java est utilisé tout au long du cours, pour les travaux dirigés sur machine et pour un projet de programmation réalisé en binôme. Ceci se double d'une réflexion théorique à propos de la programmation: on propose une introduction au test et à la preuve de programmes ainsi qu'une introduction à la programmation concurrente.

La description officielle du cours se trouve dans le catalogue des cours, en français et en anglais.

Plan du cours

Voici un plan prévisionnel:

Enseignants

Students who would prefer English-speaking PC and TD teachers are invited to enroll in group 4 or 8.

Ressources pédagogiques

Les pages de suivi

Annales

Les sujets et corrigés des pales précédentes sont disponibles ici. Toutefois, rappelons que le contenu du cours a en partie évolué depuis.