Skip to content

C++ for Programmers is designed for students who are familiar with a programming language and wish to learn C++. This respository focuses on 'how' as opposed to 'what'.

License

Notifications You must be signed in to change notification settings

ptiwari0664/UdacityCplusplusNanoDegree

Repository files navigation

UdacityCplusplusNanoDegree [NEWLINK]

This Repository has been moved to GitLab. Find latest update there.


UdacityCplusplusNanoDegree

C++ for Programmers is designed for students who are familiar with a programming language and wish to learn C++. This respository focuses on 'how' as opposed to 'what'.

There are several types of projects in the course for the practice. These projects includes route planner, process monitor, cutomized smart pointers, traffic simulator etc. It mainly has 5 chapters and those are:

  1. C++ Foundations
  2. Object-Oriented Programming
  3. Memory Management
  4. Concurrency
  5. A Capstone Project

1. C++ Foundations

Learn basic C++ syntax, functions, containers, and compiling and linking with multiple files. Use OpenStreetMap and the 2D visualization library IO2D to build a route planner that displays a path between two points on a map.

Course Project

You’ll learn about OpenStreetMap data and look at IO2D map display code. You will extend the IO2D map display code to use A*, so your program will be able to find a path between two points on the map. When the project is finished, you will be able to select starting and ending areas on a city map, and your program will find a path along the city streets to connect the start and end.

2. Object-Oriented Programming

Explore Object-Oriented Programming (OOP) in C++ with examples and exercises covering the essentials of OOP like abstraction and inheritance all the way through to advanced topics like polymorphism and templates. In the end, you’ll build a Linux system monitor application to demonstrate C++ OOP in action!

Course Project

In this project, you’ll get a chance to put C++ OOP into action! You’ll write a Linux system monitor with similar functionality to the widely used htop application. This will not only provide you more familiarity the Linux operating system, but also give you insights into how a collection of objects can function together in C++ to form an exciting and complete application!

3. Memory Management

Discover the power of memory management in C++ by diving deep into stack vs. heap, pointers, references, new, delete, smart pointers, and much more. By the end, you’ll be ready to work on a chatbot using modern C++ memory management techniques!

4. Concurrency

Concurrent programming runs multiple threads of execution in parallel. Concurrency is an advanced programming technique that, when properly implemented, can dramatically accelerate your C++ programs.

5. A Capstone Project

Put your C++ skills to use on a project of your own! You’ll utilize the core concepts from this Nanodegree program - object-oriented programming, memory management, and concurrency - to build your own application using C++.

About

C++ for Programmers is designed for students who are familiar with a programming language and wish to learn C++. This respository focuses on 'how' as opposed to 'what'.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published