0:00:00.000,0:00:05.928 Hi there, my name is Nick Parlante, and[br]this is the class that explores the basic 0:00:05.928,0:00:11.264 qualities of computers. How they work,[br]what they can and cannot do. And it 0:00:11.264,0:00:17.096 requires no computer background at all.[br]It's just geared for anyone. So before I 0:00:17.096,0:00:21.950 get started, I'd like to, take a moment[br]to, thank Google for supporting my early 0:00:21.950,0:00:26.284 research, into this topic, which[br]ultimately helped make this class. Also a 0:00:26.284,0:00:31.023 quick format note, This class is not just[br]made of videos. For each video section, 0:00:31.023,0:00:35.530 there's sorta this written document which[br]I'm, I'm scrolling through here, that, 0:00:35.703,0:00:40.037 parallels the explanations and has[br]diagrams, and code examples, and stuff in 0:00:40.037,0:00:44.718 it. So, really at any time, you can switch[br]between the video and the document if 0:00:44.718,0:00:49.904 you'd like to reread an explanation or try[br]one of the examples or something. There's 0:00:49.904,0:00:55.757 a big difference between watching me do[br]something and then trying it yourself. So 0:00:55.757,0:00:59.650 my advice would be. A lot of times, at the[br]end of a section, we'll have some 0:00:59.650,0:01:02.952 exercises. And so, at that time, before[br]you try the exercises, you could decide, 0:01:02.952,0:01:06.558 well, are you ready to just jump into the[br]exercises, or would you like to go back to 0:01:06.558,0:01:10.077 the document and try some[br]of the experiments yourself to sort of 0:01:10.077,0:01:13.684 cement the knowledge? So, you should at[br]least know that that's available, for each 0:01:13.684,0:01:20.658 one of these sections. So I will say that[br]the, the fundamental equation of computers 0:01:20.658,0:01:27.158 is computer equals powerful plus stupid.[br]Powerful in the sense that computers can 0:01:27.158,0:01:32.195 do just billions of operations. They work[br]just inconceivable fast. But, the 0:01:32.195,0:01:37.714 operations are stupid in the sense that[br]the operations that the computer can do 0:01:37.714,0:01:43.096 are just very simple, they're totally[br]mechanical. They don't have anything that 0:01:43.096,0:01:48.445 you would describe as human insight about[br]what they're working on. So this weird 0:01:48.445,0:01:52.420 combination of, sort of, great power[br]combined with sort of a mechanical 0:01:52.420,0:01:57.191 stupidity. That pattern will come through[br]very clearly, as we work on these little, 0:01:57.361,0:02:01.955 code examples, to sort of play around in[br]the, in the computer world. Now, I'm being 0:02:01.955,0:02:06.606 a little provocative, sort of making fun[br]of the computer. Oh, they're so stupid, 0:02:06.787,0:02:11.499 and, but on the other hand, we see that[br]computers are, they're very useful. So, in 0:02:11.499,0:02:16.210 a way, that's what this class is[br]about. On the one hand visiting this kind 0:02:16.210,0:02:21.224 of funny computer world that's sort of[br]mechanical, and then connecting it to the 0:02:21.224,0:02:26.056 way, you know things like email, and MP3[br]audio. Things that in the real world that 0:02:26.056,0:02:30.716 are very useful. Trying to sort of connect[br]those two worlds, and show you how the 0:02:30.716,0:02:35.418 computer works, and how it fits into the[br]world. My goal is that, coming out of the 0:02:35.418,0:02:39.951 class, you understand how computers work[br]and how they fit into the world. And 0:02:39.951,0:02:44.370 in a way, you're not intimidated by the[br]computer. You don't think of it as some 0:02:44.370,0:02:49.844 magic, inconceivable box. Also I have a[br]hidden agenda. There are too few computer 0:02:49.844,0:02:54.899 science people in the world. There are[br]many problems that we would like to be 0:02:54.899,0:02:59.889 solved, but there just aren't enough[br]people out there to program them all. So 0:02:59.889,0:03:05.076 my hidden agenda is that by opening your[br]eyes to the computer world and how it 0:03:05.076,0:03:10.132 works for some of you, you may find that[br]you're interested in pursuing computer 0:03:10.132,0:03:14.859 science in the future. So, first[br]approximation I'm gonna look at; How does 0:03:14.859,0:03:19.476 a computer work? So inside the computer is[br]really driven by code. And we're, we'll 0:03:19.476,0:03:24.001 get into a lot more detail on this later.[br]This will just be our first look. So here 0:03:24.001,0:03:28.505 I've made a little picture of a[br]computer. And code inside the computer is 0:03:28.505,0:03:33.822 made of these simple instructions. So one[br]instruction might be to add two numbers, 0:03:33.822,0:03:39.266 you know, compute what one plus one is or[br]check if two is less than ten. So what the 0:03:39.266,0:03:44.077 computer does, for this first look, is it[br]just runs down this list of 0:03:44.077,0:03:49.014 instructions. Each instruction is very[br]simple and the computer is just running 0:03:49.014,0:03:53.635 down the list doing them, albeit it's[br]doing them very quickly. But each 0:03:53.635,0:03:58.978 instruction has this very mechanical kind[br]of fixed feeling. So, I'm gonna say this, 0:03:58.978,0:04:04.190 I think this leads to a natural question.[br]Which is, well; If the, if the computer is 0:04:04.190,0:04:09.338 so mechanical just running through the[br]instructions, how is it that there are so 0:04:09.338,0:04:14.229 many useful features in the world? So,[br]I've got this diagram for that case. So, 0:04:14.229,0:04:18.991 on the right hand side I'm going to[br]imagine some useful features. Like, 0:04:18.991,0:04:23.946 red-eye reduction, or instant messaging. And,[br]I'm gonna say for this discussion, you 0:04:23.946,0:04:28.937 know, your phone, your digital camera,[br]those are all computers. So on the right 0:04:28.937,0:04:33.448 hand side, I've got the useful feature,[br]red-eye reduction. And on the left hand 0:04:33.448,0:04:37.842 side, I've got the computer, which is just[br]going through its, you know, simple 0:04:37.842,0:04:42.471 mechanical instructions. So what[br]connects these two views? And the answer 0:04:42.471,0:04:46.541 is that really, that's what computer[br]programming is. There's a person, a 0:04:46.541,0:04:51.009 computer programmer, who at first they[br]have an idea. Oh, we should have red-eye 0:04:51.009,0:04:55.709 reduction, that would be really useful.[br]And so they use their creativity and their 0:04:55.709,0:05:00.119 imagination to think of what would be[br]something useful to have the computer 0:05:00.119,0:05:04.587 could do. And then what the computer[br]programmer does, is really they structure 0:05:04.587,0:05:09.229 and break down that problem, so that the[br]computer can do it. They really instruct, 0:05:09.229,0:05:13.755 and you know, structure things so[br]the computer can actually, do this 0:05:13.755,0:05:19.294 useful thing. That is what computer[br]programming is. And in fact, any useful 0:05:19.294,0:05:24.263 thing that you've done with your digital[br]camera, or your cell phone, or your 0:05:24.263,0:05:29.702 computer, really behind the scenes, there[br]was a person that was making that happen. 0:05:29.702,0:05:34.872 And I kinda like this combination. In a[br]way, the programmer, the person, 0:05:34.872,0:05:40.579 brings their creativity and insight about[br]the world and thinking of stuff that would 0:05:40.579,0:05:45.569 be useful to have done, and that's[br]their half of the problem. And the computer 0:05:45.569,0:05:50.218 brings what the computer's good at. And I[br]would say the computer is good at being 0:05:50.218,0:05:54.789 ultimately pretty inexpensive. And the[br]computer is able to do these instructions 0:05:54.789,0:05:58.734 very, very quickly and so, we get, you[br]know, ultimately we get this nice 0:05:58.734,0:06:03.008 combination. And in a way that's why there are so many computers in 0:06:03.008,0:06:07.666 the world doing so many useful things. It[br]shows this is this is a good partnership 0:06:10.022,0:06:12.214 between people and computers. In a way[br]this diagram also is a little bit of a 0:06:12.214,0:06:16.762 summary of this class. We're going to[br]visit on the left hand side to see sort of 0:06:16.762,0:06:21.270 see what the computer world looks like.[br]And look at the connection between that 0:06:21.270,0:06:25.846 and actual features that you've used and sort[br]of understand how the computer fits into 0:06:25.846,0:06:32.507 the world and gets stuff done. So, in the[br]second half of this section, I'm gonna 0:06:32.507,0:06:37.414 start doing little, little coding[br]examples. And I should mention, this is 0:06:37.414,0:06:42.449 gonna require a little bit of patience.[br]I'm gonna start doing coding. And our 0:06:42.449,0:06:47.483 first code examples are going be very[br]simple. They are not going to do anything 0:06:47.483,0:06:51.707 flashy. I'll say it's a little bit like[br]LEGO bricks. Each bit of code that we 0:06:51.707,0:06:56.123 learn is one more brick, and eventually we[br]are going to be able to put these things 0:06:56.123,0:07:00.272 together and make stuff that's pretty[br]neat. But these first couple of sections, 0:07:00.432,0:07:04.848 the things, we got to start somewhere, and[br]these first examples are very simple. So I 0:07:04.848,0:07:09.157 ask you to be patient, I promise we will[br]get somewhere neat with this material. Oh, 0:07:09.157,0:07:13.307 and actually here, I put in a little bit[br]of foreshadowing, so actually within a 0:07:13.307,0:07:18.293 couple of hours of lecturing. We'll start[br]doing, visual special effects. And so 0:07:18.293,0:07:23.427 we'll play around with the famous, shown[br]here Monkey Moon Banana problem. So that's 0:07:23.427,0:07:28.441 just a little foreshadowing of where we're[br]gonna get. But for today we're just doing 0:07:28.441,0:07:32.775 simple bits of coding. So for these code[br]exercises, we're gonna be using a computer 0:07:32.775,0:07:36.734 language called JavaScript. JavaScript is[br]a really popular language. It works in 0:07:36.734,0:07:40.884 web browsers, so that's why it's[br]extremely popular. And that's why it's an 0:07:40.884,0:07:44.605 actual fit for this class. Because it,[br]because we're working in the web browser, 0:07:44.605,0:07:48.541 that means our code can work pretty[br]easily. We're gonna use JavaScript plus 0:07:48.541,0:07:52.815 some extensions that I've added just for[br]this class. So this is not gonna look 0:07:52.815,0:07:57.229 exactly like a professional JavaScript.[br]We're gonna work on phrases of code that 0:07:57.229,0:08:01.638 are ultimately quite short. Just enough to[br]sort of get across the points 0:08:01.638,0:08:05.944 that I want to make and sort of explore computers. But without bringing in a lot of 0:08:05.944,0:08:10.146 the baggage that would be required for[br]writing full, professional programs. All 0:08:10.146,0:08:14.503 right, so here's my first code example. So[br]the way code is going to work for us is 0:08:14.503,0:08:18.550 we've got this, little rectangular area.[br]And this text inside of here, 0:08:18.550,0:08:22.959 that's code. And then we'll always have a[br]run button down here. So when I click the 0:08:22.959,0:08:27.596 run button. What's gonna happen is, the[br]computer goes to the top here and it just 0:08:27.596,0:08:31.832 runs through these lines. And so it's[br]gonna, as we say, it's gonna execute 0:08:31.832,0:08:36.802 each line. It's gonna do what it says. So[br]in this case what we're looking at is the 0:08:36.802,0:08:41.151 print function. So there's just the word[br]print. And the way the print function 0:08:41.151,0:08:45.568 works is that it has the word print, and[br]then there's a left parenthesis. And then 0:08:45.568,0:08:49.647 there's a series of things. So here, I[br]just have the number 6. And then eventually, 0:08:49.647,0:08:53.988 the line ends with a right parenthesis and[br]a semicolon. And what the print function 0:08:53.988,0:08:58.601 does is it takes the stuff in between the[br]parentheses, and it prints it out. And so 0:08:58.601,0:09:04.130 actually if you look over here on the[br]right hand side, this is the output of the 0:09:04.337,0:09:09.857 when I hit the run button there. So if I[br]were to change this to say, print(42). And 0:09:09.857,0:09:15.337 run it. Then we see here's the 42. So[br]that's from this first print line and when 0:09:15.337,0:09:21.151 I say print(1,2), that's why we[br]see the, the one and the two over here. So 0:09:21.151,0:09:26.430 the way this works. I did say that our[br]first examples are very, they're not very 0:09:26.430,0:09:32.044 flashy. So certainly that's[br]true here. So I can try you know, adding a 0:09:32.044,0:09:37.457 few more things here. So I could say comma[br]47. So when I run it, okay, now we see we 0:09:37.457,0:09:43.271 get the one and the two in the 47. Also,[br]just to show that these lines are just 0:09:43.271,0:09:49.242 taken one time, I'll copy that one,[br]and then I can paste it in a few times, I 0:09:49.242,0:09:54.467 have multiple lines. So if I run it, now[br]we can say, alright, 0:09:54.467,0:09:59.692 just, you know, we just get a, a[br]repetition of whatever that output was. So 0:09:59.692,0:10:06.593 one thing to, to point out about this, is[br]that the syntax of this code. Is not at 0:10:06.593,0:10:11.297 all free form, It's the opposite, It's[br]very structured. It has to be just so for 0:10:11.297,0:10:16.303 the computer to understand it. And that's[br]actually a reflection of the inner nature 0:10:16.303,0:10:20.465 of the computer. That it has this[br]mechanical fixed quality and so the 0:10:20.465,0:10:25.230 language that it can understand is[br]also gonna be mechanical and fixed. So 0:10:25.230,0:10:30.296 this is a little strange, right at first,[br]that you can't just start free form just 0:10:30.296,0:10:35.302 writing English here and just having, the[br]computer follow it. So think of this as 0:10:35.302,0:10:39.121 your first lesson in the nature of[br]computers. Or you could think of it as 0:10:39.121,0:10:42.507 sort of a when in Rome sort of quality.[br]It's, like, look, I'm asking you to visit 0:10:42.507,0:10:46.067 the world of the computer. And so we're[br]gonna work a little bit in the language of 0:10:46.067,0:10:49.409 computers. It's gonna feel a little[br]strange right at first. But the reality 0:10:49.409,0:10:54.411 is. This is not actually hard. The syntax[br]is, it may be structure, but it's also 0:10:54.411,0:10:59.599 pretty simple. And so, I would encourage[br]you to, don't be put off by the slightly, 0:10:59.789,0:11:04.787 structured mechanical quality of this[br]language. It will enable us to do 0:11:04.787,0:11:10.190 some neat stuff. Alright, that's my first[br]example, let's try a second example here. 0:11:10.400,0:11:16.428 So my first example I just did numbers. So[br]in computer code there's also a thing 0:11:16.428,0:11:21.565 called a string. And here's a first[br]example of a string here. Hi in quotes so 0:11:21.565,0:11:26.537 a string is just a sequence of letters and[br]in the code it's written between the 0:11:26.537,0:11:31.701 double quotes. So that's why I have the[br]"hi". So print can take in numbers and print 0:11:31.701,0:11:36.545 them, turns out it can also print strings.[br]It just interprets the string as just a 0:11:36.545,0:11:41.390 sequence of letters and whatever the[br]string is it just prints them out over 0:11:41.390,0:11:46.445 here. So, I could change this, you know,[br]it says "hi". I could change it to say, "good 0:11:46.445,0:11:51.284 day". So the string can have a space on it.[br]So if I ran that then we'll just, we'll 0:11:51.284,0:11:57.723 just get the good day over here. So in a[br]computer program, strings and numbers are 0:11:57.723,0:12:02.221 both very, very common. So a string in a[br]computer program might be used to hold 0:12:02.221,0:12:06.834 like a URL that you just typed or, maybe[br]in a word processor each paragraph that 0:12:06.834,0:12:11.216 you're working on might be stored as a[br]string. So the string is basically this, 0:12:11.216,0:12:15.598 sequence of letters. It's a very common[br]sort of data in the computer. Another 0:12:15.598,0:12:20.211 thing that's shown in this code example is[br]this first line here. That's called a 0:12:20.211,0:12:24.940 comment, and in JavaScript comments begin[br]with two slashes, and the way the comment 0:12:24.940,0:12:29.632 works is, beginning with the two slashes,[br]everything to the right on that line the 0:12:29.632,0:12:34.880 computer ignores. And so I could use that[br]to write some remark about, you know, oh, 0:12:34.880,0:12:39.749 I have two strings here. Some little[br]remark or note to myself or something 0:12:39.749,0:12:44.807 about the code. And so when I run this,[br]the computer knows to sort of ignore this 0:12:44.807,0:12:49.865 part. Oh, that's just commentary. So, in[br]some of my examples later on, you'll see 0:12:49.865,0:12:55.176 comments sprinkled around where I'm, I'm[br]making some remark about, what's going on. 0:12:55.365,0:13:01.738 So one example I could do here that's a[br]little tricky. Is, I'm gonna put the word 0:13:01.738,0:13:09.411 print inside of this string and we'll see[br]what that prints. So here and now, the 0:13:09.411,0:13:14.807 second line, I get hello to print. So[br]what's happened is, the word print inside 0:13:14.807,0:13:20.622 of a string is not treated as code to run[br]the way the word print outside, that is a 0:13:20.622,0:13:26.158 function that the code is called. So when[br]it's inside of the double quotes like 0:13:26.158,0:13:31.889 that, it's just data. So that is a, a[br]distinction inside of the code. Well, 0:13:31.889,0:13:37.719 alrighty. So, I'm gonna, at the end of[br]this section, we'll have some exercises 0:13:37.719,0:13:43.908 where you can write some code as I've done[br]here. So as I mentioned before, 0:13:43.908,0:13:50.102 the code works within the system of being[br]a very structured limited syntax. And it's 0:13:50.102,0:13:54.603 actually a very common error, even a, you[br]know, a professional programmer who 0:13:54.603,0:13:59.455 writes code all day long. When they're[br]typing in some code, there will tend to be 0:13:59.455,0:14:04.249 little syntax errors, sprinkled through[br]the code. Oh, maybe a right parenthesis 0:14:04.249,0:14:09.218 is missing or there's a typo in one of the[br]words. And, those syntax errors are very 0:14:09.218,0:14:13.719 easy to fix. And so it means that when[br]you first hit that run button, 0:14:13.719,0:14:18.513 it is very common that there'll be some[br]little typo that has to be fixed. And I 0:14:18.513,0:14:22.769 want you to understand that. Those little[br]errors do not reflect some deep 0:14:22.769,0:14:27.484 misunderstanding on your part or some flaw,[br]those are just superficial little errors 0:14:27.484,0:14:32.083 that happen in coding all the time. And[br]professional programmers make those all 0:14:32.083,0:14:36.624 the time, and we just think nothing[br]of fixing those. We, we don't even think 0:14:38.894,0:14:41.164 about it anymore. And so, I think that, when[br]people are first introduced to coding, 0:14:41.164,0:14:45.647 this is something that derails them a[br]little bit, that there are these little 0:14:45.647,0:14:50.129 syntax errors and it kinda, it puts them[br]off their game and they think they're doing something terribly wrong when in fact, everyone 0:14:50.129,0:14:54.707 makes those errors. It's absolutely no big[br]deal. So. To help, diffuse that problem a 0:14:54.707,0:14:58.131 little bit, I just wanna go through a[br]bunch of examples where I've... So, I've 0:14:58.131,0:15:01.691 set up some examples here, where I just[br]have typical little syntax errors. And I 0:15:01.691,0:15:05.206 wanna show you what the error looks like[br]when you hit the run button. Right? So 0:15:05.206,0:15:08.946 what's gonna happen is, when I hit the run[br]button, it's not gonna work. I'm gonna get 0:15:08.946,0:15:12.461 some kinda little error. And so I wanna[br]show you the process of going from the 0:15:12.461,0:15:15.795 error and fixing the little syntax[br]problem, just so you're a little bit accustomed. Like, 0:15:15.795,0:15:19.220 oh yeah, when you first hit the run[br]button, that's a very common thing that's 0:15:19.220,0:15:22.554 gonna happen. So, let's just go through[br]these. Alright, so I, I hit the run 0:15:22.554,0:15:26.380 button. And, you know, instead of running[br]and producing output, I got a little bit 0:15:26.380,0:15:30.031 of an error over here, a little error[br]message. Sometimes the error messages are 0:15:30.031,0:15:33.729 pretty good, describing what's going on.[br]So, let's read this first one, It says, 0:15:33.729,0:15:38.719 Error: prlnt is not defined. So,[br]what's going on here, is print is a 0:15:38.719,0:15:44.141 function, But this second one here, line[br]two, and the, actually in this case it, 0:15:44.141,0:15:49.920 well, this won't always work, but a lot of[br]times it'll highlight the line that has 0:15:49.920,0:15:56.342 the problem. The problem is that it's a[br]typo. It doesn't say P R I N T, it says P R L N T. 0:15:56.342,0:16:01.054 So if I change that to an i. Ha![br]Now it works. So, this little program just 0:16:01.054,0:16:05.101 prints A, one and a B, a two and a C and a[br]three, so it's just a little pointless 0:16:05.101,0:16:09.302 example I made up. Now of course, I did L,[br]because I was trying to think of a what's 0:16:09.302,0:16:13.246 a letter that looks like an I. You would[br]have to come look carefully, so I was 0:16:13.246,0:16:17.183 being a mean professor there. Alright,[br]let's try another one of these. So I'll 0:16:17.183,0:16:21.666 hit the run button on this one. It says[br]error, unterminated string literal, and it 0:16:21.666,0:16:26.319 highlights the second line. So I'm just[br]gonna look at the second line from left to 0:16:26.319,0:16:31.085 right. You see the one, and there's the B,[br]So you see, the problem here is that this 0:16:31.085,0:16:35.624 is a string. Our intention was the string[br]B, but the closing quote is missing. You 0:16:35.624,0:16:40.709 need both quotes. I'll try the third one here. Let's 0:16:40.709,0:16:45.136 see, error, missing right parenthesis. So[br]again, it's highlighting the line. So I'm 0:16:45.136,0:16:49.446 gonna, actually, so in this case, the[br]error message is actually 0:16:49.446,0:16:54.275 pretty good. It's just saying, hey, look.[br]As with the quotes, the left parenthesis 0:16:54.275,0:16:58.478 and the right parenthesis, they need to[br]match. Like there must be a right 0:16:58.478,0:17:02.951 parenthesis there, exactly there for the[br]print command. So now that one works. 0:17:02.951,0:17:12.220 Alright, here's the last one. Something[br]wrong, it says error, missing right parenthesis, but I looked and the right parenthesis is there. but it happen to this case 0:17:12.220,0:17:16.165 the error message is just wrong.[br]Sometimes, when there's a syntax error, 0:17:16.165,0:17:20.787 the computer, it just becomes confused and[br]it cannot diagnose for you in the error 0:17:20.787,0:17:25.240 message, it can basically just say, well,[br]something's wrong in line two here. So I 0:17:25.240,0:17:29.974 recommend just looking carefully from left[br]to right and look here, it looks 0:17:29.974,0:17:34.401 pretty reasonable. It happens, in this[br]case what's missing, is the comma. And I 0:17:34.401,0:17:38.624 think that's an example of maybe the[br]difference between computers and humans. A 0:17:38.624,0:17:42.795 human could look at that and see your[br]intent. Like, oh, I see the intention here 0:17:42.795,0:17:46.965 was to print a one and then a B. But the[br]computer with this mechanical quality, 0:17:46.965,0:17:51.771 it's like. Things have to be just as[br]they're supposed to and so the comma is 0:17:51.771,0:17:57.121 not optional there must be a comma there[br]and so we're stuck until we fix it. All 0:17:57.121,0:18:02.999 right. Now that one works. Okay. So that's[br]our first section of just basic print 0:18:02.999,0:18:09.120 with, numbers and strings. I've got one[br]example problem here that I'll try. So this is 0:18:09.120,0:18:13.688 what the exercises will look like a lot of[br]times. Although the later exercises will 0:18:13.688,0:18:18.036 be more fun, I do promise that. So it[br]says, change the code below so that when 0:18:18.036,0:18:22.548 run it produces exactly this output. So it[br]says one, two, buckle, so this is based on 0:18:22.548,0:18:26.438 the, one, two, buckle my shoe. So this[br]code, there, there's a code here that does 0:18:26.438,0:18:29.911 something, but it's just not, not the[br]right thing so we're supposed to change 0:18:29.911,0:18:33.384 it. Let's see. For one, so what I'm gonna[br]do is I'm gonna add a two, and then I 0:18:33.384,0:18:36.993 gotta remember to put in the comma, and[br]then I'll change this string to be a 0:18:36.993,0:18:40.694 buckle. Now I can just run it, just see[br]what that does. I'd encourage you to, you 0:18:40.694,0:18:44.349 know, if you have some idea of the code,[br]or you just wanna try something, you know, 0:18:44.349,0:18:48.142 you're never gonna break anything by just[br]typing something in here and hitting the 0:18:48.142,0:18:51.889 wrong button. So, it's good to have a feeling of experimentation. So, 0:18:51.889,0:18:58.721 there's the first line. And I'll check the[br]second line. So three comma, four comma, 0:18:58.721,0:19:07.456 knock. Alright, oh, right, now that works.[br]So often times when I do a little examples 0:19:07.456,0:19:12.952 in a document like this It might be that[br]in the video, I'll do a bunch of 0:19:12.952,0:19:16.592 examples and then you may wanna go try,[br]you know, be, you'll be curious about the 0:19:16.592,0:19:20.509 second one. And so you wanna go visit that[br]one and try some variant and hit the wrong 0:19:20.509,0:19:24.150 button yourself, that is absolutely[br]something you're, you're free to do. Often 0:19:24.150,0:19:27.467 times, in the document, I'll have the[br]little show solution button. So, that 0:19:27.467,0:19:31.061 means, that you can go visit it and it's[br]blank, so you could do your experiment. 0:19:31.200,0:19:34.748 But if then if you're curious what the[br]code was that I used, then that's also 0:19:34.748,0:19:38.204 available in the document so you can[br]compare it to your solution. Or if you 0:19:38.204,0:19:41.752 wanna copy out of it, or whatever, that's[br]fine. Okay. So, that finishes our first 0:19:41.752,0:19:44.940 section, so check out those coding[br]exercises.