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.
This course is part of the Introductory C Programming Specialization
Offered By
About this Course
Skills you will gain
- C Programming
- Compiler
- Debugging
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.
Reviews
- 5 stars65.64%
- 4 stars17.31%
- 3 stars5.30%
- 2 stars4.88%
- 1 star6.84%
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
grader is too confusing but the faculty managed to overcome it with their experience. I request the faculty to use alternative methods for ppe tool to not confuse students
More hands on than my native college course in ECE (10+ years back) with an increased focus on practical tools for programmers.
Black box testing is very useful skill.
I would never use gdb if these guys did not make me. I'm happy they did! :)
About the Introductory C Programming 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?
More questions? Visit the Learner Help Center.