An Entire Computer Science Degree in 12 Minutes

  Рет қаралды 909,649

Jason Goodison

Jason Goodison

Жыл бұрын

Watch me rush through an entire computer science degree in 12 minutes. Let me know the concepts that gave you the most ptsd in the comment section below!
Get the secret resume templates for free: hiredfortech.com
Discord: / discord
LinkedIn: / jasonlevigoodison
Instagram: / jasongoodison
Twitter: / goodisonjason
Watch these too!
I suck at coding: • I'm Bad At Coding ... ...
How I would Learn to code again: • How I would learn to c...
Standup in big tech: • how engineers attend m...
**DISCLAIMER**:
This channel was prepared or accomplished by Jason Goodison in his personal capacity. The opinions expressed in this video are the author's own and do not necessarily reflect the views of Microsoft, Waterloo, or its affiliates.

Пікірлер: 1 300
@JasonGoodison
@JasonGoodison Жыл бұрын
I tried to get random students hired at Google in 90 days: kzbin.info/www/bejne/i6muo4eZo7KDjdk Mislabeling Binary Search Tree was just a simple miscommunication with my editor!
@Symmz
@Symmz Жыл бұрын
#ShaveJasonsHead
@iqbalbhatti49
@iqbalbhatti49 Жыл бұрын
#ShaveJasonHead
@wannabe_Hacker
@wannabe_Hacker Жыл бұрын
#ShaveJasonsHead eh? I don't have a good feeling about this...
@oo-pi2dq
@oo-pi2dq Жыл бұрын
Copy that.
@mrsurpris3
@mrsurpris3 Жыл бұрын
You have 427% grow in views and 244% in subs for last 30 days. Checking some YT dedicated plugins looks like you've already been blessed with algorithmic blessing, lacking only in number/length of tags, and shares on Facebook/other social media sites. But if you keep up with high engage vids like this one, I'm betting these numbers can make you bold by the end of this month (a week earlier than your suggested date). #ShaveJasonsHead
@prosperemebo7622
@prosperemebo7622 Жыл бұрын
Interviewer: How long was your CS program Me: 12 Minutes
@JasonGoodison
@JasonGoodison Жыл бұрын
😂😂😂
@wthxrsh
@wthxrsh Жыл бұрын
Well, 12 min 34 seconds to be precise. *instant salary raise*
@fongaming101
@fongaming101 Жыл бұрын
son of a biscuit, you're hired!
@_John_P
@_John_P Жыл бұрын
Me: 4min and 34s.
@cforchex
@cforchex Жыл бұрын
jokes on you i watched this on 2x speed
@mr.norris3840
@mr.norris3840 Жыл бұрын
It really depends on whether you are studying at a college or a university how theoretical it gets. I just completed my bachelors of computer science at a university, and basically programming is not being taught to you (just very very minimally). You are expected to do learn it yourself on your own (and everyone does so anyways). It is more a tool that you use for other courses, than what you are learning towards. I had a lot of theoretical courses in maths, theoretical computer science (complexity theory), technical computer science (Transistors and stuff), and practical computer science (Algorithms and Datastructures). You can use your programming skills everywhere to solve tasks, and that is the beauty of it.
@bakeneko3993
@bakeneko3993 Жыл бұрын
It also depends of the particular University and the approach they use. In my country the "best" university for CS is very theoretical, and you have to go through at least a year of science and math before having your first programming course. Meanwhile the "second best" university for CS has a more practical approach, where you learn the basics of programming in the first semester and then you start building on top of that. By the second year most of your courses require you to make an actual project, so you can apply the theory you learn right away.
@DiogoiRibeiro
@DiogoiRibeiro Жыл бұрын
This is exactly how it works in my country. Nobody here goes to computer science, very rare ... Computer engineering is the way to go if you want to become a software engineer. Where I live computer science is maths + a looot of theory.
@mr.norris3840
@mr.norris3840 Жыл бұрын
@@andrewnorris5415 What the hell do you mean only data-structures and algorithms are useful, lmao. If you go into system design or microcontrollers (even their software), you need to have know about technical computer science. If you go into theoretical research, or even when facing some problems, knowledge of complexity theory is extremely useful (is this problem even solvable practically?). You do not learn about the algorithmic foundations of data science in software engineering. You are basing your viewpoint of the fact, that all people studying computer science will end up as software engineers…. You are missing every other sub field of computer science here! And I do absolutely not agree with you, that programming is harder to learn than the other stuff. I think you would agree with me, if you would take a look at something like the background of the Page Rank algorithm, which has its roots in Linear Algebra and Stocastics, Monte Carlo Markov Chains. Or just look at Satisfiability Checking, Mathematical Logic (the basis of maths - first order logic), complexity theory… But I would happy to hear your reasons back from you, after you have looked up those things I listed above.
@dixztube
@dixztube Жыл бұрын
What’s the most fascinating thing you came across?
@andrewnorris5415
@andrewnorris5415 Жыл бұрын
​@@mr.norris3840 I was talking about programming! Which is hardly taught at uni. It takes years of experience to get good. Took me a looong time before I become a professional games coder for the biggest companies working on game engines. The only thing useful for my employment I was taught at uni was algorithms and data structures. Very few people do theoretical research. When hiring we want people who have had experience coding. And have something good to show. As it really makes a difference. Not the theoretical stuff I got taught at uni many years ago. When first started coding games professionally it was on the SNES and then the PS1. The tiny course we did on assembly at uni ( 2 days) came in handy. But I had already taught myself all that by then and far more in my own hobby projects.
@KamilaGrrr
@KamilaGrrr Жыл бұрын
This helped me feel more confident that I'm indeed learning stuff. Even though I still have a long road ahead, it was good to realize half of the concepts already feel familiar. If I may suggest a video idea: you could do something similar to this but about frameworks, libs, deployers, package managers, compilers, git, docker and all that other tools and weirdly named-stuff that comes with learning a language, because as a beginner all those names are really overwhelming 😥 Thanks for another great content, you're really good explaining stuff!
@ElboxD
@ElboxD Жыл бұрын
Best way to fight the impostor's syndrome. ftw
@JasonGoodison
@JasonGoodison Жыл бұрын
Good ideas and glad this helped :)
@CFSworks
@CFSworks Жыл бұрын
I've been in computing for over 20 years now and I *still* learn new stuff. Even "oh dang that's stupidly obvious, how did I not know about this until just now?" things, on occasion. I like to remind myself: The goal is not to learn everything, as that's impossible, but to learn how to learn and to keep my brain sharp so I can pick up new skills quickly when I need them. Wishing you the best in your journey! I promise the road is not as long as it seems. And CS is a big field with lots of interrelated concepts, so if something is frustrating or just isn't clicking, go ahead and focus on something else for a while - eventually the same concept will come up again in a different way and you'll suddenly "get" it.
@generaltheory
@generaltheory Жыл бұрын
You aren't. Read books. 2,3 and red-black trees should've been on the 10th second
@CFSworks
@CFSworks Жыл бұрын
^ You can safely ignore this guy, and sadly will have to get pretty good at it. The tech field is full of people who are insecure in their own abilities and feel threatened by perspectives that differ from their own, often moreso they're the perspectives of women. It's one of the only things I don't like about the tech industry.
@christianmorera4127
@christianmorera4127 Жыл бұрын
I like this guy's videos, I probably watched his journey to becoming a Microsoft engineer 5 times
@invictuz4803
@invictuz4803 Жыл бұрын
Very relatable and inspiring stuff for your everyday engineer.
@JasonGoodison
@JasonGoodison Жыл бұрын
Thank you! Really appreciate the comment and glad that you resonated with the story :)
@JasonGoodison
@JasonGoodison Жыл бұрын
@@invictuz4803 😀
@samratashish9979
@samratashish9979 Жыл бұрын
Which video please provide the name of that video? The one where he says how he got into faang? Or the one where he says I m bad at coding but MS still hired him?
@invictuz4803
@invictuz4803 Жыл бұрын
@@samratashish9979 Well Microsoft is not part of faang, and MS is short for Microsoft.
@zakg60
@zakg60 Жыл бұрын
I AM GOING TO LEARN EVERY SECOND OF THIS VIDEO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@O.Reagano
@O.Reagano Жыл бұрын
Good luck zak G
@phuanhuynh8888
@phuanhuynh8888 Жыл бұрын
Bruh, learn every nanosecond
@zakg60
@zakg60 Жыл бұрын
@@O.Reagano Likewise :)
@zakg60
@zakg60 Жыл бұрын
@@phuanhuynh8888 😂😂
@jfktheloop27
@jfktheloop27 Жыл бұрын
Finishing up my CS degree this year, was very pleased with how basic some of the explanations seemed to me so I must have come far. Best of luck man if I can do it so can you!
@Rafontro
@Rafontro Жыл бұрын
I used to be a Computer Science student here in Brazil, but had to pause my studies and start to focus on finding a job deal to the pandemic. I got lost in my studies and just couldn't find a way to go on with it. I felt really inspired by the content you presented in your video, and for that I'm really grateful! Awesome video dude! I can see how much you enjoy doing what you're doing.
@martiananomaly
@martiananomaly Жыл бұрын
0:26 That's a binary search tree (BST) and not a general tree. General trees need not be binary and follow that left=smaller and right=larger property.
@ViewerEm
@ViewerEm Жыл бұрын
i was thinking the same thing
@orisphera
@orisphera Жыл бұрын
5:40 Another advantage of two's complement is that addition, subtraction, and multiplication on it are simpler. You just do the same as with unsigned values. One way to explain that is using modular arithmetic: unless you use long arithmetic, numbers are computed modulo 2 to the power of the number of bits in an integer, and the numbers that the same bit string represents in unsigned types and in two's complement are equivalent
@simonerover8188
@simonerover8188 Жыл бұрын
Amen
@G_N_8
@G_N_8 Жыл бұрын
I am actually really happy that I understood almost everything in this video, as a first-year major student I was stressing out on the work I would be blasted with and this helped me feel a little better, also that coroutine trick was pretty cool, I didn't know about it.
@Foxtrot6624
@Foxtrot6624 Жыл бұрын
This is shockingly good. Have finished my cs degree but this was a fantastic reminder of all the little things I hoped I’d never need again
@AwesomeLand123
@AwesomeLand123 Жыл бұрын
LOL never wanna deal with pointers and heap memory allocation ever again
@strength4147
@strength4147 Жыл бұрын
I hope i will be able to study CS too but i always have this fear that i'm not smart enough
@Foxtrot6624
@Foxtrot6624 Жыл бұрын
@@strength4147 I promise it’s nothing to do with intelligence and everything to do with hard work. It all seems impossible at the start but nothing is actually hard, it’s just very very boring to sit down and learn the stuff you need to know to understand. That’s why so many people drop out, not because they weren’t smart enough.
@strength4147
@strength4147 Жыл бұрын
@@Foxtrot6624 thank you so much for the kind motivating words! I will give my best!
@lalalalala198
@lalalalala198 Жыл бұрын
@@strength4147 dw loads of stupid people do computer science
@favio1415
@favio1415 Жыл бұрын
Haven't watched this yet, but I love the entire idea of teaching an entire degree in a short video - gives you a quick taste of what's most relevant, and with that, you can choose where to dig deeper
@KevinNaughtonJr
@KevinNaughtonJr Жыл бұрын
so many topic covered really succinctly and understandable. Nice work Jason!
@JasonGoodison
@JasonGoodison Жыл бұрын
Thanks Kevin 🙏
@Zambad
@Zambad Жыл бұрын
What a well laid out video! I'm starting a master's programme in CS at the end of the month after graduating as a BSc in physics, and this video really helped in assuring myself that I'm not in over my head and am actually surprisingly familiar with the topics to come. Of course, I don't mean to underestimate the amount of work to come, but at least I'm more confident now.
@JasonGoodison
@JasonGoodison Жыл бұрын
Really glad to hear that! Good luck with your masters. Keep us updated’
@valeriacerpasalas2330
@valeriacerpasalas2330 Жыл бұрын
A huge thank you from Peru 😄 I am an aspiring software engineer and sometimes I feel lost because I haven´t taken Computer Science courses/undergrad. Thanks for explaining it with pens, in the editor, with examples. For me, those details help a lot. Many success in this channel and may it continue to grow.
@JasonGoodison
@JasonGoodison Жыл бұрын
Appreciate the support all the way from Peru! Wishing you all the luck in the world
@h0lyrs422
@h0lyrs422 10 ай бұрын
Keep going! :D
@kellybmackenzie
@kellybmackenzie Жыл бұрын
This is amazing, thank you so much!! I'm in my first year of CS and I'm writing all of this down for me to look it all up later in more detail, whether I'm gonna see it in future classes or not. Thanks a lot!!
@JohnS-er7jh
@JohnS-er7jh Жыл бұрын
I have seen other videos like this, but this is my favorite. I am trying to learn a lot of topics that are taught in computer science degree programs but it is good to have a general overview like this before you start learning more in-depth.
@harry356
@harry356 Жыл бұрын
I have a bachelor in CS and yes these are the very basics. I can imagine this is really helpful for people that start their CS study.
@Primer9
@Primer9 Жыл бұрын
What is your job?
@user-iv3sj2yq9x
@user-iv3sj2yq9x Жыл бұрын
@Nymph Yes I study cs, not all schools are very math intensive and a lot of math classes can be taken at community college. I had to take calc 2 and discrete 1 and 2. Do-able for sure!
@iqbalbhatti49
@iqbalbhatti49 Жыл бұрын
Your every video is amazing and I’m learning and I doing my best faster in computer science. Thank you sir!
@JasonGoodison
@JasonGoodison Жыл бұрын
Glad to hear that!
@Lukeff7
@Lukeff7 Жыл бұрын
Excellent video! Happy to say I did understand every concept after self studying various computer science/engineering bits over the last 5 years. Still nice to hear it all run through so concisely though, and gives people a good idea of what a CS degree fundamentally covers. Thanks!
@lucydelaluna
@lucydelaluna Жыл бұрын
Really awesome video. The clarity and preciseness of your explanations show that you are an excellent developer and can put a complex subjects into few and simple words. I'm a Junior Developer and really enjoyed learning about these topics. Hoping for more videos like this!
@aribaanjum5761
@aribaanjum5761 Жыл бұрын
I thought maybe I dont know much about my very own field, but now after watching how you have presented everything in a a nice order am more confident that I have good knowledge of things, i just need to practice more.
@first-thoughtgiver-of-will2456
@first-thoughtgiver-of-will2456 Жыл бұрын
Where's the computer architecture? Formal Grammer/logic class? Runtime analysis? Advanced algebras and calculus? I know this isn't literally trying to summate a college education but wanted to ensure people don't get too whimsical about the seriousness and value of a collegiate education. I worry for future generations of coders there is still research to be done that has certain pre requisites. Computer programming is accessible and that's awesome but a college degree is more than that.
@programmingpython584
@programmingpython584 Жыл бұрын
This is one of the best or the best video i have seen... I was expecting to hear about your journey but hearing about different concepts in software engineering is just awesome...thanks
@alphatek2898
@alphatek2898 Жыл бұрын
Some (slight) corrections in the machine learning part: 1) A neuron doesn't have to produce a 1 or a 0. It can, theoretically, produce any real number, but it does depend on what kind of a (non-linear) function it's using (like ReLU, Sigmoid etc.). 2) The output of a neural network also depends on the kind of output layer. What you said is true for Softmax (that all categories sum up to one, indicating a real probability for each of them) , but not necessarily for, for example, a one-hot layer using sigmoid. Otherwise a really good video, besides what others pointed out, but of course it's really hard to sum up such a large topic in so little time that some mistakes are inevitable :) .
@garrettswenson8808
@garrettswenson8808 Жыл бұрын
I just started learning python recently and this video was incredibly helpful. It actually blew my mind how expertly you described these concepts
@travisheady139
@travisheady139 Жыл бұрын
Thanks for putting this video together. I'm working on a computer science AS. Last semester I learned Python in Programming 1 and now I'm learning C++ in Programming 2 and it's definitely much more challenging.
@IronSmokeLTD
@IronSmokeLTD Жыл бұрын
Just re-enrolled to go back and get my Computer Programming degree. Even though I love computers, it can be quite overwhelming at first glance. I AM SO GRATEFUL that you put out this video in a bid to help anyone getting into the field. Thank you very much you sir have got a new sub!
@thestemgamer3346
@thestemgamer3346 Жыл бұрын
I liked the video, but there are a few places I'd like mention to help expand on some of the points: 0:18 Trees don't need to store numbers. They're an abstraction that represents some connection between states represented as nodes (usually formally called vertices), this state can in theory be anything. Trees happen to be nice structures where we can order those states with numbers too. 0:47 Structs (sometimes called structures or records) store data more or less contiguously. This means that the actual values of the objects are placed next to each other in memory and the structure essentially just covers all those memory addresses (There is usually a bit of padding and stuff going on in the backround to ensure that the memory stays aligned). 1:07 Would be nice to mention tail recursion optimizations. 3:53 There's a bit more to this actually. C++ is in fact a bloated, object oriented mess of conflicting versions and specifications that will drag you into the pits of hell whence none return. Use Rust instead. 4:43 There's actually a few other variants that are useful for this analysis as well. Such as small o and big/small theta. Something for someone to look into, albeit big O is most common, it essentially means the maximum bound of a function. 4:49 There are a few kinds of queues. Namely, what you might think of as a classical queue in a grocery store, called a double ended queue, and a priority queue, which actually orders elements and returns the highest element first. This is usually achieved through a binary heap data structure. 5:07 Linked Lists are directed unary trees (one branch per node more or less). Although in practice they can be cyclic and point to themselves (but so can trees if you abuse them). Surprised graphs weren't mentioned. 5:21 Transistors don't run on binary numbers, they run on voltage outputs which are either high (binary 1) or low (binary 0). The machine code essentially generates the correct sequence of electric pulses on the circuit to activate the right transistors which generate more transistors, etc. etc. 5:35 Assembly is actually a family of language variants, and there is usually a different flavour of assembly depending on the chip manufacturer. 6:55 This is not always true in compiled languages when optimizers are involved. Compiler optimizations can actually reorder your instructions in any way it wants, making highly optimized code sometimes not run exactly how you wrote it, but it will be faster because of this reordering. The CPU is also agnostic as to which instructions it chooses to perform as well in a lot of cases if two instructions don't rely on each other. 8:23 In current practice modern ML is done on very deep neural networks, however in general machine learning is actually a class of self-correcting algorithms that converge to statistically optimal solutions. A very trivial example is a Simple Linear Regression which is a Machine Learning algorithm but doesn't actually require any neural nets. Other examples are Support Vector Machines (SVM) and K-Nearest Neighbours, which are classical models in machine learning but don't require any neural networks and Google Cloud servers. There were maybe a few other places you could have mentioned as well. You mentioned trees but I really feel like you should have mentioned graphs and graph algorithms, primarily DFS and BFS. Pretty much every problem can be solved in computer science by representing it's different states as a graph and then performing DFS over all the possible states. This is essentially what it means to brute force a solution. You also did not mention dynamic programming, which ultimately resolves to finding the shortest path on a Directed Acyclic Graph, where the vertices (nodes) and edges represent the different choices for the state we want to optimize. A few other niceties would have been a brief tour of linear algebra, particularly matrices since these do occasionally show up. I also feel like modular arithmetic should have been included since it can be used to reduce a lot of problems into simpler expressions. Also you could have maybe mentioned different paradigms briefly, such as Object Oriented Programming (you did mention classes once), and Functional Programming, and what they're differences are, pros/cons. Also I can't believe you didn't mention Monads! I know this is totally unnecessary and a bit pedantic, but hopefully a few people learn from it. Again no hate to the creator, just a few little expansions for people who want to get a fuller picture. I like your energy and hope you hit 100K soon man, great content :P
@thestemgamer3346
@thestemgamer3346 Жыл бұрын
@@ymmuh glad I could help
@thestemgamer3346
@thestemgamer3346 Жыл бұрын
@0xff yeah I have to be honest that I a bit disappointed there was no mention of graphs since they are arguably just as ubiquitous as trees are to CS.
@thestemgamer3346
@thestemgamer3346 Жыл бұрын
@0xff well technically FP is still evaluated line by line. It's just one really long line ;p
@codyn
@codyn Жыл бұрын
yea the first point irked me a bit especially, because what he's describing is a binary search tree, not just a standard tree data structure
@mikoalt
@mikoalt Жыл бұрын
Really interesting video. I think I learned a few new concepts that I wanna delve deeper into later. Cheers.
@JasonGoodison
@JasonGoodison Жыл бұрын
Great 😊
@thuglife896
@thuglife896 Жыл бұрын
Very rarely do I see KZbin videos where concepts are described so clearly. I have a bachelor of computer science but I need to revisit some of these topics and this is a great place to start. Just subscribed.
@chengjoseph9459
@chengjoseph9459 Жыл бұрын
Your description on transistors -> 1's and 0's -> instructions -> machine code -> assembly -> C langauge is amazing!
@KurseVariety
@KurseVariety Жыл бұрын
Going into my 3rd year of Computer Science @ University and this was a nice refresher since you covered all the topics I have learnt! Cheers 😂
@rubenv.2736
@rubenv.2736 Жыл бұрын
same!!😂😂
@kamal-hassan
@kamal-hassan Жыл бұрын
And the ones you don't
@divitisaitezaa2599
@divitisaitezaa2599 Жыл бұрын
Jason I have been searching for your videos this morning it's been a month since your last video.
@anshetaa1397
@anshetaa1397 Жыл бұрын
I love the efforts you put in all your videos! Very informative and well thought video Jason.
@cookie04
@cookie04 Жыл бұрын
Great introduction into CS; just a few minor notes: 0:26 not necessarily; depends on the kind of tree 0:44 not "until" but rather "while" (as the name of the loop implies) 2:12 "malloc" is not a keyword in C but rather a function in the C standard library 2:27 you can use them interchangeably in C but technically they are different types 3:14 that's up to personal taste and not true in general 3:29 "bash" is just the shell (the tool reading your inputs and interpreting them); there are also many others (zsh or fish for example) 4:41 it's actually called the big O notation or the Landau notation; O(n) is just a variant of it, others are O(n!), O(log n) and O(1) for example 5:18 transistors are electrical components and use voltage. The presence or absence of this voltage can be interpreted as a zero or one
@nayankumarbarwa4317
@nayankumarbarwa4317 Жыл бұрын
Absolutely!!!
@JohnSmith-qy1wm
@JohnSmith-qy1wm Жыл бұрын
He's actually using zsh in the example lol (though I guess it's an extension of bash).
@meamzcs
@meamzcs Жыл бұрын
Also neurons in neural networks don't output either 1 or 0. Nowerdays the neurons don't even output values between 0 and 1 because almost noone uses sigmoid activation anymore and with ReLU you get values in the range between 0 and infinity and with PReLU or LeakyReLU you get values in the range between minus and plus infinity...
@pokora666
@pokora666 Жыл бұрын
🤓
@dmackle3849
@dmackle3849 Жыл бұрын
5:18 there is no full circle, these are the layers from electronics through to high level languages. Assembly is slightly above the machine code implicit in the Instruction Set Architecture. While C sits above the others, it’s not even certain to be included, for example absent from high performance coding for most of the original 8 bit processors during that era. C and C++ are of course now quite common for 8 bit Arduino projects. And compiler advances now make the higher level languages a productive choice there.
@ammarali8544
@ammarali8544 Жыл бұрын
This video is incredibly informative. I love how you explained neural networks. Amazing!
@JasonGoodison
@JasonGoodison Жыл бұрын
Thanks! Glad you liked it :)
@13NHKari
@13NHKari Жыл бұрын
Dude, you are literally god-level. I subscribed to you from all of my accounts. Thank you for the great help!
@adampierce9403
@adampierce9403 Жыл бұрын
I'm in a fullstack bootcamp right now and this video really helped to illuminate the bigger picture of compsci, which I find interesting. Good stuff!
@kevincicchetti1887
@kevincicchetti1887 Жыл бұрын
I have a bachelors in Computer Science, and I still learned things from this video
@artimmy1
@artimmy1 Жыл бұрын
me too bro me too
@kaluk8291
@kaluk8291 Жыл бұрын
What did you learn from this video as a bachelors in CS?
@Drewer
@Drewer Жыл бұрын
@@kaluk8291 would interrest me too :D
@DaveZee823
@DaveZee823 Жыл бұрын
Bullshit!
@PoojaDutt
@PoojaDutt Жыл бұрын
This was an awesome vid!! Really well made 😀
@JasonGoodison
@JasonGoodison Жыл бұрын
Thank you!
@hellothere-sf1gl
@hellothere-sf1gl Жыл бұрын
this really fascinates me and all i can say it's that it's incredibile to know that even the most complex things still can be simplified in the most basic terms possible, amazing video
@blakelawson1739
@blakelawson1739 Жыл бұрын
This video made me subscribe. I've seen a few of your videos, as a sophomore cs student, you made it click and come full circle for me.
@SkydivingSquid
@SkydivingSquid Жыл бұрын
I am a senior in software engineering and I am amazed at how I could remember learning everything he said in college. Low key kind of proud. Cool video!
@elonfc
@elonfc Жыл бұрын
One more thing I just watched this complete video, and I'm getting into computer science stream in college,( completed 12th grade this year only) thanks for guiding. Your subscriber
@JasonGoodison
@JasonGoodison Жыл бұрын
Thank you for subscribing!
@Molaleni
@Molaleni Жыл бұрын
That was fantastic, I’m self learning how to code at 40 and I’m encouraged that I was able to keep up with this video.
@shreddedhominid1629
@shreddedhominid1629 Жыл бұрын
Thank you for this video. Stuff like this more than anything else helped me decide if doing computer science at university was really for me. No vague generalisations, just straight up diving into concepts and what computer science is really all about.
@gianni50725
@gianni50725 Жыл бұрын
Most of this is not really focused on by a CS degree. Maybe in one or two classes.
@umbranocturna6342
@umbranocturna6342 Жыл бұрын
there is a little more to Computer science than programming.
@ana_cmz
@ana_cmz Жыл бұрын
I'm learning Web Development self-taught, having a background in Psychology and I have to say this is an awesome video. Now I just gotta watch it 10 more times 😂
@Kkubey
@Kkubey Жыл бұрын
At university we learned that web development is the most insecure field of them all, as there are a lot of ways to build a poor overall system, with it being the most obvious and accessible form. In general, the theory at uni is also taken from books. Many professors work with one or two books in particular which they go through, so if you get a good and recommended book, you won't miss out on anything. But I recommend checking them out, as it can avoid serious problems in the future.
@francobusquetscastillo
@francobusquetscastillo Жыл бұрын
That was awesome, the way you concentrate all this info!! Jus amazing, thanks for the video👌
@0xBuns
@0xBuns Жыл бұрын
This was amazing. Great job and thank you!
@theastuteangler
@theastuteangler Жыл бұрын
this rapid fire style is fantastic, thank you! take the same style and apply it to one focused subject in computer science, i.e. one of the ones you mentioned in this video
@JasonGoodison
@JasonGoodison Жыл бұрын
Thank you’! And thanks for the suggestion! 😀
@SirJonyG
@SirJonyG Жыл бұрын
Sick video. Small correction. Nodes in a nerual network do not return either 0 or 1. Like you said they return the sum of the nodes multiplied by their respective weights. This sum could be -5, 100, 3.552323, or any number. Then the sum is ran through what is called an activation function. It is possible that for some obscure application the function squashes the sum to be 0 or 1 (like a step function), but realistically actual neural networks these days use a variety of activation functions, even different functions in different layers. A step function is seldom used, if ever. A Relu function squishes values to fit between [ 0 , infinity) A Sigmoid function squishes values fit anywhere between [0, 1] (for example .95 could mean the model is 95% confident the picture is a dog) A Tanh function squishes values to fit between [-1,1] For anyone interested in neural networks, you can imagine that the data flow from layer to layer through the weights (with raw data is the first layer). After the data flows through the weights, it arrives in the nodes. Each node sums up the data that landed in it, then it squishes the data so that it doesn't go to infinity(explanation below). Then it becomes the data for the next layer and then flows through those weights. You can imagine if we had a table of data and then we multiplied all of it and then added it together, then multiplied and added, then multiplied and added, eventually the number would get too huge to even calculate. This is why each node squashes the data. However, the squishing is rarely to force the number to be either 1 or 0, rather we just squish it to fit in some range while still somewhat preserving the ratios. We still want the stronger weights to have a strong influence, and the weak ones to remain weak, they just get scaled into our range. The big idea is that if we had millions, billions of weights, we could theoretically tune them to model any pattern or any set of data. Lucky for us calculus allows us to tune all the weights at the same time and in the right direction.
@pedraumbass
@pedraumbass Жыл бұрын
Yeah, I was going to comment exactly that. I don't know where this 0/1 output came from and I never used this kind of activation in any neural network I ever worked with or developed.
@saisreekar4425
@saisreekar4425 Жыл бұрын
Some of the topics I've been studied and now I'm trying to learn data structures and algorithms. The video given an insight on these topics. Thank you
@sa_ad
@sa_ad Жыл бұрын
you really explained neural networks well i have seen other longer videos but by far this was most understandable
@elderwand663
@elderwand663 Жыл бұрын
0:24 That is a special kind of a tree -> Binary Search Tree, 1:29 Since the stack is a Last in First Out Data structure push/pop is (usually) shown the other way round,4:43 Just Big O Notation (one of the 3 asymptotic notations used in complexity analysis of algos ), 5:52 That's called sign-magnitude form, there's also 1's complement form and 2's complement form (mentioned in the video) -> watch Ben Eater's video for more clarity on this topic
@alexhoffmann3002
@alexhoffmann3002 Жыл бұрын
I thought this was a joke at first because he made such an obvious mistake 20 seconds into the video...
@moonman8567
@moonman8567 Жыл бұрын
It is definitely usually shown the other way around for learning and understanding (plus it makes more sense), but he's right to have the stack grow downwards because that's actually how stacks grow in memory. He's correct.
@stewartzayat7526
@stewartzayat7526 Жыл бұрын
@@moonman8567 to be more precise, the stack growth direction depends on the architecture. Also, in his stack frame drawing he indicates that the stack grows upward based on the 0x8 and 0x84 addresses.
@moonman8567
@moonman8567 Жыл бұрын
@@stewartzayat7526 Definitely and good catch. Most common I've seen is growing down though, at least historically. Didn't notice the addresses
@stewartzayat7526
@stewartzayat7526 Жыл бұрын
@@moonman8567 yeah, most do grow downwards
@jimreynolds2399
@jimreynolds2399 Жыл бұрын
This is not how I learned computer science. I learned back in the 70s, so the method then - and I still believe the best method - was to learn machine code/assembly language first. This taught you how the CPU executes code. It is THE most basics of computers. You don't need to know about the heap at this stage because you're not in the world of high-level languages yet. Once you have a good grasp of assembler, you quickly learn that it's a difficult way to write any meaningful application but it teaches you the lowest level including the program counter (PC) and the Stack Pointer and you should see how much is going on just to do the simplest of tasks like calling a subroutine and returning. You learn how a linker produces your executable code (statically linked) from all the individual sections of object code and you can see how you can build on just about everything you produce. You can then move on to C and learn how C compiles to assembly language - or Pascal etc - and then how the object code is produced from the C source. You can also look at which parts of your code are running slow and you can work to speed them up and even produce assembly routes to speed up the parts that the compiler can't make any more efficient i.e. the C version can't be made more efficient. You can then appreciate how much easier it is to use C than assembly and you appreciate how much the compiler does for you. Then, you learn how libraries work. You learn how you don't need the source code of a library to make use of it - you just need to understand how the library code gets called from your code at runtime i.e. you learn about dynamic linking as opposed to static linking. Using C, you learn how the compiler maintains the heap for you and you learn how this is mapped onto a computer i.e. it's just a big chunk of contiguous memory that the malloc library looks after for you and you can just grab and release chunks as needed. You learn how memory leaks can occur. You then start to understand how all of the C/C++ code operates on a CPU directly without a supporting environment like an interpreter or a VM. You can trace the direct relationship from C/C++ code to a piece of hardware as it operates and you can debug it in-situ using specialised software and hardware like in-circuit emulators. Once you move into the world of Java - which uses a VM - and interpreted languages like Perl or Python, you move further away from the hardware of the machine that runs it and you lose the ability to make use of traditional debugging on the hardware. This is how I would teach programming. You don't have to spend a lot of time on assembler - just enough for people to understand the very basic operation of a computer program - and then quickly move 'up the stack'
@TheMathematicFanatic
@TheMathematicFanatic Жыл бұрын
Good stuff! Was happy you included assembly
@yungdnny
@yungdnny Жыл бұрын
Great video! Very easy to understand for me, although I'm sure being familiar with a lot of these concepts helped.
@davidcondit388
@davidcondit388 Жыл бұрын
I don't have a CS degree, but have worked in IT for ~10 years. This was a fun video to see what I've been missing from a formal CS education. Thank you!
@gamespecies
@gamespecies Жыл бұрын
Do you wish you had a CS degree? It feels like programming from courses where you do real-life projects are much more beneficial to me.
@davidcondit388
@davidcondit388 Жыл бұрын
@@gamespecies yes I do, only because I'd love to have a bullet point on the "Education" section of my resume that shows I earned a degree. I don't have that, so I'm always going to be self conscious about my lack of formal education. But as you say, you gain a practical education by doing real-life projects and that has been enough for me to be fully employed, earning a solid income in a low cost of living state. I hope my reply helps you!
@gamespecies
@gamespecies Жыл бұрын
@@davidcondit388 How many years have you been programming? I'm doing my degree and paid courses from Udemy to help get a high paying job as soon as I'm out
@SyvexDilecta
@SyvexDilecta Жыл бұрын
C++ was first named D, they went to C++ cause D wasn't grabbing enough attention. Which means C++ is not directly referring to C += 1 but instead refers to D and C# to E (if you'd follow the naming conventions of programming languages up to that point)
@dvsmiles
@dvsmiles Жыл бұрын
I have no clue how your video got on my feed, now I am a subscriber 😂😎 keep up the awesome work!
@shravanak2971
@shravanak2971 Жыл бұрын
Great video and really helpful! I couldn't get a grasp on how the setuper works but it's all clear now.
@CamaradaArdi
@CamaradaArdi Жыл бұрын
I'm really happy because as a self taught programmer I knew all of these topics pretty in depth. I never went to college and it looks like I don't need it. Thanks for the morale boost!
@voidpet
@voidpet Жыл бұрын
Every cs kid needs to watch this 😄 Super well made video, and thoughtful explanations
@JasonGoodison
@JasonGoodison Жыл бұрын
Thanks Linda!
@jamesmoore3225
@jamesmoore3225 Жыл бұрын
Amazing content keep up the great work, I hope you reach your goals with this channel.
@moonlambo5229
@moonlambo5229 Жыл бұрын
Just getting started learning to code. I love the way you explain things. SUBBED
@bobbyhild3907
@bobbyhild3907 Жыл бұрын
I understood prob. about half of it after being almost done with my first python programming class (summer) in community college.
@JasonGoodison
@JasonGoodison Жыл бұрын
That’s great to hear! Keep it up and come back after you learn more to see how you compare!
@firecff6435
@firecff6435 Жыл бұрын
You deserve more attention
@JasonGoodison
@JasonGoodison Жыл бұрын
Thank you!!
@iustus_
@iustus_ Жыл бұрын
+1 I like the commentary and Robert Redford. Plus you definitely put time and effort into making this concise in 12 mins. Bravo. Subscribed. :)
@emzywillrich7243
@emzywillrich7243 3 ай бұрын
This was an interesting video, Jason. Thank you!
@farisadel12
@farisadel12 Жыл бұрын
I'm going to start AI & CS very soon and I am actually pretty fimiliar with half the topics you covered here :)
@real_xijinping
@real_xijinping Жыл бұрын
I didn't even finished off primary school and yet I'm familiar with all the topics. Guess im gonna obtain a Master's degree then
@dextacy
@dextacy Жыл бұрын
Just finished my BSc and this is a great refresher thanks!
@porteal8986
@porteal8986 Жыл бұрын
that was actually impressive how much info you put in, and how clearly
@comworkio
@comworkio Жыл бұрын
For the "simplifying logic part" you can say the mathematical law behind it : De Morgan's Law ! Very nice video though !
@Sapnom24
@Sapnom24 Жыл бұрын
oh statistics...
@JasonGoodison
@JasonGoodison Жыл бұрын
I completely forgot the name! Thank you for reminding me!
@karthikyl573
@karthikyl573 Жыл бұрын
This guy is legit so underrated, I dropped out of CS but after watching his videos I just started coding at my own pace and hoping to get good good pretty soon, keep up the good work.You’re my favorite coding channel ❤️❤️
@peterhealy7272
@peterhealy7272 Жыл бұрын
Would love to see a video about how you learned how to make videos. So impressed with your editing!
@mentefria98
@mentefria98 Жыл бұрын
awesome historytelling and editing bro. I subscribed
@Nyicles
@Nyicles Жыл бұрын
Hey Jason, I'm a Beginner and I would like to start learning to code, firstly I would like to learn coding websites and was wondering what are some languages I must learn and will be helpful to me and what programs should I use for coding
@JasonGoodison
@JasonGoodison Жыл бұрын
Check out my last video! I go into detail on that
@ryomoseley5869
@ryomoseley5869 Жыл бұрын
With web development I would start off with either HTML & CSS or java script as these are used on almost any website. Java script would probably be better for learning how to code as you can do alot more with it and has more uses outside of web development.
@madhatter2744
@madhatter2744 Жыл бұрын
@@ryomoseley5869 he didnt ask fr your opinion mate.
@dgzzz999
@dgzzz999 Жыл бұрын
@@madhatter2744 yes he did...?
@madhatter2744
@madhatter2744 Жыл бұрын
@@dgzzz999 he asked Jason for his opinion, not the other guy.
@NicusorN5
@NicusorN5 Жыл бұрын
3:55 - Not really, C++ is much more complex than C, you have the standard template library(STL), templates (check std::enable_if for example), different methods of casting (C-style cast, static_cast, dynamic_cast, reinterpret_cast), RTTI (run time type information), concepts and constraints (some kind of traits) (concept and require keywords), range-based for loops, rvalues and lvalues, lambda expressions, std::launder (I don't know what "memory laundering" is), and more. Using C++ with standard C functions is a anti-pattern. Same for using C++ as "C with classes" as it was initially created.
@anonimettalontana4944
@anonimettalontana4944 Жыл бұрын
The "C++ is C with classes" hasn't been a thing for a long time. Bjarne envisioned it like that but it's evolved from that conception.
@scriptles
@scriptles Жыл бұрын
Excellent video, you did a great job in presentation.
@LucianoClassicalGuitar
@LucianoClassicalGuitar 8 ай бұрын
You are the best fucking teacher ever. Honestly, I can tell you struggled at first with coding because you can explain everything so easily. It's like you found the right words to explain complex concepst.
@lukasz1512
@lukasz1512 Жыл бұрын
no words to describe how big of an overstatement your title is, not sure if you covered 1% of what my degree has covered so far and I haven't even finished it yet!
@PKMartin
@PKMartin Жыл бұрын
Also "you're going to run most of your code from bash" so this hypothetical CS degree at no point mentions IDEs... Or any data structures beyond arrays... Or any algorithms... Or object oriented programming
@krakenbyte7377
@krakenbyte7377 Жыл бұрын
no shit Sherlock
@algorists
@algorists Жыл бұрын
Tons of errors. Starts with claiming all trees are Binary search trees. They are not. Tree a defined more general. And the list goes on
@_randomize_
@_randomize_ Жыл бұрын
Your tutorial videos are amazing. I decided to go back to creating soft after 16 years. soft soft is so easy to get into, but also offers
@felipeescobar2454
@felipeescobar2454 Жыл бұрын
man I really aprecciate content like this, amazing job
@austinmillbarge8731
@austinmillbarge8731 Жыл бұрын
Nice video! To hear the differences between C languages explained in a simple, direct way by Jason, not only demystifies them, but proves the point that HOW you communicate MATTERS no matter the industry or setting. Jason will surpass more capable programmers because he doesn't scream and yell like a nerd with a chemical imbalance, triggering the worst in others, making everything fall to shit. I remember myself and my whole class freaking out in our OS class when the professor said, "All of you have had a course in C already," but we didn't. We had a course in C++ which for all we knew was completely different. On the second class meeting, after you could drop a course with a refund, the professor said, "If you're not comfortable with C, drop the course." Well that comment basically reduced 16 weeks of potential growth to just going through the motions. Which tone would be more conducive to a productive semester? The free one on KZbin. A professor has finite upside especially since most of them are adjuncts just trying to get the mortgage paid and most really perform like it. A KZbinr can get virtually unlimited subscriptions and ad revenue and more importantly, recognition and increased opportunities instead of being siloed off from the world in a college.
@3333218
@3333218 Жыл бұрын
Can relate. So many shitty CS professors who just made everything much harder than it should!
@austinmillbarge8731
@austinmillbarge8731 Жыл бұрын
@@3333218 It's a shame, because people quit when they think, "Am I really going to have to work in this kind of environment?" Maybe it's better once you're hired, but my degree from an accredited college certainly didn't make me prepared for a technical interview. It was a learning experience of what career not to pursue, at least not without seeking a do over somewhere else. CS can't be learned in a classroom any more than soccer can. You need to be in the field learning with others day in day out until you're ready for the stadium.
@3333218
@3333218 Жыл бұрын
@@austinmillbarge8731 Very well said!
@jbird4478
@jbird4478 Жыл бұрын
But C and C++ are actually completely different. They share a lot of syntax, but the semantics are treacherously different. It is a common misconception that C++ is just C with added things.
@someguyfromanotherplanet5284
@someguyfromanotherplanet5284 Жыл бұрын
@@jbird4478 not really man. C++ was made to be compatible with C, but honestly, it makes no sense, and with the way it's going, one day C++ won't even be anything like C.
@ishouldbedead4950
@ishouldbedead4950 10 ай бұрын
I have CS Degree why am I watching this lmfao
@raniathemri949
@raniathemri949 Жыл бұрын
this is the best methode i have ever encounted yet (knowing what you will learn before diving into a new toppic)
@jameswebb3064
@jameswebb3064 Жыл бұрын
The quality of this video is incredible, well done good sir
@elonfc
@elonfc Жыл бұрын
#shavejasonshead
@JasonGoodison
@JasonGoodison Жыл бұрын
👩‍🦲
@texthetex
@texthetex Жыл бұрын
I'm getting my bachelor's degree in 2 weeks and I think that the collection of all the topics you brought doesn't cover even only measly 10% of the whole set of topics I learned, my degree took 4 years and a half and I feel that all the topics you brought I learned through my first year only, second tops for some specific ones like ANN. Even though, great video 👍, my only criticism is that you should put a disclaimer about what I said.
@hypnocrabb
@hypnocrabb Жыл бұрын
I think it's a joke bud
@snowboundmage
@snowboundmage Жыл бұрын
Legitimately useful summary. Good teaching
@deveyous6614
@deveyous6614 Жыл бұрын
All classes/ subjects need one of these videos! Brilliant
@boznation109
@boznation109 Жыл бұрын
Awesome mate thanks please keep them coming
@shutdwn18
@shutdwn18 Жыл бұрын
The type of content we need. Good job brother
@genericyoutube
@genericyoutube Жыл бұрын
its rare that someone earns my sub in 11 minutes, well done. not a single wasted moment or second of over explanation.
@izaak-donaldson
@izaak-donaldson Жыл бұрын
Amazing video! Very inspirational!
@andrek9251
@andrek9251 Жыл бұрын
Amazing video! Thanks❤
@sunkanmiotitolaye9354
@sunkanmiotitolaye9354 Жыл бұрын
This is such a glorious video, well done.
Learn to code with an unfair advantage.
15:05
Jason Goodison
Рет қаралды 159 М.
10 Math Concepts for Programmers
9:32
Fireship
Рет қаралды 1,7 МЛН
ПООСТЕРЕГИСЬ🙊🙊🙊
00:39
Chapitosiki
Рет қаралды 8 МЛН
ПАРАЗИТОВ МНОГО, НО ОН ОДИН!❤❤❤
01:00
Chapitosiki
Рет қаралды 2 МЛН
ONE MORE SUBSCRIBER FOR 6 MILLION!
00:38
Horror Skunx
Рет қаралды 14 МЛН
An Entire Computer Science Degree in 11 Minutes
11:13
Kevin Naughton Jr.
Рет қаралды 690 М.
I'm Bad At Coding ... (My Software Engineering Journey)
9:19
Jason Goodison
Рет қаралды 1,5 МЛН
Reality of CS Majors
4:16
bigboxSWE
Рет қаралды 416 М.
How I would learn to code (If I could start over)
9:16
Jason Goodison
Рет қаралды 4,4 МЛН
My Ivy League Computer Science Degree in 11 Minutes
11:33
Josh Beasley
Рет қаралды 98 М.
I tried to get random subscribers hired at Google
9:51
Jason Goodison
Рет қаралды 104 М.
How I would learn to code (if I could start over)
10:52
PIRATE KING
Рет қаралды 1,3 МЛН
Machine Code Explained - Computerphile
20:32
Computerphile
Рет қаралды 106 М.
I gave 127 interviews. Top 5 Algorithms they asked me.
8:36
Sahil & Sarra
Рет қаралды 591 М.
What You Need to Succeed in Computer Science
14:13
ForrestKnight
Рет қаралды 114 М.
ПРОБЛЕМА МЕХАНИЧЕСКИХ КЛАВИАТУР!🤬
0:59
Корнеич
Рет қаралды 3,5 МЛН
как спасти усилитель?
0:35
KS Customs
Рет қаралды 519 М.
Apple watch hidden camera
0:34
_vector_
Рет қаралды 53 МЛН
#miniphone
0:18
Miniphone
Рет қаралды 11 МЛН