À propos de ce cours
4.6
72 notes
10 avis
Spécialisation
100% online

100% online

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Dates limites flexibles

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Niveau débutant

Niveau débutant

Heures pour terminer

Approx. 20 heures pour terminer

Recommandé : 4 weeks of study, 6–8 hours/week...
Langues disponibles

Anglais

Sous-titres : Anglais...

Compétences que vous acquerrez

C ProgrammingCompilerDebugging
Spécialisation
100% online

100% online

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Dates limites flexibles

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Niveau débutant

Niveau débutant

Heures pour terminer

Approx. 20 heures pour terminer

Recommandé : 4 weeks of study, 6–8 hours/week...
Langues disponibles

Anglais

Sous-titres : Anglais...

Programme du cours : ce que vous apprendrez dans ce cours

Semaine
1
Heures pour terminer
5 heures pour terminer

Writing Code

In this module, you will learn to write code and do your first assignment in the Practice Programming Environment. You have practiced the first four steps of the Seven Steps in the previous course, and you will review them here before learning Step 5: Translating Your Algorithm to Code. Expert programmers spend most of their time planning before they begin writing code, and you will learn to do the same!...
Reading
7 vidéos (Total 34 min), 24 lectures, 2 quiz
Video7 vidéos
Intersection of Two Rectangles5 min
Translating the Intersection Algorithm to Code5 min
Introduction to the Programming Environment6 min
Editing Files with Emacs8 min
More about Git4 min
GitHub1 min
Reading24 lectures
Planning10 min
Revisiting Step 110 min
Revisiting Step 210 min
Step 3: Generalizing Values10 min
Step 3: Repetitions10 min
Step 3: Conditional Behavior10 min
Revisiting Step 410 min
Translation to Code10 min
Translating Algorithm Components10 min
Completed Rectangle Intersection Code10 min
Top-down Design and Composability10 min
Stars Example10 min
Introduction to the Programming Environment10 min
Using the Practice Programming Environment10 min
Solutions to a Few Common Problems10 min
UNIX basics10 min
More UNIX Commands10 min
Emacs10 min
Assignment 01_apple10 min
Git10 min
[Optional Reference] Help me fix...10 min
How Assignments Work in This Course10 min
Assignments 02_code1 and 03_code210 min
Next Steps10 min
Quiz2 exercices pour s'entraîner
Steps 1–4 Review10 min
Step 5 Concepts8 min
Semaine
2
Heures pour terminer
4 heures pour terminer

Compiling and Running

Now that you know how to plan an algorithm and translate it to code, you need to learn how to compile and run it! You will learn about the compiler, which takes the code you wrote and translates it into instructions a machine can execute, which you can then run. You will also learn about different options you can give the compiler, as well as different ways to run your program that give you debugging information....
Reading
8 vidéos (Total 26 min), 17 lectures, 3 quiz
Video8 vidéos
"Hello World"3 min
Planning isPrime3 min
Generalizing isPrime5 min
Translating isPrime to Code2 min
Comparing Output with diff3 min
Build Tool: make3 min
Compiling with a Makefile2 min
Reading17 lectures
Compiling Overview10 min
Compilation Process10 min
Preprocessing10 min
Assignment 04_compile10 min
Getting Help: man Pages10 min
Assignment 05_squares10 min
More about Macros and Header Files10 min
The Actual Compiler10 min
Compiler Errors10 min
Assembling10 min
Linking10 min
Make10 min
Fancier make Options10 min
Running Your Program10 min
valgrind10 min
Compiler Options10 min
Assignments 06_rect and 07_retirement10 min
Quiz3 exercices pour s'entraîner
Compiling8 min
Compilation Process10 min
Make and Valgrind10 min
Semaine
3
Heures pour terminer
3 heures pour terminer

Testing and debugging

Two skills that are crucial to good programming are testing—finding problems with your code, and debugging—fixing them. In this module you will learn systematic ways to identify problems in your code, as well as how to apply the scientific method to fix your program when you do find a bug....
Reading
5 vidéos (Total 19 min), 17 lectures, 3 quiz
Video5 vidéos
Test-driven Development1 min
Code Review2 min
Finding Problems with Valgrind5 min
Gathering Information with gdb6 min
Reading17 lectures
Black Box Testing10 min
Practical Tips for Designing Test Cases10 min
White Box Testing10 min
Generating Test Cases10 min
Asserts10 min
Code Review10 min
Assignments 08_testing and 09_testing10 min
Step 7: Debugging10 min
The Scientific Method10 min
Accept or Reject Your Hypothesis?10 min
Intro to gdb10 min
Getting Started with gdb10 min
Investigating the State of Your Program10 min
Controlling Execution10 min
Watchpoints10 min
Signals10 min
Assignment 10_gdb10 min
Quiz3 exercices pour s'entraîner
Testing8 min
Debugging8 min
gdb4 min
Semaine
4
Heures pour terminer
1 heure pour terminer

Project

In this module you will begin the project you will complete over the course of the rest of the specialization. At the end of each course, you will write a piece of a program that will calculate the odds of different poker hands winning with a Monte Carlo simulation—a way to calculate complicated probabilities by generating random data....
Reading
2 vidéos (Total 8 min), 3 lectures
Video2 vidéos
Poker Project Roadmap1 min
Reading3 lectures
Assignment c2prj_cards10 min
Rules of Poker10 min
Assignment c3prj_testing10 min
Heures pour terminer
1 heure pour terminer

Practice Programming Environment

...
Reading
1 quiz
4.6

Meilleurs avis

par VMNov 4th 2018

Black box testing is very useful skill.\n\nI would never use gdb if these guys did not make me. I'm happy they did! :)

par APOct 28th 2018

Great Course!! This course provided ample theoretical and practical knowledge.

Enseignants

Avatar

Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering
Avatar

Genevieve M. Lipp

Adjunct Professor
Electrical and Computer Engineering/Mechanical Engineering
Avatar

Anne Bracy

Senior Lecturer
Computer Science, Cornell University

À propos de Duke University

Duke University has about 13,000 undergraduate and graduate students and a world-class faculty helping to expand the frontiers of knowledge. The university has a strong commitment to applying knowledge in service to society, both near its North Carolina campus and around the world....

À propos de la Spécialisation Introduction to Programming in C

This specialization develops strong programming fundamentals for learners who want to solve complex problems by writing computer programs. Through four courses, you will learn to develop algorithms in a systematic way and read and write the C code to implement them. This will prepare you to pursue a career in software development or other computational fields. Successful completion of this Specialization will be considered by admissions as a demonstration of your skill and enhance your master’s application to Duke’s Pratt School of Engineering....
Introduction to Programming in C

Foire Aux Questions

  • Une fois que vous êtes inscrit(e) pour un Certificat, vous pouvez accéder à toutes les vidéos de cours, et à tous les quiz et exercices de programmation (le cas échéant). Vous pouvez soumettre des devoirs à examiner par vos pairs et en examiner vous-même uniquement après le début de votre session. Si vous préférez explorer le cours sans l'acheter, vous ne serez peut-être pas en mesure d'accéder à certains devoirs.

  • Lorsque vous vous inscrivez au cours, vous bénéficiez d'un accès à tous les cours de la Spécialisation, et vous obtenez un Certificat lorsque vous avez réussi. Votre Certificat électronique est alors ajouté à votre page Accomplissements. À partir de cette page, vous pouvez imprimer votre Certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez seulement lire et visualiser le contenu du cours, vous pouvez accéder gratuitement au cours en tant qu'auditeur libre.

  • No. Completion of a Coursera course does not earn you academic credit from Duke; therefore, Duke is not able to provide you with a university transcript. However, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.