Chevron Left
Back to Object-Oriented Data Structures in C++

Learner Reviews & Feedback for Object-Oriented Data Structures in C++ by University of Illinois at Urbana-Champaign

2,745 ratings

About the Course

This course teaches learners how to write a program in the C++ language, including how to set up a development environment for writing and debugging C++ code and how to implement data structures as C++ classes. It is the first course in the Accelerated CS Fundamentals specialization, and subsequent courses in this specialization will be using C++ as the language for implementing the data structures covered in class....

Top reviews


Jan 12, 2020

Honestly, this is a great crash course in OOP for C++ (though the ideas can be applied to any language). Previous experience with C++ is almost a necessity, the lessons can be complicated for novices.


Jan 31, 2021

Great course, simple and difficult all at the same time. Great introduction to these topics. Every thing that is included is there for a reason as every thing is straight to the point with no filler.

Filter by:

51 - 75 of 673 Reviews for Object-Oriented Data Structures in C++

By Samaneh S

Dec 11, 2019

I think the order of the contents of the course makes you really confused. but the excercises was good and help you to better understand.

By Akshay K C

Jul 16, 2020

Assignments are too easy as compared to course content. Hence,sufficient practice of content taught in the course is difficult


Nov 28, 2019

The course provide a good introduction in object oriented programming and data structure foundation

By Rajkumar T

Jul 25, 2020

Final project was tough.But they said only basic and asked to do project

By Yakshith P

May 6, 2020

i learnt so many things in this course.......

By Supriya -

May 25, 2020

Its a awesome platform to learn coding..!

By Soumyamoy D

Jul 5, 2020

Not at all suitable for begineers...

By Puneeth 4

May 5, 2020

course was really beneficial

By Noah P

Oct 22, 2019

not very challenging

By Abhishek M

Jul 8, 2020

for a beginner this seems a bit tough and they usually get startled

By James K

Jul 15, 2021

I would like to say I am the most awesome and beautiful person in the world, who took a course with the most awesome and beautiful students in the world, at the most awesome and beautiful university in the world, taught by the most awesome and beautiful professor in the world, and give this course 5 out of 5 stars.

However, I have noticed people do not like when I talk about how awesome and beautiful I am and all the awesome and beautiful things I have accomplished.

Therefore, I am the most terrible and ugly person in the world, who took a course with the most terrible and ugly students in the world, at the most terrible and ugly university in the world, taught by the most terrible and ugly professor in the world, and I give this course 1 out of 5 stars.

I hope you guys are happy!

By Aren T

Nov 26, 2019

Superb course.

Starts off with an in depth analysis of the different types of memory storage in C++ (and how they are used by a computer in general). After this detailed start, using very minimal but precise code, It then rapidly starts developing the all the other fundamental data structures in C++, moving at quite a fast pace until one has a nice broad overview. It then culminates in a substantial project, where the requirement is not so much to add a large amount of new code, but instead to assimilate the code base and use very precise logic to implement the functions.

The course develops a rigorous approached to coding based on unit test/test frameworks.

The multiple choice quiz questions are challenging and very well thought out, such that you will really have to think carefully about them, and in so doing will consolidate your knowledge.

Overall, I've really enjoyed this first course in the Specialization and look forward to progressing onward through the rest of it.

If you have no prior coding experience, or are new to Computer Science, you will probably find this course tough going, so I'd advise you perhaps do a couple of easier introductory courses first.

The fact that this course is based on C++ is a major PLUS in my view, as far too many courses are now dominated by Python, yet C++ is an industry standard language used for serious software engineering projects and major systems due to its extreme power and performance. (This does come at a price in terms of complexity, however!).

By Nikhil K G

Dec 8, 2019

This is a really amazing course. I have been a hardware engineer for nearly 18 years. The last time I coded in C++ was in college. As I had a background in Python and Perl, it was a really good refresher. The professor is really the best. I was very skeptic when I started the course. I could complete the course in about 10 days. Never expected this. The fact that this course does not need addition books is really true. I did get a few books from the library just to refer but really one can complete this without any additional material. The assignments are also really good. They make you go back to the notes and slides. If I meet professor Wade Fagen-Ulmschneider, I will really thank him for this. The discussion forums are also a good source of information. It helps reading what others have asked and learn from their mistakes.

By Babar B

Nov 19, 2022

I've dropped-out of over a dozen courses. But finished this one! Program layout is excellent. The biggest challenge is setting-up your programming environment. They recommend Cloud-9 IDE, but really, professional programmers probably all use a proper IDE. I went with Visual Studio Code and WSL on Windows. Took multiple installs, and about a week to set things up. After that it was smooth sailing.

Found this link < > much more helpful than the one provided by the instructor. It's a higher-level document, that provides more help in setting up WSL/Ubuntu/C++ compiler/VS Code. As a bonus, you also learn the best sequence in which to install everything.

By Yuhan L

Jul 3, 2021

I very much enjoy taking this course. Being already familiar with the basic C++ syntax and having some hands-on experience of scientific computation, this course helps me have a deeper understanding about memory, class constructor, template. I find it easier to read and understand the source code after I figure out all these concepts.

One drawback, though, is that the course does not give an overview at the beginning, like why the course material is organized in this way, and what is the connection between the different materials. Sometimes, it feels like we jump from one topic to another without knowing the correlation between them. It would be really nice if the instructor can add an overview part.


Dec 12, 2019

I already had a basic understanding of C++ with if-else, functions. But I was struggling with OOP part of C++ with use of Classes, constructors, destructors etc. I am a Computer Engineering student with background in hardware hence I have had little experience in the OOP aspect of C++. I really liked the fact the course focuses directly on the OOP rather than starting from absolute basics which saved a lot of time for me as compared to other projects. Thanks to this course I am able to understand the syntax of much complex C++ code for my research. Thanks Prof. Wade :)

By Jacob R K

Feb 27, 2021

Great course! Used it to refresh my C++ knowledge (last learned it 6+ years ago). I really like how it focused on some of the more confusing topics of C++ (pointers, heap/stack memory, classes). I got to learn some new things that I missed during my initial C++ education. The professor's lecture videos are very easy to follow (he draws out the function of the code) and he even provides lecture PDFs for download. I also appreciated the Linux based environment, it seems like it's really important for aspiring programmers to get used to this.

By Jason T

Aug 20, 2020

Associate Professor Fagen-Ulmschneider's lectures are clear, concise and interesting. Neither too dense or light, too brief or too long.

The assessment infrastructure for the quizzes and submission of challenges worked flawlessly. The instructions that came with challenges made it clear what was required and how to submit the finished work.

My only suggestion would be to add optional, 'stretch' challenges for those who want to be further challenged to apply the course material without making it too hard for the other learners.

By Ramanan S

Sep 30, 2019

It was a great learning and an eye opener to various ways of thinking while coding in a language. Unlike almost all other programming courses where only the syntax is the main focus, this course introduces a lot of compiler / memory related concepts which really take you into the crux of C++ and how to think in the language. Same method, if followed for other languages like Java/Python, would provide great insights into computer science languages and how computers actually operate! Great work! Thanks a lot for this course.

By Sotos M G

Feb 9, 2020

Extremely useful and satisfying course. Great in depth explanations of the concepts and in the same time demanding quizes and assignments. You can easily let yourself spend hours on single questions and you will end up with a deep understanding of each one of them. A great introduction to object oriented programming for someone with little background on the field (although necessary).

Just do yourself the favor and install the linux compatible environment instead of trying with the windows MinGW versions.

By Simon J H

Jun 29, 2022

Utmost respect for the professor, who is clearly both a technical expert, and a gifted teacher. I particularly liked the way he would use the repeated structure of: (1) Introduce a concept (2) Use the new concept in some code, and make predictions about what will happen when the code is run (3) Run the code to confirm expectations. He has made it fun and engaging to come to grips with topics that were previously very opaque and seemed too complex or obscure for me to understand.

By Jinyun L

Jul 29, 2020

Excellent course!

The lecture is well-organized and clearly expressed. The homework is well-organized.

There is only one thing that may not satisfy one's expectation, that is the homework project requires more reading than coding, comparing with projects in my university that we need to do as much coding as reading. However, you could take this as an advantage, since it saves you time on coding parts unrelated to the algorithm's key point.

By Lomash D

Jun 5, 2020

It wasn't tough but really helped me in building a strong understanding of how the memory works and could be controlled by using pointers and other operators along with how is it managed by the system inside. Also, surely the knowledge I'd gained through this course will help me learn Data structures & Algorithms more easily ! All in all it was a great experience and the last project was kinda fun !

By Omar H

Apr 5, 2020

It was a very nice course to refresh and touch important topics related to Object Oriented Programming in Modern C++. I especially liked the instructor's way of teaching that included both theory and practical in a concise, intuitive manner. Course content was both fun and easy to absorb compared to most C++ courses found online. I highly recommend this course to anyone interested in C++!


Mar 27, 2020

This is a great course for those who have programming experience and want to learn something about C++, especially suitable for the engineering students not majoring in Computer Science but be willing to study the basic idea about C++. I hope that instructor could extend the course, add more programming problems, and cover the topic of polymorphism, which is very important in my opinion.