CES7AJ - CES9AK INTRODUCTION À C/C++
CES7AJ - CES9AK
Introduction à C/C++
Crédits : 4 ECTS
Durée : 36 heures
Semestre : S7 + S9
Responsable(s) :
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 :
Niveaux Description et verbes opérationnels
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