2 – Nd113 C L2 01 V1

Okay, now you’ll learn some of the lower level features of C++, and thanks for enduring this with us. Now comes the real challenge. How fast can you make your history on filter? I want to challenge you to use all those features to write the fastest possible C++ implementation, and once you found it, … Read more

1 – Nd113 Story 1 V1

So now that you suffer through all these wonderful things like, pointers, and memory allocations. So, let me tell you the story of the worst self-driving car bucket I ever caused and had to fix. Took me many months to find it. Okay. So we are, now back in 2005 driving Stanley, the self-driving car, … Read more

7 – C Opt 05 L V3

At this point, you have seen how inefficient code can cause your program to slow down by performing unnecessary CPU operations and memory accesses. Next, we will discuss the practicalities of optimizing your code. Code optimization is a big topic that involves analyzing algorithms, understanding how a computer executes instructions, and learning the nuances of … Read more

6 – 04 L C And RAM V1 RENDER V1

Let’s go into some detail about how C++ uses RAM. You can think of RAM as a set of slots where you can store information. When your program executes data, it is usually stored in RAM. This data can be overridden and in fact when you turn your computer off, data in RAM is erased … Read more

5 – 03 L Binary V1 RENDER V1

From a high level perspective, you’ve been able to see that limiting CPU instructions can make your code run faster. As humans, we think about interacting with a computer in terms of a programming language like C++. However, computers only understand instructions in binary. So everything you write will be seen by the computer as … Read more

4 – Nd113 Embedded Terminal V1

Hi. My name is Andrew Pastor, and I am a Content Developer for the Intro to Self-Driving Car Nanodegree. In this lesson, C++ Intro to Optimization, and the following lesson, C++ Optimization Practice, you’ll be using a feature of the classroom that you haven’t seen yet. When you go to the next part of the … Read more

3 – 02 L Intro To Comp HW V1 RENDER V1

Optimization is all about eliminating instructions that are not needed, while still getting the result you expect from your program. The fewer times that a program has to access memory and perform calculations, the more efficient your program will be. Optimization isn’t just about shoving your code through some black box until its performance increases, … Read more

2 – C Opt 01 L V2

Hi, I’m Anthony, the product lead here at Udacity for robotics. You’ve already learned a lot of syntax in C++, including how to write functions and classes. Now you should feel confident that anything you could write in Python, you could also write in C++. But let’s take a step back and talk about why … Read more

1 – Course Introduction

So, it’s me again, Sebastian. Hey, congratulations. You just completed something quite amazing, you translated something from Python to C++ and it sounds tedious. But I hope you learned from some of the basics how programming languages work. And how different programming languages work, because they are different. Both are the main industry standard and … Read more

2 – Why Use Object Oriented Programming

Yes, I would love to talk more about object oriented programming. Often I want to solve things with functions, I think I’m inclined to think that way. But I know there is value in thinking object orintendly. Why when designing a self-driving car, for example, why do we want to use object oriented programming? Object … Read more

1 – Introduction

C++ is a lifelong learning opportunity. Here’s a secret on me: in most of my life I wrote my code in C++ and to the present day there’s C++ code I would not be able to understand. And the reason is there’s a lot of things in C++ that are really complicated. So in the … Read more

1 – Introduction To Compilation

So far, you’ve been writing code within the Udacity classroom, in an environment that looks like this, but you’re also going to want to be able to run your programs locally on your own computer. And this brings up another important difference between Python and C++. You learned about the first major difference at the … Read more

9 – Function Signatures 1

What is a function declaration, and why is it important? A function declaration has multiple pieces and this is a little easier to look at in code. Maybe let’s look at your tests normalize function. When you look at just the way the function is defined, there’s the bool and then the tests normalize and … Read more

8 – Two Functions Same Name

Something else I noticed interesting about methods or functions in C++. I actually found this one out by accident when I wrote two functions that had the same name. Let me see if I can find it. So I wrote two functions that were both called close enough, and one was meant to compare two … Read more

7 – Two Functions Same Name

>> You said the header files they have function declarations. They can have a lot more. If you wanted to define a type that was the grid type, instead of using this vector vector float. Because you get kind of tired of saying that. >> I was writing that a lot, yeah. >> You can … Read more

6 – Doubles Are Bigger

So I think I have some understanding of this, but if for example, doubles are more precise than floats, why not just always use doubles? Because they’re bigger. It doesn’t really matter if you’re doing a small program, but if you needed to do a program where you had a million variables, doubles are twice … Read more

5 – Static Vs Dynamic Typing

So in researching some C++ stuff, I kept seeing the term static typing and language is being referred to as statically typed, and C++ was one of those. Can you explain what does it mean for a language to be statically typed? When you go to C++, you’re going to have to tell the compiler … Read more

3 – Nd113 C3 L1 04 L Lesson Overview 2 V1

Now that you’re all set up, it’s time to start writing some code. But before we jump in, we should say a couple things about how these lessons are formatted. Right. And the goal of this course is simple in some ways: translate Python code to C++. Now there’s a good amount you’ll need to … Read more

2 – Lesson Overview C++

C++ is the language of self-driving cars. It’s also a programming language that’s a lot closer to what devices like the NVIDIA PX2 understand than a higher level language like Python. So if you want to get a job in this field, it’s something you’re going to have to learn. And while C++ is in … Read more