Chevron Left
C Programming: Advanced Data Types - 5 に戻る

ダートマス大学 による C Programming: Advanced Data Types - 5 の受講者のレビューおよびフィードバック



In this course you will define your own data types in C, and use the newly created types to more efficiently store and process your data. Many programming languages provide a number of built-in data types to store things such as integers, decimals, and characters in variables, but what if you wanted to store more complex data? Defining your own data types in C allows you to more efficiently store and process data such as a customer's name, age and other relevant data, all in one single variable! You will also gain experience with programming concepts that are foundational to any programming language. Why learn C and not another programming language? Did you know that smartphones, your car’s navigation system, robots, drones, trains, and almost all electronic devices have some C-code running under the hood? C is used in any circumstance where speed and flexibility are important, such as in embedded systems or high-performance computing. At the end of this short course, you will reach the fifth milestone of the C Programming with Linux Specialization, unlocking the door to a career in computer engineering. Your job Outlook: - Programmers, developers, engineers, managers, and related industries within scientific computing and data science; - Embedded systems such as transportation, utility networks, and aerospace; - Robotics industry and manufacturing; - IoT (Internet of Things) used in smart homes, automation, and wearables. - IEEE, the world’s largest technical professional organization for the advancement of technology, ranks C as third of the top programming languages of 2021 in demand by employers. (Source: IEEE Spectrum) This course has received financial support from the Patrick & Lina Drahi Foundation....

C Programming: Advanced Data Types - 5: 1 - 5 / 5 レビュー

by Bakare M A


I just finished taking this course and I have to say that it was an excellent learning experience. The instructor was knowledgeable and engaging, and the material covered was comprehensive and in-depth. I feel much more confident in my understanding of advanced data types in C as a result of taking this course, and I would highly recommend it to anyone who is looking to deepen their knowledge of C programming

by Joshua A


This course helped me understand the basic concept of Linked lists. The graphic representation made during the videos shows how the pointer of the head of the list is very crucial and must not be lost.

by Peter


Pointers applied. Very well explained.



well done

by Richard C


I have loved the courses in this sequence so far, but this one really frustrated me. In general, this course is a huge jump up in difficulty from the previous courses. This manifests itself in several ways that jointly make the course very hard: (1) a speedup in pacing, (2) videos that provide examples that are much easier than the exercises, (3) exercises that presuppose things that are not explained in the videos, and (4) the autograder gives insufficient feedback in many cases.

The introduction of linked lists happens very quickly, with very little explanation as to why linked lists are important and the advantages of using them. The early lessons are super easy, but they rapidly progress to doing complicated things with linked lists. In order to do this, you have to be extremely comfortable with pointers on a level that I don't think is reasonable given the short time since they were introduced. By the end of week 3, the lessons involve writing functions to help you write more complicated functions to sort and search through linked lists. I think sorting and searching algorithms are important, but they are pretty complex and introduce a lot of moving parts when you are just trying to get comfortable with linked lists. Previous courses in the sequence had exercises that focused on one thing at a time, which helped make the progression smoother and allowed us to build confidence. I think that if you are going to do sorting/searching algorithms, they should get standalone treatment, and not be shoehorned into the linked list unit.

The amount of code on the screen is enormous compared to previous exercises. In the exercises leading up to the course, I never had to write more than a few lines of code to complete them. By the end of this course, the exercises were pushing 150 lines of code for me. That's a huge jump in complexity, and you can really feel the clunky aspects of Codecast when the programs get this large.

There was one exercise that required you to write a function to copy a string from one place to another, with no clear explanation as to why this was needed to complete the exercise. The lesson before it didn't involve strings, so watching it didn't help. This is a needless complication.

And then there's the issue of the autograder. I don't want to be unfair because I know that autograders are annoying in every programming course (other C courses have similar issues), but it is so frustrating to submit code, have the grader reject it, and then get no feedback as to what is wrong. It is entirely possible to write a program that will compile correctly, produce the correct output, and still have the autograder reject it. There are forum posts of people posting screenshots of the outputs matching the "correct" answers and the autograder shows no output. This will waste a lot of time and just drive you absolutely insane.

If a few of these issues could be improved and the pacing of the course were spread more evenly, I think it could be so much better.