1
00:00:00,880 --> 00:00:09,490
OK, so now we're just going to start out with a little introduction to the very basics of computers

2
00:00:09,490 --> 00:00:15,430
and computer science and kind of what we're going to be doing, what it's all about.

3
00:00:17,410 --> 00:00:19,750
So computers have come a long way.

4
00:00:21,060 --> 00:00:23,260
We have something in the very beginning.

5
00:00:23,280 --> 00:00:34,410
It was like a giant machine where people actually had to even program on little cars that had holes

6
00:00:34,410 --> 00:00:36,240
punched in them that they had to insert.

7
00:00:36,240 --> 00:00:44,670
And that was like a program, a kind of read where the holes, where on the paper and that was supposed

8
00:00:44,670 --> 00:00:48,030
to be computer instructions on what the computer was supposed to do.

9
00:00:50,100 --> 00:00:53,370
And then, of course, we moved along, some of you might recognize this.

10
00:00:53,700 --> 00:00:59,190
This is like an old Macintosh and things slowly progressed.

11
00:00:59,400 --> 00:01:02,460
This probably still looks really ancient to all of you.

12
00:01:03,600 --> 00:01:09,960
I mean, this is kind of more like a modern P.C. that's all crazy with melody is like a gaming setup,

13
00:01:09,960 --> 00:01:13,650
and these days we have really high performance machines.

14
00:01:15,340 --> 00:01:22,570
So computer programming languages have come a long way as well, but they still rely on the same fundamental

15
00:01:22,840 --> 00:01:24,070
low level stuff.

16
00:01:24,730 --> 00:01:30,880
So whatever code you end up writing in whatever language, it all needs to be turned into the same thing,

17
00:01:30,880 --> 00:01:33,160
which is a series of ones and zeroes.

18
00:01:33,670 --> 00:01:35,350
So the computer can understand it.

19
00:01:36,570 --> 00:01:41,370
The ones and zeros are referred to as the binary numbers system.

20
00:01:42,000 --> 00:01:47,610
So you see an example right here, right of one zero zero one one zero one zero one.

21
00:01:48,060 --> 00:01:49,410
It's a binary number.

22
00:01:51,000 --> 00:01:56,850
So all the computer code that we write is going to have to be translated into this binary number system

23
00:01:56,850 --> 00:01:59,280
before the computer is going to be able to run the code.

24
00:02:00,480 --> 00:02:08,010
We're also going to refer to these ones and zeros as machine code and or bits and bytes can be grouped

25
00:02:08,010 --> 00:02:09,870
into something called bytes.

26
00:02:10,320 --> 00:02:15,420
We quite often hear us refer to it as bits and binary.

27
00:02:17,260 --> 00:02:21,520
So don't worry too much, though, we don't actually have to do the translation ourselves.

28
00:02:22,270 --> 00:02:29,950
Luckily, we can just type a small command on the computer or just click a single button in the place

29
00:02:29,950 --> 00:02:33,520
that we're writing the code and it will get translated automatically.

30
00:02:34,360 --> 00:02:40,030
This is because a lot of other people have worked really hard to make these systems that will take care

31
00:02:40,030 --> 00:02:43,930
of the translation for us and therefore makes our lives a lot easier.

32
00:02:45,410 --> 00:02:52,730
So let's take a look at what a computer program is and how it goes from someone writing the code to

33
00:02:52,730 --> 00:02:54,110
the computer running the code.

34
00:02:56,170 --> 00:02:59,680
So first off, we start over here with a file.

35
00:03:00,430 --> 00:03:09,430
If you've ever used something like Microsoft Word or Google Docs, or just like a notepad or something

36
00:03:09,430 --> 00:03:12,450
like that, you can write some text in it.

37
00:03:12,460 --> 00:03:14,920
Maybe you had to write a paper for school.

38
00:03:16,120 --> 00:03:20,230
Or maybe you haven't done that at all or haven't encountered that.

39
00:03:20,920 --> 00:03:27,340
But basically, whenever you're writing something, it has to be on some type of thing, write a document

40
00:03:27,340 --> 00:03:28,420
or something like that.

41
00:03:29,290 --> 00:03:33,220
And so that document will be a file on the computer.

42
00:03:34,060 --> 00:03:40,030
It's the same thing for writing code, although we're not just writing in our native language.

43
00:03:40,300 --> 00:03:42,130
We're writing in a programming language.

44
00:03:42,520 --> 00:03:43,830
It's the same thing.

45
00:03:43,840 --> 00:03:45,700
It's just a different type of file.

46
00:03:46,360 --> 00:03:48,880
For example, here I called the file.

47
00:03:48,880 --> 00:03:52,510
My underscore code does keep.

48
00:03:53,080 --> 00:04:02,050
The CPP just tells the computer that it's a C++ file, but you might be more familiar with seeing something

49
00:04:02,050 --> 00:04:09,460
like my files named Dot Doc X or Dot T T for a text file.

50
00:04:09,850 --> 00:04:10,750
The same thing.

51
00:04:10,750 --> 00:04:13,990
It's just a different type of file with a different extension.

52
00:04:14,410 --> 00:04:18,730
And so all the computer code is written in a file just like a word document.

53
00:04:21,020 --> 00:04:29,030
What happens next is that when we click that button or we typed that simple command, the code inside

54
00:04:29,030 --> 00:04:36,140
of this file will then get translated into that machine code, which is zeros and ones like a series

55
00:04:36,140 --> 00:04:40,520
of zeros and ones by a compiler or an interpreter.

56
00:04:41,680 --> 00:04:49,510
In this course, since we're doing C++, it will be done by a compiler, and we will talk about this

57
00:04:49,510 --> 00:04:50,830
in greater detail later.

58
00:04:53,490 --> 00:05:00,990
After is translated into zeros and ones, the computer is now able to run the code or something we refer

59
00:05:00,990 --> 00:05:04,740
to as executing the code that has been translated.

60
00:05:05,490 --> 00:05:11,670
And that's what makes your computer run and makes the things that you programmed a computer to do happen.

61
00:05:13,580 --> 00:05:20,030
So just a side note, this is a very high level overview, this middle circle actually has a lot more

62
00:05:20,030 --> 00:05:21,510
going on inside of it.

63
00:05:21,920 --> 00:05:28,010
Compilers are quite complex and we'll be breaking down what a compiler is and what it does later on

64
00:05:28,010 --> 00:05:28,670
in the course.

65
00:05:29,390 --> 00:05:36,050
We will we will not be looking into what an interpreter does on a detailed level, but you can just

66
00:05:36,050 --> 00:05:41,660
now think of it as another thing that gets us from this first point to this last point.

67
00:05:44,850 --> 00:05:51,060
So first steps in this course, we're basically going to talk about the inner workings of compilers

68
00:05:51,060 --> 00:05:52,500
later on, like I said.

69
00:05:53,190 --> 00:05:59,700
But right now, it's more about learning a bit about the numbers systems that we're going to be using

70
00:06:00,060 --> 00:06:02,670
and how computers store information in general.

71
00:06:03,420 --> 00:06:10,800
So we talked about those zeros and ones and that they can be referred to as machine code binary or bits.

72
00:06:11,610 --> 00:06:16,410
Computers also store data in this binary bit form as well.

73
00:06:16,470 --> 00:06:22,290
So if you're to save something on your computer's hard drive, the computer is going to be dealing with

74
00:06:22,290 --> 00:06:24,060
bits on the lowest level as well.

75
00:06:24,570 --> 00:06:27,210
And this is what we're going to be talking about in the next lecture.

76
00:06:27,330 --> 00:06:32,940
It's going to be all about the numbering systems that we use to represent data on the computer.

77
00:06:33,780 --> 00:06:37,200
OK, so with that, I will see you in the next lecture.
