Chevron Left
Back to Writing, Running, and Fixing Code in C

Learner Reviews & Feedback for Writing, Running, and Fixing Code in C by Duke University

785 ratings

About the Course

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....

Top reviews


May 30, 2020

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


Jun 14, 2020

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

Filter by:

1 - 25 of 190 Reviews for Writing, Running, and Fixing Code in C

By saaleem p

Sep 8, 2018

I didn't understand a thing and they expect too much from beginners.

Also they try to make simple things complicated.

By Aliki D

Jul 14, 2019

Similarly to the bad quality of the first course, there was not enough content for a beginner.

The videos were not enough, the readings were confusing.

As a beginner, I had a very hard time to understand the material and to deliver results. A lot of personal research in online material and videos was required in order to understand the supposedly 'Beginner' material provided by this course.

In overall, the material was complicated and confusing and not at all helpful for a beginner. I would say it was a discouraging experience for a beginner.

I wouldn't recommend it for true beginners to programming, only if you are experienced in other languages you can go through easily through this course.

By Mynor Z

May 9, 2020

The content surely is good (for the content that you actually get to see), but the course itself is really unnerving, it is not for someone trying to learn. The readings are really not clear on how to use the presented knowledge and the videos go flying on that same knowlege, someting like "here you create this new file and make this change and this other change" when only 1/3 or 1/2 of what was said there was actually covered on the readings and videos. Yes, I know that we have to research on our own, but the indifference of your knowledge is huge.

Then, the online programming environment is buggy and the forums are flooded with problems. Not only for the PPE, but also because TONS of instructions on the exercises are really UNCLEAR.

Then, the final project. Why poker? If you don't know anything about poker or just really don't care, don't expect to have a challenge with the test, you better expect frustration and indiference.

By Richard P

Nov 20, 2019

While the EMACS editor and development environment is presented as a well respected option in the course, that has not been the case since the year 2000. This is a typical case of academic development environments being years (or decades in this case) behind what is actually used in industry or business. I am withdrawing from the course.

By John C

Jan 29, 2020

In week three this course changes from a course on C and basic programing into a course about using emacs in browser. Then you gotta go learn to play texas holdem its only 13 damn pages of rules in pdf form.

Note that that neither emacs or texas holdem are related to C.

By Saurabh

Dec 24, 2018

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.

By Bhargavi J

Mar 19, 2020

A really awesome course. Puts forth the basic concepts clearly so that anybody can understand. This course has inspired me to learn and improve my C programming skills.

By Vishnu M

Feb 10, 2020

the programming environment is a waste of time- they should teach us how to do code in the text editor rather than in some web terminal

By Michael G

Oct 20, 2019

I picked and chose what I wanted from this course, but I think it's an excellent introduction to some of the concepts that _surround_ the C programming language, like gdb, makefiles, and valgrind.

Unlike later programming languages (like Java and Python), writing correct C code is really only part of the way to making progress on a project in C. You'll quickly develop a need for makefiles as a means of automating and streamlining your builds, you'll shoot yourself in the foot with the freedom that C allows you and will need either gdb or valgrind (or both) to find out what's going wrong, and you'll be asked to troubleshoot a kind-of working binary that you didn't write and have little familiarity with.

Writing C is a skill. Using C is a slightly different, and equally important skill. This course teaches you how to use C.

By Patrick H

Jan 12, 2019

Great lectures and readings, but some of the assignments at the end took quite a while due to the instructions being slightly unclear. The instructions could be improved by letting the student know what context their function is going to be called in by the grader script. For example, is the grader going to call my function in main, or within another function I wrote? Also, is the grader going to print using its own printf call, or is it going to call my print function (which is important to know, as it may or may not effect the state of the output variables if the print function is calling other functions). Besides those minor nitpicks, it was a great course overall.

By Shaurya B

Apr 12, 2020

I don't like this course basically as i don't get the better response whenever i face a problem regarding assignment.

By Johannah C

Apr 8, 2021

Too much time spent on guess work having to do with poker domain content for producing black box tests without getting a chance to start coding.

By Sayan S

Mar 19, 2020

This course is too much hard for any beginner. I can not understand anything from this course.

By Xavier S

Aug 29, 2021

I am not used to courses at the end of which I feel more qualified than before. If this is your first programming course, you are in the right place. It was really challenging for me because programming always was my pet peeve, but for the first time I finally was able to understand the basics of programming and I want to finish the two next courses. Many thanks to the team, that will never tell you that something is trivial but rather will give you comprehensive and thorough methodology. If you are increadibly slow like me at the beggining, you will definitively become better at the end, with a very good understanding of the topic and abilities to apply that understanding in the real world.

By Sivakumar S

Sep 16, 2020

I was new to c programming but could complete all the assignments and understand most of the concepts presented in the course. It was challenging, but with the help of forum and guidance from instructors, I completed it. I would recommend this course to anyone who did course 1 programming fundamentals.

By Damien B

Dec 31, 2018

Wonderful course. The black-box testing was very puzzling, and I wish that I had had access to some pseudocode. Will you every have a job where you have a test code without knowing the programming intent? A small gripe.

By Ehsan M

Jan 4, 2019

This course gives you a great overview (in reasonable depth) of the tools and concepts that you need when starting as a novice programmer. Strongly recommended.

By Brandon G

May 15, 2019

Great introduction into learning how to develop algorithms, translating them into code (compiling them), testing that code, and debugging that code.

By Bogdan U

Dec 11, 2019

As accustomed by now when it comes to Duke University, Drew and the colleagues, it was just perfect how they pass on the knowledge.

By Stephen L

Mar 19, 2018

The course description says that it's aimed at beginners and that has proven to be true. Most quizzes and assignments can be answered directly from the material presented in the course. Basic troubleshooting strategies are presented and the student is introduced to gnu gdb. The course forum is active with a very high instructor participation rate.

The only mark against taking this course would be the Coursera platform itself. The forums are full of messages of people completing assignments and not being given credit for it. Then the instructors have to work behind the scenes with Coursera to get them to correct their error.

By Victoria J

Mar 30, 2021

The assignments on testing and the final project 2 (again, about testing) are frustrating. The return (the amount of learning) on your time invested in these assignments is rather low. You don't necessarily get to learn something really important just by spending 2 hours trying to figure out that one last test case.

By Mudit M

Jan 11, 2020

The practice programming environment used in the course can be very very difficult to handle at times.

The problems given in the course have a much higher difficulty level than the difficulty level of the course itself.

You need to have a lot of external help as well to be able to complete the course.

By Martin H

Apr 10, 2019

The course itself is nice, but the testing is horrible. In no company in the world you would not know the testcase. In this course you have to guess them. That was crazy

By Sparsh G

Apr 3, 2020

Concepts are not explained well. Very Less videos. Assignments are given whose concepts are not taught well.

By Sylvia B

Jul 21, 2022

I would have finished the course series (only did 2/4) if it were not for the tedious poker project, which is not interesting.