Université Lille1

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

PDC : Pratique du C

Responsable

Intervenants

Volume horaire

Cette unité se déroule au S5 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 Vendredi 08h30-10h00 M5 Bacchus Alexandre Sedoglavic Alexandre.Sedoglavic@univ-lille1.fr
INFO 1 TD Mercredi 13h30-15h00 M5 A6 Francesco Decomité Francesco.Decomite@univ-lille1.fr
INFO 1 TP Mercredi 15h15-17h15 M5 A13 Francesco Decomité Francesco.Decomite@univ-lille1.fr
INFO 2 TD Vendredi 10h15-11h45 M5 A9 Alexandre Sedoglavic Alexandre.Sedoglavic@univ-lille1.fr
INFO 2 TP Mercredi 10h15-12h15 M5 A14 Alexandre Sedoglavic Alexandre.Sedoglavic@univ-lille1.fr
INFO 3 TD Vendredi 10h15-11h45 M5 A8 Mikael Salson Mikael.Salson@univ-lille1.fr
INFO 3 TP Mardi 15h15-17h15 M5 A11 Mikael Salson Mikael.Salson@univ-lille1.fr
INFO 4 TD Jeudi 10h15-11h45 M5 A3 Adrien Poteaux Adrien.Poteaux@univ-lille1.fr
INFO 4 TP Lundi 15h15-17h15 M5 A15 Adrien Poteaux Adrien.Poteaux@univ-lille1.fr
MIAGE 1 TD Mardi 08h30-10h00 M5 A6 Samy Meftali Samy.Meftali@univ-lille1.fr
MIAGE 1 TP Mardi 08h00-10h00 M5 A13 Samy Meftali Samy.Meftali@univ-lille1.fr
Miage 2 TD Mardi 10h15-11h45 SUP 115 Jean-Francois Roos Jean-Francois.Roos@univ-lille1.fr
Miage 2 TP Lundi 15h45-17h45 M5 A14 Jean-Francois Roos Jean-Francois.Roos@univ-lille1.fr
Séance COURS TD TP Remarque
1 36 du 05/09 au 10/09 Premiers pas : compilation, éléments de syntaxe Premier TD de PDC : premiers abords du langage C
2 37 du 12/09 au 17/10 Fonctions, tableaux et compilation séparée Premier TD de PDC : premiers programmes en C (factorielle, maxl_line, parenthésage) TP introductif de programmation en C
3 38 du 19/09 au 24/10 Compléments sur les types et directives au compilateur Premiers TD de PDC : premiers programmes en C (suite : macros, word count, etc.) Pretty-printer TP init à rendre via PROF avant le TP
4 39 du 26/09 au 01/10 Introduction aux pointeurs Manipulation de tableaux Mes commandes Unix
5 40 du 03/10 au 08/10 Compléments sur les pointeurs Manipulation de tableaux (suite et fin) Mes commandes Unix (suite et fin)
6 44 du 10/10 au 15/10 Structures autoréférentes Manipulation de structures Ma commande (quick)sort
7 42 du 17/10 au 22/10 Pile d'exécution Manipulation de références et pointeurs Ma commande (quick)sort (suite et fin)
8 43-44 du 24/10 au 05/11 Évaluation en cours magistral interruption pédagogique du 26 octobre soir au 3 novembre matin
9 45 du 07/11 au 12/11 Manipulation de références et pointeurs (suite) Début du projet vendredi 11 novembre férié
10 46 du 14/11 au 19/11 Débordement de pile Structures autoréférentes Projet
11 47 du 21/11 au 26/11 Classes d'allocation et passage de paramètres par la pile Convention d'appel de fonction
12 48 du 28/11 au 03/12 Synthèse, révision et bétisier Rattrapages éventuels
13 49 du 05/12 au 10/12
14 50 du 12/12 au 17/12 Première session des examens

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

L'ensemble des supports de cours, TD et TP sont distribués aux étudiants. Les polycopiés surnuméraires sont laissés à l'AEI.

Ces polycopiés sont disponibles petit à petit.

Supports de cours

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

  1. Interpréteur de commandes (pleine page, 6 pages par page)
  2. Premiers pas : compilation, éléments de syntaxe (pleine page, 6 pages par page)
  3. Fonctions, tableaux et compilation séparée (pleine page, 6 pages par page)
  4. Compléments sur les types et directives au compilateur (pleine page, 6 pages par page)
  5. Introduction aux pointeurs (pleine page, 6 pages par page)
  6. Compléments sur les pointeurs (pleine page, 6 pages par page)
  7. Structures autoréférentes (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)
  10. Débordement de tampon (pleine page, 6 pages par page)
  11. Bétisier (pleine page, 6 pages par page)
  12. >Révision. Bétisier (code)

Supports de travaux dirigés

  1. Premiers travaux dirigés de pratique du C
  2. Manipulation de tableaux
  3. Manipulation de structures
  4. Manipulation de références et pointeurs

Supports de travaux pratiques

  1. Travaux pratiques d'initiation à Unix
  2. Travaux pratiques introductifs de programmation en C
  3. Pretty-printer
  4. Mes commandes Unix
  5. Ma commande (quick)sort
  6. Ma bibliothèque d'allocation mémoire
  7. Ma commande grep

Outils et documentation

Espace réservé aux enseignants

Voyez ce que vous propose l'Intranet de PDC