 Hey guys, if you are new to programming and you really want to understand the concepts and feel like you haven't really found the resources to do that, that is specifically why I created this channel. I got so frustrated that I could not learn coding. And I finally picked up the book Code by Charles Petzold, which really helped me in a lot of different ways. It showed me how binary works in terms of barcodes and Braille, which is why I put together those first two videos on the channel. And then eventually I found, but how do I know, which was just an eye-opener for me, which is why I made the CPU video. And since then I've done a lot more with programming and coding, but I've always wanted to really understand the very basics of how a computer works, even kind of beyond the hardware, just fundamentally and conceptually, what is a computer doing, why does it do what it does. So if you are interested in that kind of thing and learning that kind of thing as well, I would encourage you to go to the link in the video description, which is this GitHub repo. Basically it has all the video scripts that I've put together over the past probably 10 years. This has been a long work in progress. And I feel like it's at a point now where it's good enough to kind of share and get feedback on, but it's definitely not ready for a full-time for production just yet. But feel free to look through here. I've just to kind of show some of the things, like how different numbers are the same count. So how can a 10 and a 10 mean two different things, even though they're the same characters? It talks about the binary system in base 10 versus base 2. Computer memory has two lists of numbers, not just one. And I put like a little kind of descriptor about the script and then the script is in the bullet points. But in this case, understanding that RAM had two different numbers, not just the byte that was there, but also the address. And both of those are binary numbers. And it's very important to understand that in order to understand pointers, which is critical to so much else that's in programming. Just lots of other stuff in here. I've gotten really intrigued, I think, by, well, actually by the stack and thinking of it as a doing list, as opposed to a to-do list, which that really helped me to kind of conceptualize, okay, what is a stack doing? A doing list, you add things backwards from the bottom up, and then erase them top down when they're completed. And so this kind of goes through that. It also goes through pointers, like we talked about. And classes and getting into interfaces and the way this talks about interfaces was interesting to me kind of a pre-programmed remote control. And a lot of people talk about interfaces as being like contracts. But for me, the idea of it being a pre-programmed remote control is kind of interesting. So anyway, it also goes into Git and how Git works. And the thing about Git that I didn't really understand was the branches and like, well, how's a branch and versus a repo and all this stuff. And so I've tried to kind of put some of that together in here. So there's lots of stuff in here, but I would genuinely love if you are kind of new to programming, you're not sure if this is what you want to do, but you're very intrigued by it. But you have found so many courses online that are challenging for you because they may not, you know, address things at the level that you want them to address them at. And maybe they're too more too complicated for you or whatever it is. That's the way I felt anyway. But if you're in that spot, I would love for you to kind of give feedback. Feel free to leave a comment on this video or you can actually go into this GitHub repo and go up here to the discussions tab. And it's also mentioned here, but you can just add a comment on this. I would love to kind of get a feel for, for instance, what's some misunderstandings or misconceptions you had while reading through that script, anything. And then, and honestly, as small as possible, if you think, well, that didn't this one little thing that makes sense, the smallest things are generally what I find to be the most important, because those are most easily forgotten by people who become experts. And so when experts teach something, they forget those small little things. So anyway, and so what are some subtle concepts or misconceptions that tripped you up while you've been learning programming? So not just from this script, but in general, what are some things where you're like, man, this one thing I just didn't get that bits did that or that the ALU or transistors or, you know, classes or objects or whatever, just, I would love to kind of get your misconceptions and things. Because again, I think, you know, as we become experts, we forget those things. And that's exactly what new learners want to know. Let's see, any suggestions on rewarding or additions that would help new programmers better understand the craft? Yeah, so anything here I would love to get your feedback on. And then just to kind of give you an idea. So this is a the results of a survey that I did back in 2017. At that time, I was thinking about putting together a kind of a full programming course. You know, and I was kind of asked for feedback and about 500 people I think filled out the survey, which has been really cool to see. Actually, I'll scroll down as we talk about it. The other ones kind of were the ones that were more intriguing to me. But just so you can kind of see as a beginner that there are a lot of other people that feel probably the same way you do with frustrations about, you know, online courses and they do this, they don't do this. But these are, you know, I took some of this to heart, I hope. For instance, this one make everything explicit. Sometimes things are not mentioned because they're taken as known. That kind of goes back to what we were talking about with the curse of the expert, I think as they call it, which is that you kind of forget the things that the tripped you up while you were learning, make concepts interesting to watch and give viewers curiosity of the concepts being taught, be interactive, make it easily digestible. So I'll kind of scroll through here. Learn how to view the world through the eyes of a novice. Remember the questions you asked when you didn't know how a transistor worked. Anticipate the questions that would arise from a video you make, then answer them beforehand. So yeah, that's exactly what I've tried to do with that with that set of scripts that we just talked about. So again, I would love your comments and feedback on that. Just scroll through some of these, feel free to kind of pause the video and and read through some of these. They are very interesting to learn and kind of see what else other people have experienced. Yeah, pretend like your students have never seen a computer in their life. Yeah, again, I think that's so important. I think honestly, some of the things that we take for granted when we do learn things are some of the more interesting things when you dig into those kind of fundamentals that are kind of implicit, then you can really actually kind of expand your craft, because now you can think about things more fundamentally and you can solve problems in a way that nobody else thinks to solve them. So in the end, I think it's a more helpful approach as you learn anyway. So yeah, keep scrolling through here. Start with the hardware and progress on how software interacts. So yeah, start with the basics. That's definitely something I want to do is kind of help people understand, you know, computers and in terms of how they work and why they work. And when people explain them in a certain way, they don't really mean that they just kind of, you know, computers can kind of seem like something they're not, which is very difficult for for us when we're trying to learn something new. So I think it's someone who is starting so yeah, so I'll scroll through here real quick and just kind of give you again, if you want to pause and look at any of these specifically, they're all very interesting and I do appreciate all the feedback. Again, it's it's been great and I would love your feedback on the scripts as well. The last thing is to mention is I, you know, this channel's been up for a while and I've had ads on it for a while. And honestly, I've kind of become more focused on the money that has come from this channel than on the people that who are watching these videos and the people who are really interested in this topic. And so I have turned off ads for this channel. And I've made all the videos, basically public domain, the creative common zero, which is essentially public domain. So feel free to take anything from the scripts from this channel and repost it as your own if you want to or repost it and commercial it doesn't matter. I don't really care anymore. I think I've realized that what I enjoy is this process of teaching and learning with you and, and, you know, just seeing how you guys interact with this and how other people are learning this topic. It's such a fun, fun thing to do. So that's kind of the last thing I'll mention here is the channel now kind of notates that. So as of a few days ago, all videos are under CC zero license, which is public domain. So anyway, please feel welcome to share whatever feedback you have on this video in the description or on the GitHub or you can even email me at in one lesson at gmail.com. And yeah, thanks for watching.