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