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. 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.
Instructor Details
Courses : 5
Specification: Writing, Running, and Fixing Code in C
|
52 reviews for Writing, Running, and Fixing Code in C
Add a review Cancel reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
FREE
ch4ewon –
the last tast was awful though, it was helpful to understand what is “test”
Jimmy K A –
Excellent course
Don M –
This was an enjoyable and informative course.
AMRIT S –
helpful content
Saurabh K –
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.
Damien E B –
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.
Ehsan M –
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.
Shubham J –
Learned more and exercised more!
Jakub M –
An excellent course. Even though I have previous experience with languages like Python and Java, C is very much different. This course explains everything in depth and is very challenging even for people with some previous knowledge.
Patrick H –
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.
Rameshwar S –
Excellent course for basic programming and introduction to development tools in Linux environment.
Karin J S –
Instructors were very helpful when myself or others got stumped.
Gaston M –
Great course
Teemu K –
The blackbox testing assigments were sometimes frustrating, But I think forrcing to think about those was good for me :).
ASHISH K –
very good course for the beginners
Martin H –
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
David M –
I enjoy this course. Some exercises were quite tough, I spend several nights solving problems that I didn’t face before. But those times I think I learnt quite a lot. It forces you to think about the problem, see it from a different perspective, especially poker game testing. I also appreciate of TAs in course forum.
LE T K N –
Great! Learn how to debug and how to use some useful tools to test your code. Even though the final projects in course 2 is hard but worth trying, take your time, ask your instructors when you’re stuck and learn something new in the discussion forum.
Brandon G –
Great introduction into learning how to develop algorithms, translating them into code (compiling them), testing that code, and debugging that code.
Seth –
Excellent, extremely helpful. A very thorough and professional course!
J K –
I like the use of separate tools (instead of visual studio) and I FULLY agree with the ski/snowboard analysis of why the use of *nix type software. A disadvantage but that might be a personal thingy is the black box testing and thinking of test cases. I assume that it has something to do with my own impatience. I’m really missing the ability to check the code for errors too. Simple black box testing… not my thing Otherwise, I’d recommend the course, and have actually already recommended it, to anyone interesting in this stuff. Very good!
HITESH G –
poker question requires need more info so that students could understand ques easily
Seif E E –
The Testing assignments were very challenging considering they were black box and we had no access to the code itself ,I hope better Hints are given to students as some of the tests really depended on the implementation.
Rhema K –
Great way of teaching things! Different cases, algorithms and ideas were very well illustrated. There were some wonderful approaches to problems. Quick and helpful answers to questions posted on forums is definitely appreciable.
Blaine C –
Alright course so far. However, to me, the README seem cryptic at times. There are times when I was saying, “WTF are they trying to say.” Not a fan of VIM/EMACS, too. There were instances when redirecting stdout did nothing had to copy the contents, rm the file, and make it again. Why? Problem on my end?
Courtney J –
the PPE is really annoying times out arbitrarily, does weird things if you type more characters than the line allows.
Aliki D –
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.
Gabriel M C –
Excellent Course! I was thinking on diving right into the Java course, in order to get into web development and other areas fo software development, but i’m glad I did this course (and hopefully, will manage to go trough the whole specialization). This course helps us to really think programmatically and how to tackle problems, and i feel much more confident now to tackle any other language, like C++, Java, etc. It’s a tough course, but it sure is amazing once you figured it out how to solve each problem. Also, it’s a great way to get comfortable using the command line and native UNIX text editors like emacs.
ilai l –
Over all I think this is a good course. I think that some notes should be added for FAQs about the assignment as most question in the discussions aren’t always phrased correctly (and it will save the staffs time answering repeating questions) Also I think that there should be some more reading about the methodology of testing as I just played a lot with the input and prayed a lot more (more luck than brains…)
Oliver H –
Great course. Challenging assignments but with the help of the discussion forums feasible. The structure of the course and especially the assignments can give you a great learning success much better than just reading a book or watching some programming videos.
Siddharth R –
Took me a while to finish this course but I am glad I finally did it on my own !!! Thank you for introducing me to git. The tool is being used at our work place !!!!
Gonzalo E –
I think it’s a great course. The only reason I don’t give it 5 stars it’s because of the final assignment that in my opinion is not well explained and turns into a time consuming exercise of hit and miss. Other than that, wonderful class 🙂
Sergey K –
Very good and interesting. Authors put a lot of work to create this course, and it did not go in vain. They put in your head not only C Programming knowledge, but practical tips on how to get job done better and why. I have experience in Python programming, but this course is like fresh air breeze.
Thinh L Q –
Amazing content
Dehming T –
More hands on than my native college course in ECE (10+ years back) with an increased focus on practical tools for programmers.
Michael G –
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.
Yash J –
With every course of this, learning more and more about c programming language and how it all works and what goes into making a project! The instructors as well as the material they provided was very good and helped a lot. Learnt various principles and a bit poker 😛
Richard P –
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.
Rishit P –
while practicing in ppe there is some error showing how do i help my self
Bogdan U –
As accustomed by now when it comes to Duke University, Drew and the colleagues, it was just perfect how they pass on the knowledge.
Guo F –
Wonderful course. Well designed! Thanks for your work!
Anna U –
Good course, fine explanations.
Anindita S –
i can not satisfy with this course
Zhixue S –
The course material and exercises are well designed , clear and thorough. The course instructor and teaching stuff answer question promptly. I like the professional tools used in this course especially. Highly recommend for those who want get started on programming in C.
Mudit M –
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.
Sk I A –
Honestly speaking, Coursera doesn’t need any review as it’s already a world class platform. But the thing for which i gave 4 star, because i have only completed 5 or 6 assignments so far and i don’t know why suddenly my financial aid expired for which i had to apply for it again till then i’m not able to access my assignments after so much hardwork i have done to complete the assignments, sometimes it took me 2 3 days to solve a problem and sometime i had to wait for an week to manage.But it is proven that the Assignments are much! much! tougher than the actual thing they teach in Coursera. While studying Rectangle intersection when they taught me the logic it seemed so simple but when it comes to assignments of rectangle intersection, it literally lowered my self esteem. The Overlapping square assignment was literally the tough where the algorithm which was written on the emacs editor of PPE was itself totally misleading, though it was a very big satisfaction when i completed the assignment and it helped me to develop my skills but i had to take help from the discussion and sometimes even discussions are of no use, you have to find your own way to solve it just like i did in the squares problem. Hope Coursera again accepts my financial aid so that i can continue my incomplete course for which i have done a lot of work. You just have spend a lot of time to complete the coursera course, as it’s literally very challenging.
John C –
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.
Sanchit K –
Awesome teachers but assignments are a bit tough for beginners.
Fuze –
This course taught me how to test programs comprehensively, which had a great impact on me!!!
Harsh V S –
best online course for beginners. But question and assignment should be explained in some more details.
Jumanazar S –
Very useful and eyeopening for learning c.
Roberto R –
The environment used is really complicated, I did spend most of my time trying to figuring out how that works rather than focusing on the code. The material provided to fix the error is not enough at all. I had to find a lot of those things on another website. Again this UNIX system is for hardcore software programmer not for everybody as far as i am concern it was a waste of time learning it because in my case and many other C coding will be used for hardware engineering and MPlab is much more used. Then stop using new terms in the test. English is my second language although i have been speeaking it in the last 6 years still tricky (example the term range. Has not been explained at all in the videos).