Programmation en langage C/C++
NFA037


Objectifs pédagogiques :

Objectifs

  • Apprendre à bien programmer,
  • En validant cette UE on obtient un très bon niveau d'autonomie de programmation avec les langages C et C++, langages les plus utilisés dans le monde avec Java et Python,
  • Perfectionner son niveau de programmation en C et C++,
  • Comprendre et maîtriser les principes de la programmation orientée objet avec le langage C++,
  • Interfaçage C++ / Python

Organisation de l'enseignement

Cet enseignement se veut concret, pragmatique avec une progression pédagogique étudiée et graduée ;  un seul objectif : savoir programmer pleinement et en autonomie en C et C++.

Si l'UE est ouverte en Présentiel : une séance sur machine de 3,5 heures, chaque semaine pendant 13 semaines (Cours/ED/TP).

Si l'UE est ouverte en Formation Ouverte à Distance (FOAD)  : documents pédagogiques, cours, exercices, corrigés et vidéos sont mis en ligne semaine après semaine permettant de travailler de chez soi, à son propre rythme ; des séances en visio permettent de faire le point avec l'enseignant, en direct ; un forum permet des échanges concrets et réguliers de questions et réponses...

Si l'UE est ouverte en "Hybride"  : nombreux documents pédagogiques, cours, exercices, corrigés et vidéos mis en ligne chaque semaine + au moins 2 séances de regroupements sur place ou en visio pour faire le point, reprendre des éléments de cours, corriger des exercices, répondre aux questions, etc.

 

 

Public et conditions d'accès :

Publics visés

  • Personnes souhaitant apprendre à bien programmer,
  • Personnes souhaitant approfondir leur niveau de programmation avec les langages C et C++,
  • Personnes souhaitant comprendre la programmation orientée objet avec C++,
  • Personnes souhaitant intégrer des écoles d'informatique, de programmation type école 42,
  • Développeurs, scientifiques, chefs de projet, enseignants, informaticiens, électroniciens, mathématiciens, ingénieurs, analystes financiers, comptables...
  • Etudiants, apprentis, élèves ingénieurs, élèves d'écoles de commerce,
  • Enseignants de la spécialité NSI,
  • Candidats au CAPES d'informatique.

Prérequis
Il est conseillé d'avoir quelques rudiments de programmation car le rythme est soutenu.
Posséder des bases de programmation, quel que soit le langage (variables, affectations, tests conditionnels, boucles, tableaux, fonctions) est un atout sans être obligatoire.

Néanmoins, si vous travaillez régulièrement et respectez bien les conseils donnés vous pourrez suivre et valider cette UE.

Si vous voulez vraiment progresser : prévoir un minimum de 2 x 2 heures de programmation par semaine.

Avoir le niveau d'UE comme : NFE006 Macros/VBA, NFE003 (comprendre l'informatique et Python) , NFA031 (Java) est un atout mais n'est pas obligatoire.

 

Après cette UE...

Cette UE peut-être suivie d'unités d'enseignement en programmation du département d'informatique ou d'analyse numérique mathématique (CS001 et CSC002).

Vous pourrez accéder à des UE du département informatique sur la recherche opérationnelle, l'intelligence artificielle, la programmation embarquée...

Méthodes de validation :

Projet individuel (code source C/C++) à rendre avec soutenance obligatoire et/ou examen individuel (code source C/C++ à écrire) dans le cadre du contrôle continu (pas de QCM).

Contenu de la formation :

Programme détaillé de l'UE

  • Présentation, reprise des bases du langage C (variables, typage, entrées/sorties, tests conditionnels, opérateurs de pré et post incrémentation...),
  • Rappels sur les boucles for et while, imbrications de boucles,
  • Les tableaux, tableaux 2D, dynamiques, algorithmes,
  • Les fonctions, passage de paramètres par valeur, valeurs de retour,prototypes...
  • La récursivité, fonctions récursives,
  • Les pointeurs, adresses, gestion de la mémoire, passage de paramètres par adresse, accès direct en mémoire
  • Les types énumérés et complexes, créer son propre type de données,
  • Gestion des chaînes de caractères, fonctions utiles sur les chaînes de caractères, algorithmes,
  • Lecture et écriture dans des fichiers textes et binaires,
  • Les listes chaînées, piles, files : ajout/suppression de maillons, parcours de listes, algorithmes avec des listes...
  • De C à C++ : Écriture de programmes en C++,
  • Implémentations en C++ d'arbres simples, parcours simples d'arbres, algorithmes récursifs,
  • Introduction à la programmation orientée objet, notions de classes, méthodes, attributs,
  • Les constructeurs, l'encapsulation de données, la surcharge d'opérateurs et de méthodes, destructeurs
  • Setters, getters, méthodes statiques, dynamiques,
  • L'héritage, le polymorphisme,
  • L'héritage multiple, polymorphisme, masquage de fonction
  • Généricité, templates, classes et méthodes virtuelles
  • Gestion des exceptions
  • Headers, programmation modulaire,
  • Écriture et codage d'algorithmes, tris, tris récursifs...
  • Comparaison de programmes C/C++ et Python
  • Lancement de scripts Python à partir de C++
  • Ecriture d'un script Python qui. lance un code C++

Programme non contractuel 

Plus de 350 programmes concrets seront à écrire, programmer et compiler dans le cadre de cet enseignement.

Bibliographie :
  • xx: Documents de cours
  • xx: Exercices et corrigés d'exercices
  • xx: Vidéos pédagogiques
  • xx: Programmes sources implémentés

Cette UE apparaît dans les diplômes et certificats suivants :

  • LG04201A : Licence Sciences, technologies, santé mention mathématiques parcours Sciences des données
  • CRN0700A : Titre RNCP Niveau 5 Concepteur développeur de solutions informatiques

Prochaines sessions de formation

Filtres :
Centre de formation Semestre
2024/2025
Jours de
formation
Modalité Crédits    
Paris Semestre 2 6 crédits (1)

Date de début des cours (*) :

  • 03/02/2025

* Les dates fournies sont d'ordre général à toutes les formations.
  Les cours pour cette formation peuvent potentiellement commencer un peu plus tard dans le semestre.

Ajouter au panier
Contacter le centre
Légende :
Tarif (1) :

Vous pouvez consulter nos tarifs ici.
Selon votre statut, il existe différents dispositifs de financement qui peuvent financer jusqu'à 100 % de votre formation. Nos chargés de formation en centre vous accompagneront pour constituer votre dossier.

Date de début de cours :
  • Île-de-France :
    • 1er semestre et annuel : 30/09/2024
    • 2e semestre : 17/02/2025
  • Paris :
    • 1er semestre et annuel : 16/09/2024
    • 2e semestre : 03/02/2025

Les dates fournies sont d'ordre général à toutes les formations. Les cours pour cette formation peuvent potentiellement commencer un peu plus tard dans le semestre.

Annuel :

Il s'étend de fin septembre / début octobre à début juillet (dates indicatives, renseignez-vous auprès de votre centre).

Semestre 1 :

Il s'étend de fin septembre / début octobre à fin janvier / début février (dates indicatives, renseignez-vous auprès de votre centre).

Semestre 2 :

Il s'étend de fin février / début mars à début juillet (dates indicatives, renseignez-vous auprès de votre centre).

Cours du soir :

Les cours commencent le plus souvent à 18h30 dans les centres.

  Cours en journée :

Se renseigner auprès du centre pour connaître les horaires.

Cours en ligne :

les cours sont diffusés sous forme de séances numériques via une plateforme d’e-learning animées et tutorées par un enseignant. Des séances de regroupement en visio sont proposées.

  Classe virtuelle (Formation à distance planifiée):

L'enseignant à distance intervient en direct et en visioconférence sur la plateforme d'e-learning. Il complète son intervention par des activités interactives (exercices échanges…)

  Cours en ligne hybride :

Cette modalité associe des cours en ligne tutorées et des regroupements en présentiel obligatoires.

  Cours hybrides :

Cette modalité mixe des cours en présentiel (en cours du soir ou en journée) et des cours en ligne.

  Cours en ligne organisés par un autre
centre CNAM Régional :

Les cours sont diffusés sous forme de séances numériques via une plateforme d'e-learning animées et tutorées par un enseignant.

    Formation co-modale :

Formation proposée en présentiel et à distance en simultané. L'auditeur a la possibilité de choisir de venir sur site pour suivre l'enseignement ou bien de suivre à distance. Les cours se déroulent en semaine généralement après 18h ou le samedi.

Recherche en cours