Good course, tricky problems that make you think. Got VERY frustrated a few times but completed it. This also got me into emacs but with vim keybindings.
The course requires 100% perfection in order to move on from one assignment to the next in the course as well as from one course to the next within the specialization. This expectation becomes incredibly challenging based upon 1) the minimal teaching videos, 2) lack of programming examples and practice exercises, 3) requiring students to learn and implement tools not addressed in the lessons (e.g. qsort() and void * variables), and 4) heavily relying upon reading out-of-context selections from a textbook co-written by one of the instructors.
The structure of this course consistently poses a problem (see the discussions) when a student struggles to understand the material or cannot figure out how to fix their program, even when submitting screenshots of bugs within the course grader. Too often, the instructors and/or their staff ignore questions and do not always provide feedback to assist the student in understanding why their code does not work (once again see the discussions).
These flaws could be overlooked if auditing these courses were an option, but at $49 per month these courses should be designed to enable students to learn foundational concepts without demanding absolute perfection. For students who want to learn C Programming, a much better option would be cs50x and/or C Programming with Linux through edX. Both of these courses can be audited for free and do not possess any of the issues mentioned above.
