Latest Courses
Build a Complete Youtube Video App: Swift2.2 & 3 and XcodeCheck course
Shopify Mastery | Build a Shopify Store in Just 1 HourCheck course
Java Regular Expression FoundationCheck course
Agile Software Testing - Techniques and ToolsCheck course
Python Programming Skills Test With ExplanationCheck course
Beginners Eclipse Java IDE Training CourseCheck course
Xamarin Android - A Master Guide to App Development in C#Check course
Python for beginnersCheck course
Salesforce Integration With External SystemsCheck course
Game Audio 101 & 201: Beginner to Advanced Game Sound DesignCheck course
Build a Complete Youtube Video App: Swift2.2 & 3 and XcodeCheck course
Shopify Mastery | Build a Shopify Store in Just 1 HourCheck course
Java Regular Expression FoundationCheck course
Agile Software Testing - Techniques and ToolsCheck course
Python Programming Skills Test With ExplanationCheck course
Writing, Running, and Fixing Code in C

Writing, Running, and Fixing Code in C

FREE

(52 customer reviews)
Add to wishlistAdded to wishlistRemoved from wishlist 0
Add to compare
9.0/10 (Our Score)
Product is rated as #10 in category C

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

Andrew Hilton is an Associate Professor of the Practice in the Department of Electrical and Computer Engineering in the Pratt School of Engineering at Duke University. He has taught at Duke since 2012, and prior to that he was an advisory engineer at IBM. Among the courses Professor Hilton teaches at Duke is ECE 551, an intensive introduction to programming course that successfully prepares graduate students with no programming experience to learn programming and go on to complete more advanced programming courses. In recognition for excellence in teaching in the Pratt School of Engineering at Duke, Professor Hilton received the Klein Family Distinguished Teaching Award in 2015. Professor Hilton holds a PhD in Computer Science from the University of Pennsylvania.

Specification: Writing, Running, and Fixing Code in C

Duration 33 hours
Year 2018
Level Beginner
Certificate Yes
Quizzes Yes

52 reviews for Writing, Running, and Fixing Code in C

4.3 out of 5
33
10
3
1
5
Write a review
Show all Most Helpful Highest Rating Lowest Rating
  1. Avatar

    ch4ewon

    the last tast was awful though, it was helpful to understand what is “test”

    Helpful(0) Unhelpful(0)You have already voted this
  2. Avatar

    Jimmy K A

    Excellent course

    Helpful(0) Unhelpful(0)You have already voted this
  3. Avatar

    Don M

    This was an enjoyable and informative course.

    Helpful(0) Unhelpful(0)You have already voted this
  4. Avatar

    AMRIT S

    helpful content

    Helpful(0) Unhelpful(0)You have already voted this
  5. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  6. Avatar

    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.

    Helpful(1) Unhelpful(0)You have already voted this
  7. Avatar

    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.

    Helpful(1) Unhelpful(0)You have already voted this
  8. Avatar

    Shubham J

    Learned more and exercised more!

    Helpful(0) Unhelpful(0)You have already voted this
  9. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  10. Avatar

    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.

    Helpful(1) Unhelpful(0)You have already voted this
  11. Avatar

    Rameshwar S

    Excellent course for basic programming and introduction to development tools in Linux environment.

    Helpful(0) Unhelpful(0)You have already voted this
  12. Avatar

    Karin J S

    Instructors were very helpful when myself or others got stumped.

    Helpful(0) Unhelpful(0)You have already voted this
  13. Avatar

    Gaston M

    Great course

    Helpful(0) Unhelpful(0)You have already voted this
  14. Avatar

    Teemu K

    The blackbox testing assigments were sometimes frustrating, But I think forrcing to think about those was good for me :).

    Helpful(0) Unhelpful(0)You have already voted this
  15. Avatar

    ASHISH K

    very good course for the beginners

    Helpful(0) Unhelpful(0)You have already voted this
  16. Avatar

    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

    Helpful(1) Unhelpful(0)You have already voted this
  17. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  18. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  19. Avatar

    Brandon G

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

    Helpful(0) Unhelpful(0)You have already voted this
  20. Avatar

    Seth

    Excellent, extremely helpful. A very thorough and professional course!

    Helpful(0) Unhelpful(0)You have already voted this
  21. Avatar

    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!

    Helpful(0) Unhelpful(0)You have already voted this
  22. Avatar

    HITESH G

    poker question requires need more info so that students could understand ques easily

    Helpful(0) Unhelpful(0)You have already voted this
  23. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  24. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  25. Avatar

    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?

    Helpful(0) Unhelpful(0)You have already voted this
  26. Avatar

    Courtney J

    the PPE is really annoying times out arbitrarily, does weird things if you type more characters than the line allows.

    Helpful(0) Unhelpful(0)You have already voted this
  27. Avatar

    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.

    Helpful(3) Unhelpful(0)You have already voted this
  28. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  29. Avatar

    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…)

    Helpful(0) Unhelpful(0)You have already voted this
  30. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  31. Avatar

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

    Helpful(0) Unhelpful(0)You have already voted this
  32. Avatar

    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 🙂

    Helpful(0) Unhelpful(0)You have already voted this
  33. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  34. Avatar

    Thinh L Q

    Amazing content

    Helpful(0) Unhelpful(0)You have already voted this
  35. Avatar

    Dehming T

    More hands on than my native college course in ECE (10+ years back) with an increased focus on practical tools for programmers.

    Helpful(0) Unhelpful(0)You have already voted this
  36. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  37. Avatar

    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 😛

    Helpful(0) Unhelpful(0)You have already voted this
  38. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  39. Avatar

    Rishit P

    while practicing in ppe there is some error showing how do i help my self

    Helpful(0) Unhelpful(0)You have already voted this
  40. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  41. Avatar

    Guo F

    Wonderful course. Well designed! Thanks for your work!

    Helpful(0) Unhelpful(0)You have already voted this
  42. Avatar

    Anna U

    Good course, fine explanations.

    Helpful(0) Unhelpful(0)You have already voted this
  43. Avatar

    Anindita S

    i can not satisfy with this course

    Helpful(0) Unhelpful(0)You have already voted this
  44. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  45. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  46. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  47. Avatar

    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.

    Helpful(0) Unhelpful(0)You have already voted this
  48. Avatar

    Sanchit K

    Awesome teachers but assignments are a bit tough for beginners.

    Helpful(0) Unhelpful(0)You have already voted this
  49. Avatar

    Fuze

    This course taught me how to test programs comprehensively, which had a great impact on me!!!

    Helpful(0) Unhelpful(0)You have already voted this
  50. Avatar

    Harsh V S

    best online course for beginners. But question and assignment should be explained in some more details.

    Helpful(0) Unhelpful(0)You have already voted this
  51. Avatar

    Jumanazar S

    Very useful and eyeopening for learning c.

    Helpful(0) Unhelpful(0)You have already voted this
  52. Avatar

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

    Helpful(0) Unhelpful(0)You have already voted this

    Add a review

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Price tracking

    Register New Account
    Reset Password
    Compare items
    • Total (0)
    Compare