Algorithmique et programmation

Objectifs pédagogiques

- Algorithmique, programmation en C dans un environnement Windows/Linux
 

Capacité et compétences acquises

- Maîtriser les principaux algorithmes informatiques et les structures de données,
- Savoir programmer en langage C,
- Appliquer une méthode d'analyse descendante
- Connaître l'environnement de la programmation sous Linux.

Contenu de la formation

1. Langage C et Algorithmique
* Présentation de l'algorithmique et programmation en C. Nous définissons un langage algorithmique dans lequel nous présentons quelques méthodes d'approche algorithmique (récurrence, raffinement). Nous associons le langage C en traduisant nos algorithmes dans ce langage.

2. Langage C, modularité, types
* Présentation de la notion de modularité et des fonctions.
* Les fonctions en C, les différents passages de paramètres.
* Les modules en C (le fichier header, le fichier source, le fichier objet).
* La compilation séparée à l'aide de l'outil make.
* Les types non-scalaires (tableaux, structures, unions, etc...).

3. Projet de synthèse
* Ce projet permet aux étudiants par groupe de 4 à 6 d'exploiter le maximum des connaissances acquises en suivant une démarche de projet. Plusieurs sujets sont proposés parmi lesquels : La compression avec l'algorithme de Huffman. Le cryptage avec l'algorithme RSA. Le codage de canal avec l'algorithme de Hamming. Réalisation d'un client et un serveur de calcul basés sur les sockets et les protocoles TCP/IP.

Description des modalités de validation

Contrôles écrits
Comptes-rendus de travaux pratiques
Un projet de synthèse 

Prévisions d'ouverture

Groupe Semestre Modalité État d'ouverture Date du premier cours Lieux
USEA06 Algorithmique et programmation 2 Cours de Jour - - - -

Voir les dates et horaires, les lieux d'enseignement et les modes d'inscription sur les sites internet des centres régionaux qui proposent cette formation

    Code : USEA06
    2
    crédits
    Contactez-nous