Overview
C++ for Programmers is designed for students who are familiar with a programming language and wish to learn C++.
Syllabus
- Introduction to C++
- This course guides learners through the essentials of C++ programming. Starting with an overview and setup, students explore data structures using the Standard Template Library (STL), delving into functions and modular programming as well as Object-Oriented Programming (OOP). The course introduces fundamental algorithms through a hands-on search implementation, culminating in a practical project: building a Route Planner using OpenStreetMap. By the end, participants will be equipped with the skills to design and develop efficient C++ applications.
- Object-Oriented Programming in C++
- In this course, participants will explore fundamental OOP concepts and their applications. Starting with class design and encapsulation, the course progresses to inheritance and composition, helping students construct effective class hierarchies. Delving into advanced topics, the lessons cover polymorphism and templates, crucial for building flexible and reusable code. Additionally, learners will gain vital skills in error handling and debugging techniques through targeted exercises. The course culminates in a practical project where students will develop a comprehensive system monitoring tool, solidifying their knowledge and coding competency.
- Memory Management
- This course provides a comprehensive exploration of how memory interacts with programming languages. Beginning with the fundamentals of system memory hierarchy, students learn essential concepts like pointers and pointer arithmetic. The course delves into dynamic memory allocation, highlighting ownership principles to manage memory effectively. Fundamental object-oriented topics such as copy constructors and move semantics are covered, addressing the crucial Rule of Three/Five for robust memory management. Additionally, advanced techniques involving smart pointers are introduced to enhance memory safety. The course culminates in a hands-on project to apply learned skills in real-world scenarios.
- Concurrency
- This course provides a comprehensive introduction to concurrent programming concepts. It begins with an exploration of threads and parallel execution, focusing on how tasks can run simultaneously to enhance performance. The course then delves into critical aspects of shared data management and task synchronization, ensuring that multiple threads can operate without conflict. Students will learn about essential tools such as mutexes, locks, and condition variables, which are crucial for managing access to shared resources safely. Finally, participants will apply their knowledge in a project that integrates all learned concepts, fostering practical experience in designing and implementing concurrent systems.
Taught by
Ishan Gosain, Kedar Kodgire, Aspen Olmsted and Andrew Sanford
Reviews
1.8 rating, based on 11 Class Central reviews
4.4 rating at Udacity based on 10 ratings
Showing Class Central Sort
-
Some instructors just read from the scripts, important points are not noted or explained. The instruction is boring. Reading any textbook is better than this.
-
I almost didn't take the course because of the previous reviews, which would have been a shame. I can see some of the gaps (e.g. varying depth of coverage on some topics), but the course provided a lot of opportunities to practice and I definitely feel more comfortable with C++ after completing it. I also really enjoyed the Bjarne Stroustrup interview!
-
The course is very good for a beginner! I have worked a lot with ROS/ROS2 and python and now I needed to learn more C++ to deal with autonomous driving. All I can say is that the classes are good intro theoretically and try to do the exercises by yourself, then you will learn a lot. I have always looked for the complementary links and read them. This will totally help you dig more on details! If you have available time, as I had, you can finish in 3 weeks with cal m and doing a good job, without stress. Congratulations Udacity for this course!
The only drawback is don't get any certificate at the end... -
NOTE: I wouldn't recommend this to beginners. Know some C and basic C/C++ syntax. It'll help if you know any language that was directly derived from C++ such as JAVA
Overall the course is poorly written.. But the quizzes do really help solidify the concept they are trying to teach. The interviews are really interesting! -
I was a reviewer of the course. I honestly think this course is not up to the mark. I have given detailed feedback. But, I took a look at the course recently, and none of the feedback was incorporated. I would say skip this nano degree and better watch youtube videos.
-
I quit this course at lesson 5 because of the sloppy way it is put together. They regularly quiz you on material not covered yet. This ends up wasting your time when things aren't working they way are presented in the lesson.
-
Poorly structured with no explanation and just some texts for most of the parts. couple of projects are good but overall quality is very bad.
-
Poorly organized course. Some notes and code samples on jupyter. Even if you know C++ don't take this. I will never trust Udacity again.
-
This review is to tell you that this course isn't great. Of course, it covers many details, but it is messy and un-organized. It was very boring, and not up front and cheerful like I thought it would be. Generally, a bad course, take it from a web developer.
-
I'm currently enrolled and have professional experience in C. However I had never gone into object oriented. So with that in mind I found many of the lessons very helpful at first and educational. Beginning with the pointers section I began to find…
-
Don't take the free course at Udacity, or should I say, don't waste your time learning their course on C++ (the free one). It's crazy how the creator of c++ "Bjarne Stroustrup" actually did their interview. Get the book from Bjarne Stroustrup if you really want to learn C++.
I did a quick view on what I'll learn from their free course and checked about the topic "pointers" which is extremely curial. All I can say is, I quickly closed the Udacity browser link and headed back to Udemy. Take C++ courses from Udemy because you can read Legitimate reviews and all the courses I took that got more than 4 stars were all excellent.