Building on the course Programming Fundamentals, this course will teach you how to write code by first planning what your program should do—an important approach for novice and professional programmers. You will learn how to compile and run your program, and then how to test and debug it. This course builds on the Seven Steps you have already learned and provides a framework for systematically testing for problems and fixing them, so you can find and fix problems efficiently.
Offered By
About this Course
Learner Career Outcomes
25%
25%
Skills you will gain
Learner Career Outcomes
25%
25%
Offered by

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.
Syllabus - What you will learn from this course
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!
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.
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.
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.
Practice Programming Environment
Reviews
TOP REVIEWS FROM WRITING, RUNNING, AND FIXING CODE IN C
Instructors and the instructors who moderate the forums are great. It is a bit different way to look at programming but it makes sense and I would recommend to anyone who wants to learn C
A Bit Hard course, since it has many assignments also some are complex, but 100% guaranty that you will learn to run a succesfull code by solving assignments and completing the material
It is actually a hard course i guess you need to have at least the basics as some of the assignments were really hard take me a lot of time to do them. especially the poker assignment
Very detailed and very helpful. Thanks to the tutors for putting together such a detailed course where nothing seems rushed while at the same time everything is explained.
About the Introduction to Programming in C Specialization
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.

Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I subscribe to this Specialization?
Is financial aid available?
Will I receive a transcript from Duke University for completing this course?
Will I earn university credit for completing the Course?
More questions? Visit the Learner Help Center.