Exporter au format PDF - WikiDocs, Université de Lorraine

publicité
CES7AJ - CES9AK INTRODUCTION À C/C++
CES7AJ - CES9AK
Crédits : 4 ECTS
Introduction à C/C++
Durée : 36 heures
Semestre : S7 + S9
Responsable(s) :
Pierre-Etienne MOREAU, Professeur, [email protected]
Mots clés : langage machine, langage de programmation, microprocesseur, compilation, structures de donnée, gestion de la mémoire, outils de build
Pré requis : Être motivé
Objectif général :
“This course provides a fast-paced introduction to the C and C++ programming languages.
You will learn the required background knowledge, including memory management, pointers, preprocessor macros, object-oriented programming, and how to find bugs when you inevitably use any of those
incorrectly.” (MIT 6.S096)
Programmes et contenus :
Comprendre de manière abstraite le mécanisme d’exécution des programmes
Être capable de comprendre le fonctionnement d’un programme
Être capable d’écrire ou de modifier un programme écrit en C ou C++
Fonctionnement d’un ordinateur
architecture
rappels sur l'exécution d'un programme
processeur, langage machine
langage d’assemblage, assembleur
langage haut niveau, compilation
notion de machine abstraite
mémoire, donnée, programme
introduction à Unix
Compilation pipeline
pré-processeur
compilation, règles de déclaration, règles de typage
compilation séparée, linkage
conception modulaire de programmes
outils de build (makefile)
Syntaxe et sémantique de core C
types de données élémentaires
codage de l’information (int, short, char)
structures de contrôle
notion de tableau
Organisation de la mémoire
notion d’adresse
déréférencement
pile et tas
allocation dynamique
Structures de données avancées
type record
allocation dynamique et gestion de la mémoire
Introduction à C++
encapsulation des données, classes, espace de noms, constructeurs et destructeurs
gestion de la mémoire, constructeurs et destructeurs
Programmation objet
héritage, polymorphisme
liaison dynamique
entrées/sorties
Utilisation avancées
standard template library
pointeurs de fonctions
exceptions
standardisation
Applications
Exemples issus de problématiques liées aux départements autres que I&S
Compétences :
Description et verbes opérationnels
Niveaux
Connaître
la syntaxe et la sémantique des constructions du langage C
les règles de typage du langage
le rôle des différents outils de développement
Comprendre
Appliquer
le fonctionnement de base d’un ordinateur et les différents niveaux de langages
le rôle d’un préprocesseur et d’un compilateur
les mécanismes de compilation modulaire
la notion de pointeur et les mécanismes de gestion de la mémoire
les principes de base de la programmation objet
savoir mettre en place une architecture de base pour développer un logiciel
savoir compiler et exécuter un logiciel sur une plate-forme spécifique
Analyser
savoir choisir une structure de donnée adaptée pour résoudre un problème
savoir détecter les erreurs de programmation
Synthétiser
savoir définir une structure de donnée et les différentes fonctions associées
savoir exprimer un algorithme en langage C
Évaluer
savoir évaluer la qualité d’un code écrit pour y déceler des améliorations possibles
Évaluations :
Test écrit
Contrôle continu
Oral, soutenance
Projet
Rapport
Téléchargement