Vous êtes ici : FIL > Portail > Licence Info > L2S4 > PDC

PDC : Pratique du C

Responsable

Intervenants

  • Pierre Allegraud
  • Vincent Aranega
  • Clément Ballabriga
  • Gilles Grimaud
  • Philippe Marquet
  • Alexandre Sedoglavic

Volume horaire

Cette unité se déroule au S4 de la licence LST A - mention informatique. Il s'agit d'une UE obligatoire de cette mention.

L'enseignement est organisé sous la forme d'une séance hebdomadaire d'1h30 de cours, d'une séance hebdomadaire d'1h30 de TD et, pratique oblige, d'une séance hebdomadaire de 2h de travaux pratiques.

L'UE PDC est un pré-requis indispensable au suivi de l'UE PDS, programmation des systèmes du S6.

Crédits

5 ECTS

Objectifs

L'objet de ce module est d'enseigner à l'étudiant la maîtrise du langage C. Ce langage est pensé comme un « assembleur portable » en cela que son pouvoir d'expression est une « projection » des fonctions élémentaires d'un microprocesseur. Le module Pratique du C vise donc à enseigner le lien entre l'algorithmique (programmation) et le matériel informatique. Pratique du C n'est donc pas un module de programmation qui est supposé préalablement acquis.

Contenu

S'adressant à des étudiants sachant déjà programmer, le cours comporte un premier survol du langage C (y compris des pointeurs), une présentation de l'environnement de développement (sous Unix), puis une étude appronfondie du langage et des bibliothèques classiques. La maîtrise des outils de développement couvre l'utilisation avancée d'un éditeur, l'enchaînement des commandes de compilation, la mise au point des programmes, la gestion de versions, l'utilisation de scripts shell simples, par exemple pour automatiser le test de programmes.
Gpe nature horaire salle Enseignant email
Cours Mercredi 14h00-15h30 M1 Archimède Alexandre Sedoglavic Alexandre.Sedoglavic@univ-lille.fr
1 TD Lundi 13h30-15h00??? Clément Ballabriga Clement.Ballabriga@univ-lille.fr
1 TP Lundi 08h00-10h00 M5 A11 Clément Ballabriga Clement.Ballabriga@univ-lille.fr
2 TD Mercredi 10h20-11h50???? Pierre Allégraud Pierre.Allegraud-lille.fr
2 TP Lundi 08h00-10h00M5 A13 Pierre Allégraud Pierre.Allegraud-lille.fr
3 TD Jeudi 08h30-10h00 ???? Vincent Aranega Vincent.Aranega@univ-lille.fr
3 TP Lundi 08h0-10h00 M5 A15 Vincent Aranega Vincent.Aranega@univ-lille.fr
4 TD Jeudi 08h30-10h00?? ?? Alexandre Sedoglavic Alexandre.Sedoglavic@univ-lille.fr
4 TP Lundi 08h00-10h00M5 A16 Alexandre Sedoglavic Alexandre.Sedoglavic@univ-lille.fr
5 TD Vendredi 08h30-10h00?? ?? Philippe Marquet Philippe.Marquet@univ-lille.fr
5 TP Vendredi 10h20-12h20M5 A15 Philippe Marquet Philippe.Marquet@univ-lille.fr
6 TD Vendredi 10h20-11h50?? ?? Gilles Grimaud Gilles.Grimaud@univ-lille.fr
6 TP Vendredi 08h00-10h00M5 A15 Gilles Grimaud Gilles.Grimaud@univ-lille.fr
7 TD Lundi 10h20-11h50?? ?? Clément Ballabriga Clement.Ballabriga@univ-lille.fr
7 TP Mercredi 10h20-12h20M5 A16 Clément Ballabriga Clement.Ballabriga@univ-lille.fr
Séance COURS TD TP Remarque
1 du 14/01 au 19/01 Premiers pas : compilation, éléments de syntaxe Identificateurs, expressions et types atomiques TP introductif de programmation en C
2 du 21/01 au 26/01 Fonctions, tableaux et compilation séparée Premiers programmes TP introductif : de programmation en C
3 du 28/01 au 02/02 Compléments sur les types et directives au compilateur Initialisations et manipulations de tableaux TP introductif : mes commandes Unix TP init à finaliser sur GIT avant le TP
4 du 04/02 au 09/02 Introduction aux pointeurs Initialisations et manipulations de tableaux (suite) TP introductif : mes commandes Unix
5 du 11/02 au 16/02 Compléments sur les pointeurs Initialisations et manipulations de tableaux (suite et fin) TP introductif : mes commandes Unix (suite et fin)
du 18/02 au 23/02 interruption pédagogique d'hiver
6 du 25/02 au 02/03 Bibliothèque standard Manipulation de structures Ma commande (quick)sort (tri classique) TP unix à finaliser sur GIT avant le TP
7 du 04/03 au 09/03 Pile d'exécution Manipulation de structures Ma commande (quick)sort --- intermezzo
8 du 11/03 au 16/03 Classes d'allocation et passage de paramètres par la pile Manipulation de références et pointeurs Ma commande (quick)sort (suite et fin)
9 du 18/03 au 23/03 Structures autoréférentes Manipulation de références et pointeurs (suite) Allocateur mémoire TP quicksort à finaliser sur GIT avant le TP
10 du 25/03 au 30/03 Débordement de pile Manipulation de références et pointeurs (suite et fin) Allocateur mémoire (suite)
11 du 01/04 au 06/04 Synthèse, révision et bétisier Structures autoréférentes Allocateur mémoire (suite et fin)
du 08/04 au 20/04 interruption pédagogique de printemps
12 du 22/04 au 27/04 Structures autoréférentes Compression de Huffman lundi 22 avril férié. TP allocateur mémoire à finaliser sur GIT avant le TP
13 du 29/04 au 04/05 Convention d'appel de fonction et/ou révisions Compression de Huffman mercredi 1er mai férié
14 du 06/05 au 11/05 mercredi 8 mai férié. Rattrapages éventuels

L'évaluation s'effectue suivant une procédure de contrôle continu et un examen en fin de semestre.

Trois notes seront attribuées à chaque étudiant durant le semestre :

  • DS1 : une note sur 20 de Travaux Dirigés (interrogations écrites en amphi, ...), attribuée par l'enseignant de Travaux Dirigés.
  • TP : une note de Travaux Pratiques
  • DS2 : une note sur 20 pour l'examen de fin de semestre.

La note finale sur 20 (N) est calculée comme une moyenne pondérée de ces trois notes :

DS = sup ( DS1+2DS2/3,DS2)
N= (TP+3 DS)/4

Pour la seconde session d'examen, la note TD (CC) est conservée. La note d'examen (EX) est remplacée par la note obtenue lors de la seconde session.

L'unité acquise apporte 5 ECTS.

Espace étudiants

Supports de cours

Les transparents du cours sont disponibles en pdf (portable document format).

  1. Premiers pas : compilation, éléments de syntaxe (pleine page, 6 pages par page)
  2. Fonctions, tableaux et compilation séparée (pleine page, 6 pages par page)
  3. Compléments sur les types et directives au compilateur (pleine page, 6 pages par page)
  4. Introduction aux pointeurs (pleine page, 6 pages par page)
  5. Compléments sur les pointeurs (pleine page, 6 pages par page)
  6. Structures autoréférentes (pleine page, 6 pages par page)
  7. Bibliothèque standard (pleine page, 6 pages par page)
  8. Pile d'exécution (pleine page, 6 pages par page)
  9. Classes d'allocation et passage de paramètres par la pile (pleine page, 6 pages par page)

Supports de travaux dirigés

  1. Identificateurs, expressions et premiers programmes
  2. Initialisations et manipulations de tableaux
  3. Manipulations de structures
  4. Manipulation de références et pointeurs
  5. Structures autoréférentes
  6. Convention d'appel de fonctions

Premiers travaux pratiques

Travaux pratiques - tri rapide

Construction d'allocateur(s) dynamique(s)

Compression de Huffman

DS de mars 2016

Sujet du DS de mars 2016

Outils et documentation

Espace réservé aux enseignants

Voyez ce que vous propose l'Intranet de PDC