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.
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.
i learnt so many things in this course.......
By Supriya -•
Its a awesome platform to learn coding..!
By Soumyamoy D•
Not at all suitable for begineers...
By Puneeth 4•
course was really beneficial
By Noah P•
not very challenging
By Abhishek M•
for a beginner this seems a bit tough and they usually get startled
By Aren T•
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 Ruben D•
TLDR: Take this course over the Princeton and Stanford courses, it's taught by a professor who has actually coded professionally which makes a huge difference if you're like me, trying to pivot into software engineering. I was looking at the two Princeton Data structures and algorithms on Coursera which also has good reviews, but they only use Java. I'm applying to Tesla and SpaceX, both companies use python and C++ for most of their software automation and especially their time-sensitive systems (simulators, controllers, etc). I decided to take this course instead of the Princeton course as I didn't want to spread my focus too far on languages none of my target companies are using (Java). This course was super inspirational. I honestly can go to sleep being comfortable with memory management and pointers. I would take any course taught by Wade Fagen-Ulmschneider (the professor) in a heart beat. Another good resource is "The Cherno" on youtube (ex. Game engine software engineer at EA). When learning how to write code, you should really be listening to people who were paid professionally.
By Nikhil K G•
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 Tapojyoti M•
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•
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•
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•
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•
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 Jinyun L•
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•
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•
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++!
By KEYU X•
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.
By Emily B•
This course does an excellent job of highlighting the fundamental information for learning C++. I appreciated that it was at the intermediate level, because it didn't spend too much time on the more basic topics that I had already learned. It is definitely a good option for anyone looking to get a head start on learning this language prior to a more strenuous university course.
By Carlos G•
Great intesive course! Everything is explained very clear and getting to the point. I should highlight that there are some exercises test a first glance seem to be a little bit complicated compared to how simple the lessons are. But these excercises are thoroughly explained and adapted to the difficulty of the course, so they end up being a perfect complement for the course.
By Suprajith H•
Excellent course if you already know a little bit of C programming and you want to learn C++. Really good explanation about the memory model. The codebase provided with the course is terrific. One can learn a lot through these simple lessons. The reading section is also very helpful. The quizzes are topical and helps one understand the content of the lessons thoroughly.
By Andre A M•
Covers accelerated C++ concepts. Not for new programmers, but those interested in learning C++ concepts and library API. Note people have had trouble with the difficulty with the final project but it's not too bad if you have programming experience. Recommended even if you are familiar with C++ because there are gold nuggets of new info everywhere (at least for me).
By Ashwin K•
Really great explanations and well written source code. I am still not confidant about my understanding about Tower of Hanoi. I am planning to spend more time into it. Would the instructors suggest a way for me to give a better way to understand the concepts ? Or is it a matter of lack of higher aptitude ? This feedback will help me to improve myself . Thank you.
By Joshua T•
Really good course, and I will now continue to complete the other two courses to complete the specialisation. One comment is that I wasn't too much of a fan of seeing an extra paywall (using an Amazon product) when I've already paid for the Coursera course. I used my own bash and VSC for all the exercises on a Windows machine, so no (unsolvable) problems there.
By Hovannes J•
Had coded in python and java previously; was a great intro course and the final project provided a nice set of methods to test out coding skills learned. The instructor provides an efficient overview of the main concepts. Suggestion for minor improvement: pointers and memory are not immediately straightforward so more focus on them would be nice.