Lorsque vous vous inscrivez à ce cours, vous êtes également inscrit(e) à cette Spécialisation.
Apprenez de nouveaux concepts auprès d'experts du secteur
Acquérez une compréhension de base d'un sujet ou d'un outil
Développez des compétences professionnelles avec des projets pratiques
Obtenez un certificat professionnel partageable
Il y a 4 modules dans ce cours
Le dernier cours de la spécialisation Introduction à la programmation en C vous enseignera de nouvelles techniques de programmation puissantes pour interagir avec l'utilisateur et le système et allouer dynamiquement de la mémoire. Vous apprendrez à utiliser les pointeurs de manière plus sophistiquée, comme les chaînes de caractères et les tableaux multidimensionnels, ainsi qu'à écrire des programmes qui lisent et écrivent des fichiers et prennent en compte les données de l'utilisateur. L'apprentissage de l'allocation dynamique de la mémoire permettra à vos programmes d'effectuer des tâches complexes qui seront appliquées dans la dernière partie du projet de spécialisation : une simulation Monte Carlo pour calculer les probabilités des mains de poker.
Jusqu'à présent, nos programmes ont eu une interaction plutôt limitée avec l'utilisateur ou le reste du système, en imprimant certains résultats sur la sortie standard (typiquement sur le terminal). Maintenant que nous avons abordé des sujets tels que les chaînes de caractères et les tableaux, nous sommes prêts à apprendre à écrire un programme qui reçoit des données de l'utilisateur, des arguments sur la ligne de commande, qui accède à des fichiers et qui fait beaucoup d'autres choses que nous considérons généralement comme des programmes réels.
Inclus
5 vidéos15 lectures5 devoirs4 devoirs de programmation
Afficher les informations sur le contenu du module
5 vidéos•Total 16 minutes
Pourquoi nous avons besoin d'interactivité et de gérer la mémoire•2 minutes
Lire un fichier avec fgetc•4 minutes
Lire un fichier avec fgets•5 minutes
Écrire dans un fichier•2 minutes
Fermeture d'un dossier•3 minutes
15 lectures•Total 145 minutes
L'environnement de programmation Practice•10 minutes
Signaler un problème avec le cours•5 minutes
Introduction au système d'exploitation•10 minutes
Erreurs provenant des appels système•10 minutes
Arguments de la ligne de commande•10 minutes
Traitement des options complexes•10 minutes
Le pointeur d'environnement•10 minutes
Création de processus•10 minutes
Ouverture d'un fichier•10 minutes
Lecture d'un fichier•10 minutes
Lire un fichier avec fgets•10 minutes
Lire un fichier avec fread•10 minutes
Écrire dans des fichiers•10 minutes
Clôture des dossiers•10 minutes
Autres interactions•10 minutes
5 devoirs•Total 150 minutes
Le système d'exploitation•30 minutes
Arguments de la ligne de commande et création de processus•30 minutes
Ouverture de fichiers et fgetc•30 minutes
Lecture du fichier encryption.c•30 minutes
Rédaction et clôture des dossiers•30 minutes
4 devoirs de programmation•Total 120 minutes
Affectation 24_read_arr3•30 minutes
Affectation 25_break_encr•30 minutes
Affectation 26_tests_matrix_input•30 minutes
Affectation 27_matrix_input•30 minutes
Module 2 : Allocation dynamique
Module 2•8 heures à terminer
Détails du module
Jusqu'à présent, la majeure partie de la mémoire que nous avons utilisée se trouvait sur la pile. L'allocation dynamique de la mémoire donne au programmeur beaucoup plus de flexibilité, en ce sens qu'elle vous permet de demander qu'une quantité spécifique de mémoire soit allouée sur le tas, de sorte qu'elle ne disparaisse pas avec le cadre de la pile de la fonction appelante.
Inclus
7 vidéos18 lectures5 devoirs4 devoirs de programmation
Afficher les informations sur le contenu du module
7 vidéos•Total 24 minutes
Appel simple à malloc•2 minutes
Mécanique du libre•3 minutes
Code avec fuite de mémoire•3 minutes
Trois problèmes courants lors de l'utilisation de free•2 minutes
Appel à la réallocation•4 minutes
Lire un fichier avec getline•6 minutes
Combiner getline et realloc•4 minutes
18 lectures•Total 166 minutes
Motivation pour l'allocation dynamique•10 minutes
malloc•10 minutes
Correction de initArray•10 minutes
Structures plus complexes•10 minutes
Copie superficielle et copie profonde•10 minutes
gratuit•10 minutes
Fuites de mémoire•10 minutes
Une analogie avec l'allocation dynamique de mémoire•10 minutes
Problèmes courants avec free•10 minutes
réallocation•10 minutes
getline•10 minutes
Memcheck de Valgrind•10 minutes
Valeurs non initialisées•10 minutes
Lectures et écritures non valides•10 minutes
Valgrind avec GDB•10 minutes
Questions relatives à l'allocation dynamique•10 minutes
memcheck.h•3 minutes
Autres outils Valgrind•3 minutes
5 devoirs•Total 140 minutes
malloc•30 minutes
gratuit•30 minutes
réallocation•30 minutes
getline•30 minutes
Memcheck de Valgrind•20 minutes
4 devoirs de programmation•Total 120 minutes
Affectation 28_fix_vg_encr•30 minutes
Affectation 29_nom_de_sortie•30 minutes
Affectation 30_sort_lines•30 minutes
Affectation 31_balayeur de mines•30 minutes
Module 3 : Programmation dans les grandes entreprises
Module 3•5 heures à terminer
Détails du module
Jusqu'à présent, nous nous sommes concentrés exclusivement sur la programmation à petite échelle, c'est-à-dire la conception d'un algorithme pour une tâche de petite taille, sa mise en œuvre, son test et son débogage. Ce module aborde trois différences principales que présentent les "vrais" programmes. 1) Ils ont tendance à être beaucoup plus volumineux que ceux que nous avons écrits. 2) Plus d'une personne y travaille, parfois des équipes de centaines ou de milliers de personnes. 3) Les vrais logiciels ont une longue durée de vie pendant laquelle ils doivent être maintenus. Maintenant que vous avez compris les bases de la programmation à petite échelle, nous sommes prêts à commencer l'apprentissage de la programmation à grande échelle !
Inclus
2 vidéos20 lectures2 devoirs3 devoirs de programmation
Afficher les informations sur le contenu du module
2 vidéos•Total 6 minutes
Introduction•1 minute
Planification de la liste•6 minutes
20 lectures•Total 120 minutes
Analogie avec l'écriture•10 minutes
Abstraction•3 minutes
La limite de sept articles•10 minutes
Abstraction hiérarchique•10 minutes
Lisibilité•2 minutes
Fonction Taille•2 minutes
Nommer•4 minutes
Formatage•10 minutes
Commentaires et documentation•10 minutes
Considérations relatives à l'équipe•5 minutes
Git•2 minutes
Versions antérieures•5 minutes
Collaboration•3 minutes
Plusieurs versions du présent•5 minutes
Lire la suite•2 minutes
Description du problème•5 minutes
Planification de l'algorithme de haut niveau•7 minutes
Écriture et test de readInput•10 minutes
Terminer le programme•10 minutes
Des programmes encore plus importants•5 minutes
2 devoirs•Total 60 minutes
Abstraction•30 minutes
Lisibilité•30 minutes
3 devoirs de programmation•Total 90 minutes
Affectation 32_kvs•30 minutes
Affectation 33_comptes•30 minutes
Affectation 34_mettre_ensemble•30 minutes
Module 4 : Projet Poker
Module 4•4 heures à terminer
Détails du module
Dans ce module, vous terminerez le projet Poker ! Maintenant que vous connaissez l'allocation dynamique de la mémoire, l'entrée utilisateur et la manière de programmer en grand, vous pouvez écrire les dernières parties du programme. Vous écrirez du code pour lire un fichier contenant un jeu de cartes et du code pour choisir des cartes inconnues dans un jeu mélangé. Au fur et à mesure que vous programmerez avec des structures de données plus sophistiquées, l'importance de dessiner de bonnes images augmentera. Bonne programmation !
Inclus
1 vidéo1 lecture3 devoirs de programmation
Afficher les informations sur le contenu du module
Ajoutez ce titre à votre profil LinkedIn, à votre curriculum vitae ou à votre CV. Partagez-le sur les médias sociaux et dans votre évaluation des performances.
Instructeurs
Évaluations de l’enseignant
Évaluations de l’enseignant
Nous avons demandé à tous les étudiants de fournir des commentaires sur nos enseignants au sujet de la qualité de leur pédagogie.
L'université Duke compte environ 13 000 étudiants de premier et deuxième cycles et un corps professoral de classe mondiale qui contribue à repousser les frontières de la connaissance. L'université s'est fermement engagée à appliquer les connaissances au service de la société, tant à proximité de son campus de Caroline du Nord que dans le monde entier.
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Felipe M.
Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’
Jennifer J.
Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’
Larry W.
Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’
Chaitanya A.
’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’
Avis des étudiants
4.3
180 avis
5 stars
64,64 %
4 stars
15,46 %
3 stars
8,28 %
2 stars
1,65 %
1 star
9,94 %
Affichage de 3 sur 180
O
OE
5·
Révisé le 2 août 2019
i really loved the style of that course. the challenging assignments, depending more on reading and the continuous support through the discussion forums. i hope you make another extension to c++
D
DX
5·
Révisé le 13 juin 2021
It's very good for entering the world of progromming!
A
AM
5·
Révisé le 12 mars 2021
this course is helpful and wonderful it is helped me very much in my study
Recevrai-je un relevé de notes de l'Université de Duke pour avoir suivi ce cours ?
Non. L'achèvement d'un cours Coursera ne vous donne pas droit à un crédit académique de Duke ; par conséquent, Duke n'est pas en mesure de vous fournir un relevé de notes universitaire. Cependant, votre certificat électronique sera ajouté à votre page Accomplishments - à partir de là, vous pouvez imprimer votre certificat ou l'ajouter à votre profil LinkedIn.
Quand aurai-je accès aux cours et aux devoirs ?
Pour accéder aux supports de cours, aux devoirs et pour obtenir un certificat, vous devez acheter l'expérience de certificat lorsque vous vous inscrivez à un cours. Vous pouvez essayer un essai gratuit ou demander une aide financière. Le cours peut proposer l'option "Cours complet, pas de certificat". Cette option vous permet de consulter tous les supports de cours, de soumettre les évaluations requises et d'obtenir une note finale. Cela signifie également que vous ne pourrez pas acheter un certificat d'expérience.
Qu'est-ce que je recevrai si je souscris à cette Specializations ?
Lorsque vous vous inscrivez au cours, vous avez accès à tous les cours de la spécialisation et vous obtenez un certificat lorsque vous terminez le travail. Votre certificat électronique sera ajouté à votre page Réalisations - de là, vous pouvez imprimer votre certificat ou l'ajouter à votre profil LinkedIn.
Une aide financière est-elle disponible ?
Oui, pour certains programmes de formation, vous pouvez demander une aide financière ou une bourse si vous n'avez pas les moyens de payer les frais d'inscription. Si une aide financière ou une bourse est disponible pour votre programme de formation, vous trouverez un lien pour postuler sur la page de description.