Programmation C

Programmation C  GTI3105
Enseignant:
Email:
Durée totale du cours: 60H
Semestre : 1
Nombre de crédits : 3
Modules spécialisés Modules de base Sciences et techniques de l’ingénierie Préparation à la carrière professionnelle
    X  
 
Nombre d’heures Activités hors classe  
45 38  
cours TD TP
30 15 15
 
Code : GTI3105 Programmation C  
Volume Horaire: 01h:30  de cours + 1h30 Travaux pratiques (par semaine)

Objectifs d’apprentissage et compétences visées

Cette unité est pour maitriser les différents algorithmes et structures de données vus dans l’unité algorithmique avancée. En outre, la présente unité est une opportunité pour maitriser plusieurs éléments du langage C, à savoir : Les pointeurs La programmation modulaire (makfile) La gestion de fichiers L’utilisation de plusieurs bibliothèques Le débogage. Contenu du  cours Rappel Structures conditionnelles Structures itératives Tableaux Structures Les pointeurs Principe Arithmétique et manipulation Allocation dynamique des tableaux et matrices Pointeurs et structures Listes chainées Les fonctions Définition, appel et déclaration de fonction Passage de paramètres (par valeur, par adresse) Pointeur sur fonction Fonction main et ses paramètres Fonctions avec nombre variable de paramètres Manipulation des fonctions de bibliothèques string.h : Manipulation des chaines de caractères math.h : fonctions mathématiques stdlib.h : conversions de chaines et de nombres, aléatoire, recherche et tri time.h : date et heure Gestion de fichiers Ouverture et fermeture de fichiers E/S formatées E/S binaires Positionnement Programmation modulaire Compilation séparée Principe de l’utilitaire make Création d’un makefile Règles générales de compilation

Méthodes d’enseignement et d’apprentissage

Travaux pratiques (laboratoire) Travaux à faire à domicile (mini-projet, compte-rendu, …)

Connaissances et compétences pré-requises

Algorithmique de base Concepts basiques de la programmation C

Références bibliographiques

Un polycopié (Notes du cours) de l’enseignant sera disponible. Autres références sous forme de tutoriaux, manuels ou documents à télécharger Les recommandations bibliographiques suivantes doivent être considérées : Claude Delannoy, « Le guide complet du langage C », Eyrolles, 2014, 844p, ISBN : 978-2- 212-29514-6.

Modalité d’évaluation

100% Travaux pratiques (mini-projet avec présentation orale, examen TP, compte-rendu, …)

 Résultats d’apprentissage :

Maîtrise des concepts de base de la programmation en C : Comprendre les principes fondamentaux de la programmation en C, y compris la syntaxe, les variables, les types de données, les opérateurs et les structures de contrôle. Utilisation des bibliothèques standard : Savoir utiliser les bibliothèques standard du langage C pour des opérations courantes telles que l’entrée/sortie, la manipulation de chaînes de caractères et les opérations mathématiques. Gestion de la mémoire : Comprendre les concepts de gestion de la mémoire en C, notamment l’allocation dynamique de mémoire, l’utilisation de pointeurs et la libération de mémoire pour éviter les fuites. Structuration du code : Apprendre à organiser le code en utilisant des fonctions, des modules et des fichiers séparés pour améliorer la lisibilité, la maintenance et la réutilisabilité. Manipulation de fichiers : Savoir manipuler des fichiers en C, y compris l’ouverture, la lecture, l’écriture et la fermeture de fichiers, ainsi que la gestion des erreurs. Utilisation avancée des pointeurs : Maîtriser les pointeurs pour réaliser des opérations plus avancées, telles que la manipulation de structures de données complexes, la création de listes chaînées, etc. Programmation modulaire : Diviser le code en modules logiques et indépendants, favorisant ainsi la maintenance, la collaboration et la réutilisation. Débogage et gestion des erreurs : Savoir identifier, diagnostiquer et corriger les erreurs de programmation à l’aide d’outils de débogage et de techniques de gestion des erreurs. Utilisation de structures de données : Appliquer des structures de données comme les tableaux, les listes chaînées et les piles pour résoudre des problèmes de manière efficace. Programmation orientée objet en C (optionnel) : Comprendre les concepts de base de la programmation orientée objet en C, comme l’encapsulation, l’héritage et le polymorphisme. Optimisation du code : Apprendre à optimiser les performances du code en optimisant les boucles, en minimisant l’utilisation de ressources et en adoptant de bonnes pratiques de programmation. Applications spécifiques aux télécommunications : Appliquer les compétences en programmation C pour résoudre des problèmes liés aux communications, tels que le traitement de signaux, les protocoles réseau et la transmission de données.
[lifterlms_course_continue_button]

Laisser un commentaire

Défiler vers le haut
Need Help? Chat with us