OK, so now we're just going to start out with a little introduction to the very basics of computers
and computer science and kind of what we're going to be doing, what it's all about.
So computers have come a long way.
We have something in the very beginning.
It was like a giant machine where people actually had to even program on little cars that had holes
punched in them that they had to insert.
And that was like a program, a kind of read where the holes, where on the paper and that was supposed
to be computer instructions on what the computer was supposed to do.
And then, of course, we moved along, some of you might recognize this.
This is like an old Macintosh and things slowly progressed.
This probably still looks really ancient to all of you.
I mean, this is kind of more like a modern P.C. that's all crazy with melody is like a gaming setup,
and these days we have really high performance machines.
So computer programming languages have come a long way as well, but they still rely on the same fundamental
low level stuff.
So whatever code you end up writing in whatever language, it all needs to be turned into the same thing,
which is a series of ones and zeroes.
So the computer can understand it.
The ones and zeros are referred to as the binary numbers system.
So you see an example right here, right of one zero zero one one zero one zero one.
It's a binary number.
So all the computer code that we write is going to have to be translated into this binary number system
before the computer is going to be able to run the code.
We're also going to refer to these ones and zeros as machine code and or bits and bytes can be grouped
into something called bytes.
We quite often hear us refer to it as bits and binary.
So don't worry too much, though, we don't actually have to do the translation ourselves.
Luckily, we can just type a small command on the computer or just click a single button in the place
that we're writing the code and it will get translated automatically.
This is because a lot of other people have worked really hard to make these systems that will take care
of the translation for us and therefore makes our lives a lot easier.
So let's take a look at what a computer program is and how it goes from someone writing the code to
the computer running the code.
So first off, we start over here with a file.
If you've ever used something like Microsoft Word or Google Docs, or just like a notepad or something
like that, you can write some text in it.
Maybe you had to write a paper for school.
Or maybe you haven't done that at all or haven't encountered that.
But basically, whenever you're writing something, it has to be on some type of thing, write a document
or something like that.
And so that document will be a file on the computer.
It's the same thing for writing code, although we're not just writing in our native language.
We're writing in a programming language.
It's the same thing.
It's just a different type of file.
For example, here I called the file.
My underscore code does keep.
The CPP just tells the computer that it's a C++ file, but you might be more familiar with seeing something
like my files named Dot Doc X or Dot T T for a text file.
The same thing.
It's just a different type of file with a different extension.
And so all the computer code is written in a file just like a word document.
What happens next is that when we click that button or we typed that simple command, the code inside
of this file will then get translated into that machine code, which is zeros and ones like a series
of zeros and ones by a compiler or an interpreter.
In this course, since we're doing C++, it will be done by a compiler, and we will talk about this
in greater detail later.
After is translated into zeros and ones, the computer is now able to run the code or something we refer
to as executing the code that has been translated.
And that's what makes your computer run and makes the things that you programmed a computer to do happen.
So just a side note, this is a very high level overview, this middle circle actually has a lot more
going on inside of it.
Compilers are quite complex and we'll be breaking down what a compiler is and what it does later on
in the course.
We will we will not be looking into what an interpreter does on a detailed level, but you can just
now think of it as another thing that gets us from this first point to this last point.
So first steps in this course, we're basically going to talk about the inner workings of compilers
later on, like I said.
But right now, it's more about learning a bit about the numbers systems that we're going to be using
and how computers store information in general.
So we talked about those zeros and ones and that they can be referred to as machine code binary or bits.
Computers also store data in this binary bit form as well.
So if you're to save something on your computer's hard drive, the computer is going to be dealing with
bits on the lowest level as well.
And this is what we're going to be talking about in the next lecture.
It's going to be all about the numbering systems that we use to represent data on the computer.
OK, so with that, I will see you in the next lecture.