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
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
by saaleem p•
I didn't understand a thing and they expect too much from beginners.
Also they try to make simple things complicated.
by 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.
by Mynor Z•
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•
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•
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 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.
by 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.
by Xavier S•
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•
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•
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.
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.
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 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.
by Brandon G•
Great introduction into learning how to develop algorithms, translating them into code (compiling them), testing that code, and debugging that code.
by 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.
by Stephen L•
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 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.
by 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
by Sparsh G•
Concepts are not explained well. Very Less videos. Assignments are given whose concepts are not taught well.
by Vishnu M•
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 Shaurya B•
I don't like this course basically as i don't get the better response whenever i face a problem regarding assignment.
by Sayan S•
This course is too much hard for any beginner. I can not understand anything from this course.
by Rishit P•
while practicing in ppe there is some error showing how do i help my self
by 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.
by 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.