3 years of Computer Science in 8 minutes



in today's video I just want to show you how how the most asked question on my channel is how do I learn programming how do I get started how do I do this how do I do this I thought I'd just show you how I learnt programming so that if like if you if you don't know anything about computers computer science you'll actually have an understanding buddy in this video I'm a little sick right now I don't know if you can tell but you got to drink some alcohol this one is called Buckley's we're gonna see how well my brain can operate with sneeze yep no it's not gonna be a good video all you need to know is that we have variables we have conditional statements to do different things based on these variables we have functions we have the an ASCII table to represent characters with numbers and we have a race which can store multiple variables so we can reuse this one object to store data about every family we can create individual of a husband and a wife this is the thing is that you can put objects inside of other objects once you feel comfortable with using data structures this is where your coding life it gets interesting in the C language you got to do everything yourself bud let's get a basic program going here so it's something like GCC test C by the way C was actually written in like the 1970s allocate memory with the size of int x 3 we've created a pointer if we want to access this block all we have to do is we have to say pointer plus 1 or pointer plus 2 point 0 plus 3 dereference num plus 2 this and this are the exact same thing num – – num plus 2 every other language is built on top of this so once you understand how C works you can do everything I never read books yo if you guys are asking me for a book this is the only book I can recommend here's a list structure which contains a function pointer a pointer to a function so what's kind of the same as an object in Java we have variables and we have functions it's at a lower level now insert back oh yeah and then I had to do look if list had equals null if list hat equals null in C strings do not exist you create an array of characters and we're gonna call it string sizeof char times 10 the last character is a backslash 0 right ah look hello it's there nobody actually sets their strings like this in C strcpy you type in hello and it does the same thing okay look at that hello you have Java Java is pretty high level you break it down to see you understand how C works and then now you got a write assembly and assembly can run on a chip I'm gonna code this in assembly see if I remember exactly how to do that I love it I love it I just realized in order to understand this you need to understand hexadecimal so we have 16 numbers in hexadecimal between 0 and 15 so F equals 15 it makes it easier for programmers to look at an F than to look at 1 1 1 1 look up binary to hexadecimal this is our memory we put 15 into byte 9000 so you can see 0 app and you can look at 6 which is in 9001 uh shouldn't it have placed it there check out the stack pointer and yes awesome so we've put 15 onto the stack we've put 6 onto the stack when we execute jump to subroutine it's going to push the address of the next instruction so if we look on the left here 8012 that's gonna fill these F's right here hey bud this is the assembly equivalent of some num pushing X onto the stack pushing Y onto the stack this is the preparation for calling the function whereas in C you don't have to do that because you just call the function in order to access the variables in memory we could just put X here but the whole point is when you call a function it creates a local variable so in order to create a local variable that's the equivalent of pushing something onto the stack that's why we have to prepare them call the function once we get into the function we move the value of x into a register add Y on to d0 return from the function save it to memory I'm gonna read what I wrote and you guys may not understand it but I think it is hilarious okay how does a computer do addition that's your next question of low-level engineers discovered that they can make an adder circuit super fast they practically perfected the adder circuit they obviously want to reuse the circuit for as many operations as possible a minus B is the same as a plus negative B so how do we represent B in a negative form all you do is flip all the bits and add one some mathematicians discovered this and they figured out holy this is going to revolutionize the whole world ten plus negative six B was one one zero two's complement plus one so six and it's two's complement form is zero one zero okay we're gonna add these two zero carry the one one one whenever a number starts with one that means it is negative we need to convert it back out of two's complement form and we end up with zero one zero zero which is four which is 10 plus minus six which is 10 minus six which is four so you're looking at this and you're going is this magic wait you go wait a second and you realize that all the sudden mathematics is more interesting than you thought because yo when I get questions on my channel people ask me do I need a lot of math for computer science do I need to know a lot of math and I go nah bro all you need to know is addition every data structure is built on top pointers and pointers operate using addition and subtraction addition and subtraction is implemented through addition so all we have is addition and then if you want to go really deep you can get into logic design and build your own adders which oh my god I think I might be able to show you so it's crazy just to get lower and lower oh my god everything's making sense now like my whole life is shocked a full adder involves two and gates or gate xor xor and then these gates are implemented using transistors so yeah I still don't know all that much about the transistor level which is which is all my list of things to research I'm not even sure if this video was like a good eye I think I was supposed to tell you guys how to get started learning computer science but I think I just went on this crazy rant and explained like the past three years of what I've learned the main things is choose a language like Java or Python to start learning the basic constructs of if statements functions objects once you feel really comfortable with that move to C and then try to recreate your programs and C and then once you feel comfortable with that do you some pointers and C and then work on data structures okay I'll start with a linked list go to like a stack go to like a queue look at some hash tables trees all the pointers man all the memory management all the pointers read the C programming book once you feel like you're so good at C which that won't happen quick okay you know you could go and work on some bigger applications right you can build pretty much whatever you want at that point but what I would recommend is is at least try assembly honestly once you get to that point you know your life will be much easier cuz that's pretty much where I'm at and I'm just like I feel like I can just teach myself anything you know




Comments
  1. Maybe it was a bad idea to talk about code for 5 hours & try and condense it into an 8 minute YouTube video.. *Disclaimer* this is not a beginners tutorial and new programmers should not be intimidated. I am simply trying to show how multiple layers of technology integrate with eachother. Each minute of this video can be broken down into months of learning. It's taken me over 2 years of university plus highschool plus personal projects.

  2. After watching this I am now an fbi level haxxer and have multiple job offers from Apple, Google, and Chipotle. Thank goodness too because they just raised the prices on Guac again. 🙂

  3. just finished smoking a joint😂 😂 😂 I'm laughing at the way he's spitting random words😂😂😂

  4. I think you did the subtraction incorrectly because what you actually got is -4. Correct me if I am wrong.

  5. Dude wants to teach 3 yrs of programming and can't even finish his first sentence. What a great load of garbage.

  6. dude this video dosnt teach anyone anything, people who know what your talking about KNOW WHAT YOUR TALKING ABOUT this is just a video of you demonstrating you know it

  7. For functions, do you format it like this

    void (func) {
    code; }

    or

    void (func)
    {
    code;
    }

    Only one right answer btw

  8. By 3:30 you were just showing yourself programming in Assembler.

    This was not a video showing people how to get started with coding, as your intro claims. It’s just a huge flex. This will do nothing but make people run from CS and get a job at Pizza Hut cause they assume they’ll never understand this.

    If anyone was overwhelmed at this video, programming is much less daunting than this makes it look. It is mentally taxing work and is by no means easy, but it is worlds easier than this video makes it look. Check out sites like codeacademy or follow a Pluralsight course. Mess with it for a month or two and you’ll know if you like it enough to want to continue.

Leave a Reply

Your email address will not be published. Required fields are marked *