| agenda | répertoires | bibliothèques | offres d'emploi | plan d'accès |
 
| mon bureau | s'identifier |

Programme d'études 2009-2010

   
| English version |
Introduction à l'algorithmique et programmation, Partie 1

[SINF1160]

[30h + 30h] 6 crédits

Cette activité se déroule pendant le 1er quadrimestre.

Horaire : Horaire

Enseignants : Baudouin Le Charlier

Langue d'enseignement : Français

Niveau : Premier cycle

  • Objectifs (en termes de compétences)
  • Objet de l'activité (principaux thèmes à aborder)
  • Résumé : Contenu et Méthodes
  • Autres informations (Pré-requis, Evaluation, Support, ...)

Retour en début de pageObjectifs (en termes de compétences)

Ce cours propose un ensemble de concepts et de méthodes de base pour la programmation. Le but est d'apprendre
aux étudiants à programmer correctement, non par essais et erreurs. Pour cela, il leur est nécessaire de bien
comprendre les concepts d'algorithme, de spécification, de langage de programmation, ainsi que des éléments
d'architecture des ordinateurs.

Retour en début de pageObjet de l'activité (principaux thèmes à aborder)

- Construction systématique d'algorithmes à partir d'objets et d'actions primitives.
- Traduction d'un algorithme dans un langage de programmation (Java)
- Représentation des données numériques et alphanumériques
- Fonctionnement interne d'un ordinateur et langage machine
- Structures syntaxiques et types de données de base dans un langage de programmation (Java)

Retour en début de pageRésumé : Contenu et Méthodes

L'enseignement est organisé de manière traditionnelle avec un cours magistral complété de séances d'exercices
et de travaux à rendre.

Le cours magistral comporte quatre chapitres.

Le premier chapitre concerne la construction d'algorithmes. On donne aux étudiants des objets de base munis
d'actions primitives. On montre ensuite comment construire des algorithmes arbitrairement complexes en utilisant
les compositions séquentielle, conditionnelle et répétitive et en décomposant systématiquement les problèmes en
sous-problèmes. On insiste sur le fait qu'un code correct doit être construit à partir d'assertions intermédiaires.
Dans ce chapitre, le langage Java est utilisé de manière limitée et contrôlée pour traduire les algorithmes conçus
de façon théorique afin de les faire exécuter par un ordinateur.

Le deuxième chapitre aborde la façon dont les données sont encodées en binaire. On étudie en détail les systèmes
de numérations et les algorithmes de conversion d'un système à l'autre. On définit aussi le mode de représentation
des entiers en complément à deux et la représentation des nombres en virgule flottante.

Le troisième chapitre décrit le fonctionnement de l'unité centrale d'un ordinateur fictif simple. Le langage
machine de cette unité centrale est défini avec précision et les techniques de programmation en langage machine
sont expliquées.

Le quatrième chapitre est une introduction aux langages de programmation, illustrée avec le langage Java. On ne
cherche pas à donner un aperçu global du langage Java mais à définir de manière vraiment précise un ensemble
significatif de notions de base (suffisant pour écrire des algorithmes simples). On étudie en détails les notions
suivantes : types de données primitifs, littéraux, variables, tableaux, la classe String, méthodes statiques,
expressions, un sous-ensemble simple des instructions composées, conversions entre types primitifs et surcharge
des noms de méthodes. Avec ces éléments du langage Java, on construit de manière rigoureuse des algorithmes
classiques : recherche en tables, tris de tableaux.

Les travaux pratiques consistent d'une part en séances en salles de cours où des exercices simples sont résolus
avec l'aide d'un assistant et, d'autre part, en trois ou quatre projets de taille réduite résolus par groupes de
2 étudiants. Les projets sont évalués et cette évaluation contribue à 30% de la cote finale de l'examen.

Retour en début de pageAutres informations (Pré-requis, Evaluation, Support, ...)

- Pré-requis : Aucun
| éditeur responsable : Administration de l'enseignement et de la formation | secrétariat : | vie privée | règlements |