100+ Computer Science Concepts Explained

  Рет қаралды 2,293,254

Fireship

Fireship

Күн бұрын

Learn the fundamentals of Computer Science with a quick breakdown of jargon that every software engineer should know. Over 100 technical concepts from the CS curriculum are explained to provide a foundation for programmers.
#compsci #programming #tech
🔗 Resources
- Computer Science undergrad.cs.umd.edu/what-com...
- CS101 Stanford online.stanford.edu/courses/s...
- Controversial Developer Opinions • Reacting to Controvers...
- Design Patterns • 10 Design Patterns Exp...
🔥 Get More Content - Upgrade to PRO
Upgrade to Fireship PRO at fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
Turning Machine
CPU
Transistor
Bit
Byte
Character Encoding ASCII
Binary
Hexadecimal
Nibble
Machine Code
RAM
Memory Address
I/O
Kernel (Drivers)
Shell
Command Line Interface
SSH
Mainframe
Programming Language
Abstraction
Interpreted
Compiled
Executable
Data Types
Variable
Dynamic Typing
Static Typing
Pointer
Garbage Collector
int
signed / unsigned
float
Double
Char
string
Big endian
Little endian
Array
Linked List
Set
Stack
Queue
Hash
Tree
Graph
Nodes and Edges
Algorithms
Functions
Return
Arguments
Operators
Boolean
Expression
Statement
Conditional Logic
While Loop
For Loop
Iterable
Void
Recursion
Call Stack
Stack Overflow
Base Condition
Big-O
Time Complexity
Space Complexity
Brute Force
Divide and conquer
Dynamic Programming
Memoization
Greedy
Dijkstra's Shortest Path
Backtracking
Declarative
Functional Language
Imperative
Procedural Language
Multiparadigm
OOP
Class
Properties
Methods
Inheritance
Design Patterns
Instantiate
Heap Memory
Reference
Threads
Parallelism
Concurrency
Bare Metal
Virtual Machine
IP Address
URL
DNS
TCP
Packets.
SSL
HTTP
API
Printers

Пікірлер: 2 300
@beketbarlykov1302
@beketbarlykov1302 2 жыл бұрын
No one can deny that the most important CS concept in this video is 101st computer science concept. You just simply cannot let grandma down
@vaisakhkm783
@vaisakhkm783 2 жыл бұрын
yes... and it is the hardest... don't forgot about toster...
@mustafaa.4690
@mustafaa.4690 2 жыл бұрын
I mean, you are a computer scientist, so you should be able to fix every kind of electronic device of software.
@zemoxian
@zemoxian 2 жыл бұрын
@@mustafaa.4690 F that. I had to work with MFPs in grad school teaching programming labs. Ye olde dot matrixe MFPs. I don’t know how much of the lab time was taken up by trying to get stuff to print for the students. The only thing worse was the network delays which had a tendency to freeze students out for half the class. I’m sure a number of times I wanted to say that I only work with software. You’re on your own for printer issues.
@sajibsrs
@sajibsrs 2 жыл бұрын
I had to fix the solar connection problem as well.
@devinwalker9202
@devinwalker9202 2 жыл бұрын
I saw your PFP and had to wonder what Karma Akabane would do if he knew CS and his grandma asked him for printer help.
@dorobokino
@dorobokino 2 жыл бұрын
As someone who just graduated with a CS degree, I can confidently say that you successfully condensed 4 years of my life into 13 minutes. Well done!
@Mr-lq6wm
@Mr-lq6wm 2 жыл бұрын
actaully just a gist not whole thing
@Mr-lq6wm
@Mr-lq6wm 2 жыл бұрын
not condensed but evoporate 🤣🤣
@sr.luisraytraceiii2422
@sr.luisraytraceiii2422 2 жыл бұрын
The lack of I type and J type instructions and the lack of MOVE.B type statements is something I observed..
@paraboo5475
@paraboo5475 2 жыл бұрын
Also the first fact already contains a mistake.
@I1UVD0ck
@I1UVD0ck 2 жыл бұрын
You did not learn any discrete math, stats, A.I., machine learning, Computer vision, computer security, etc? Because he only cover the surface.
@sirajahmed8034
@sirajahmed8034 Жыл бұрын
I can imagine how overwhelming this video would've been for me if I watched it when I was a beginner, but this works very well for people who already have some experience in programming by summarizing and also including some concepts you may not have been aware of, but could understand easily if you spent some time learning about them.
@sirajahmed8034
@sirajahmed8034 Жыл бұрын
@xFTOxGold It's alright, you'll get there, one step at a time. Don't try to skip over essentials that might make your life harder later on, and you'll be fine. A lot of self taught devs might brag about being able to land jobs after just 3 months but I'd argue it's probably a full year for the average person before they're job ready (that was the case for me too), and could take longer or shorter depending on the efficiency of your learning and since we're self taught, efficiency is a huge factor and could even be a matter of luck (nobody can truly measure their own learning efficiency as they're learning).
@sirajahmed8034
@sirajahmed8034 Жыл бұрын
@xFTOxGold I started when I was 23 after wasting (arguably) 5 years in university, you're way ahead of me already. :) Good luck mate.
@ghostek7792
@ghostek7792 Жыл бұрын
perfectly encapsulated
@garbagetrash2938
@garbagetrash2938 Жыл бұрын
If someone is new to computer science should I maybe not send this to them? Idk if it will be helpful or scary.
@itscristianpop
@itscristianpop Жыл бұрын
As a beginner, some of this was genuinely helpful, but other things went over my head!! I am trying my best and definitely not giving up!
@dhruvishah9077
@dhruvishah9077 Жыл бұрын
I could litterly see my 4 years computer science related subjects one by one, this is so amazing. Because even after knowing the subject or topic,it was very difficult for me to combine all of these and make some sense out of it. This connected dots so well for me,now I finally understood the digital,to computer organisation, data structures,class,algo, OS,Memory, Network subjects,that how all these get connected and work simultaneously. I wish I could have watched this earlier. This is by far the best video I have watched in my whole journey 🎉.
@aniketsrivastava1870
@aniketsrivastava1870 9 ай бұрын
normally we are taught these things one by one and that too not in the correct order thats why we can't connect the dots simultaneously we are taught these things in the order of their difficulty level
@dhruvishah9077
@dhruvishah9077 9 ай бұрын
@@aniketsrivastava1870 I agree, I think every lecture/course should do this, the practical usage and how the subject is connected to it's large impact. Where exactly this is getting used, this is just a great story telling. This video for me was like watching an explanation video for a bad movie(my degree). I finally got the whole idea , but this should have happened while I was learning.
@aniketsrivastava1870
@aniketsrivastava1870 9 ай бұрын
@@dhruvishah9077 wow looks like I found someone who literally hates there college education system just like me😄
@mikabreto
@mikabreto 8 ай бұрын
This is like a great BBC series called CONNECTIONS that was hosted by James Burke and documented how one invention of the Industrial Revolution affected or led to another invention or even an entire industry. It threads the needle that weaves the fabric of our modern society.
@Carlospenamusic1
@Carlospenamusic1 5 ай бұрын
I've been thinking on getting a degree in CS, Is it hard to find good jobs in that field?
@saimanohara6399
@saimanohara6399 2 жыл бұрын
It's fun how learning is more of a speedrun these days which acts as a very good starter, motivating us to learn the remaining stuff by ourselves and now we have something of a map which we can follow instead of blindly jumping into stuff.
@aurelia8028
@aurelia8028 2 жыл бұрын
That' a terrible way of learning
@xpni7526
@xpni7526 2 жыл бұрын
lol i had the same thought, i come from esports and getting my webdev cert feels like grinding rank in competitive 😅
@Schytheron
@Schytheron 2 жыл бұрын
@@aurelia8028 Why?
@BboyKeny
@BboyKeny 2 жыл бұрын
@@aurelia8028 A concept map to use as labels, so you can use your tests to measure your understanding of the concepts. That's basically step 1 of Ultralearning by Scott H. Young
@jotomato
@jotomato 2 жыл бұрын
@@aurelia8028 having a big picture and see the mastery level versus your level is a very good way of measuring yourself.
@mumujibirb
@mumujibirb 2 жыл бұрын
We all wanted it. 1. Turing Machine 2. CPU 3. Transistors 4. Bit 5. Byte 6. Ascii Character Encoding 7. Binary 8. Hexadecimal 9. Nibble 10. Machine Code 11. RAM 12. Memory Address 13. I/O 14. Kernel 15. Shell 16. Command Line Interface 17. Secure Shell Protocol 18. Mainframe 19. Programming Language 20. Abstraction Principle 21. Interpreted 22. Compiled 23. Executable 24. Data Types 25. Variable 26. Dynamically Typed 27. Statically Typed 28. Pointer 29. Garbage Collection 30. Int 31. Signed 32. Floating Point 33. Double 34. Char 35. String 36. Big Endian 37. Little Endian 38. Data Structures 39. Array 40. Linked List 41. Stack 42. Queue 43. Hash (Triangle is horse) 44. Tree 45. Graph 46. Edge 47. Algorithm 48. Function 49. Return 50. Arguments 51. Operators 52. Boolean 53. Expression 54. Statement 55. Conditional Logic 56. While Loop 57. Iterable 58. For loop 59. Void 60. Recursion 61. Call Stack 62. Stack Overflow (E) 63. Base Condition 64. Big-O-Notation 65. Time Complexity 66. Space Complexity 67. Brute Force 68. Divide and Conquer 69. Dynamic Programming (Nice) 70. Memoization 71. Greedy 72. Dijkstra's Shortest Path 73. Backtracking 74. Declarative 75. Functional Languages 76. Imperative 77. Procedural Langauges 78. Multiparadigm Languages 79. Object-oriented 80. Class 81. Property 82. Method 83. Inheritance 84. Design Patterns 85. Instantiate 86. Heap 87. Reference 88. Threads 89. Parallelism 90. Concurrency 91. Bare Metal 92. Virtual Machine 93. Ip-address 94. URL 95. DNS 96. Transmission Control Protocol 97. Packets 98. Secure Sockets Layer 99. HTTP 100. Application Programming Interface 101. *PRINTERS* (Even I don't know how they work)
@gameboyv1790
@gameboyv1790 Жыл бұрын
Thank
@Muhammad_Waleed
@Muhammad_Waleed Жыл бұрын
Niceeeee
@slimshadus
@slimshadus Жыл бұрын
Thank you bro or sis
@NASA-Educational
@NASA-Educational Жыл бұрын
t
@dineeshthapa457
@dineeshthapa457 Жыл бұрын
1. Error: An issue or problem that occurs during the execution of a program. 2. Turing machine: A theoretical device that can compute anything that is computable. 3. Central processing unit (CPU): The brain of a computer, responsible for executing instructions. 4. Transistor: A tiny on/off switch that is an essential component of the CPU. 5. Bit: The smallest unit of information that a computer can use. 6. Byte: A group of eight bits. 7. Binary: A system for counting that uses only two digits: 1 and 0. 8. Hexadecimal: A base-16 numbering system that uses 10 numbers and 6 letters to represent a 4-bit group called a nibble. 9. Machine code: The binary format that the CPU executes. 10. Random access memory (RAM): Short-term memory used to store data for the CPU to use. 11. Operating system: A layer of software that controls the hardware resources of a computer. 12. Device driver: Software that allows an operating system to communicate with a piece of hardware. 13. Shell: A program that exposes the operating system to the user via a command line interface. 14. Secure shell (SSH) protocol: A network protocol that allows secure communication between computers. 15. Programming language: A tool that allows humans to write instructions that a computer can understand and execute. 16. Interpreted programming language: A programming language that is executed by an interpreter line by line. 17. Compiled programming language: A programming language that is converted into machine code by a compiler before execution. 18. Executable file: A file that can be run by the operating system without any extra dependencies. 19. Data type: A classification of data that determines how it can be used and what operations can be performed on it. 20. Abstraction principle: The idea of separating the details of how something works from the way it is used. 21. Syntax: The set of rules that govern the structure of a programming language. 22. Variable: A named location in memory that stores a value that can change. 23. Constant: A named location in memory that stores a value that cannot change. 24. Operator: A symbol that represents a specific operation to be performed on one or more values. 25. Control flow: The order in which instructions in a program are executed. 26. Conditional statement: A statement that executes a block of code only if a certain condition is true. 27. Loop: A block of code that is repeated until a certain condition is met. 28. Array: A data structure that stores a fixed-size sequential collection of elements of the same type. 29. Linked list: A data structure that stores a dynamic collection of elements, each of which contains a link to the next element. 30. Stack: A data structure that stores a collection of elements in a last-in, first-out (LIFO) order. 31. Queue: A data structure that stores a collection of elements in a first-in, first-out (FIFO) order. 32. Tree: A data structure that stores a hierarchical collection of elements, each of which has zero or more child elements. 33. Graph: A data structure that stores a collection of interconnected nodes and edges. 34. Hash table: A data structure that stores a collection of key-value pairs and allows efficient insertion, deletion, and lookup of values.
@theena
@theena Жыл бұрын
That was astonishingly well written, edited and generally put together. Thank you for the work you put in, Jeff. That was a trip.
@stayhungry1503
@stayhungry1503 3 ай бұрын
if you think all this is being made by one person ive got a bridge to sell you buddy
@jeskah1931
@jeskah1931 Жыл бұрын
This is amazingly put, I’m starting a Computer Science degree in October and this just explained one of my 600+ page course books in 13 minutes 😭🙌🏼
@SargeanTravis
@SargeanTravis Жыл бұрын
Textbooks, the biggest educational scam in the universe
@oskarboysen7362
@oskarboysen7362 Жыл бұрын
Computer Science: An Overview?
@wlockuz4467
@wlockuz4467 2 жыл бұрын
From "In 100 seconds" to "100 concepts". Anime tier character development right here.
@coronaklledmebot4856
@coronaklledmebot4856 2 жыл бұрын
anime is cringe
@StuckDuck
@StuckDuck 2 жыл бұрын
@@coronaklledmebot4856 nah
@robertb7003
@robertb7003 2 жыл бұрын
@@coronaklledmebot4856 yes
@coronaklledmebot4856
@coronaklledmebot4856 2 жыл бұрын
@@StuckDuck yes
@chawker67
@chawker67 2 жыл бұрын
Time for 100 concepts in 100 seconds
@germancocca958
@germancocca958 2 жыл бұрын
It's mind-blowing how you're able to explain so much in a single video, while being completely accurate, easy to understand and also funny. I think you're one of the best content creators on KZbin and this might be one of the best tech videos I've ever seen. Go Fireship!!
@ksprsky6750
@ksprsky6750 Жыл бұрын
He's not only a good programmer but also a good teacher.
@YannickMX2
@YannickMX2 Жыл бұрын
Except for IP addresses 😂 12:10
@shuaiber
@shuaiber Жыл бұрын
This is truly a work of art. Compacting all the fundamentals into a 13 minute video is a miracle.
@stayhungry1503
@stayhungry1503 3 ай бұрын
no need to schlobber all over his schlong
@dawnfire82
@dawnfire82 7 ай бұрын
There is an error at ~5:10. The Big and Little Endian examples are identical. EDIT: Also, at ~12:24, the IP address on the right is invalid. IPv4 addresses are limited to a maximum value of 255 (which is actually not available for unicast...).
@jarek-rp8mk
@jarek-rp8mk 19 күн бұрын
Not for unicast but for brotcast
@relaxxbizz7342
@relaxxbizz7342 2 жыл бұрын
thanks, legendary content. really appreciate the work you put into it
@lennart357
@lennart357 Жыл бұрын
fat money.
@ashvanth-3423
@ashvanth-3423 Жыл бұрын
money
@marian7429
@marian7429 Жыл бұрын
money
@user-kg2dn5jr6e
@user-kg2dn5jr6e Жыл бұрын
Money
@jhfdhjsdhsdjbcsjdvasjk
@jhfdhjsdhsdjbcsjdvasjk Жыл бұрын
mony
@MrGuyronen
@MrGuyronen 2 жыл бұрын
You’re just an absolute legend. I can’t even express the amount of help you provide people around the world with these videos. Truly one of a kind ❤️
@ahsanabrar880
@ahsanabrar880 2 жыл бұрын
where i can learn these concepts in details like how cpu work, pointers, how programming languages work, how kernel work, etc. Now a days tutorials mostly focus on practical part. please recommend some book or tutorial thanks.
@jaidendechon7960
@jaidendechon7960 2 жыл бұрын
@@ahsanabrar880 I would recommend just looking up “how X works” on KZbin and I’m sure you’ll find helpful videos. Such as “How CPUs work” or “How the kernel works”
@jaidendechon7960
@jaidendechon7960 2 жыл бұрын
Fireship videos are world class!
@ahsanabrar880
@ahsanabrar880 2 жыл бұрын
​@@jaidendechon7960 thanks, for a simple solution
@shashikantsingh6555
@shashikantsingh6555 2 жыл бұрын
I agree with you bro
@CaptainWhitebeard
@CaptainWhitebeard Жыл бұрын
You know, I'm currently doing my Master Degree in Computer Science and sometimes I think: I haven't learned anything during all that time. Videos like that one show, how much stuff I see as self-evident in the meantime and furthermore how much besides of these basics I got to know during University. If you're thinking about studing it, do it man! It's one of the coolest and mentally demanding things you can do and the best thing: I've heard and seen a lot of arrogant and overbearing people in other courses (especially in law and business administration) - in computer sciene it feels like most of the people are waaay more relaxed, really want to help you and it often feels more like a big family of nerds helping each other out (Stack Overflow - I love you) to fix problems without all of that pointless "I am better than you" - mindset.
@dawnfire82
@dawnfire82 7 ай бұрын
Law schools have forced curves. You can't all get As, no matter how good you are.
@kay6269
@kay6269 Жыл бұрын
I'm a senior in HS and I've taken CS for the past 2 years, & I'm so glad I can confidently say I know over 85% of the concepts shown here :)) Great video !
@jineethehandsome1608
@jineethehandsome1608 2 жыл бұрын
Congratulations on your Guinness record for teaching 100+ things in 13 minutes
@vaisakhkm783
@vaisakhkm783 2 жыл бұрын
Yes... someone should make a guinness record for the same.... most cs terns explained in 100 sec... :)
@surkesden
@surkesden 2 жыл бұрын
I don't believe that I wasted 4 years of my life for computer science degree.
@UberBossPure
@UberBossPure Жыл бұрын
@@surkesden hopefully you degree had more concepts and teached you deeply
@aethermass
@aethermass 2 жыл бұрын
I have a master’s degree in CS. This is surprisingly accurate and entertaining. The part about hashes could have been fleshed out a bit more. Aside from that, great!! Also, completely true about printers.
@HiHelloHi
@HiHelloHi 2 жыл бұрын
Recursion too, a global variable for a recursive functions base case seems terrible.
@__jan
@__jan 2 жыл бұрын
There is quite a lot in this video that could be fleshed out, but that's probably not the point
@ahsanabrar880
@ahsanabrar880 2 жыл бұрын
where i can learn these concepts in details like how cpu work, pointers, how programming languages work, how kernel work, etc. Now a days tutorials mostly focus on practical part. please recommend some book or tutorial thanks.
@HiHelloHi
@HiHelloHi 2 жыл бұрын
@@ahsanabrar880 Operating Systems: Three Easy Pieces. It's free as a PDF online. My operating systems course used it as reference material. Seems to have good reviews too
@paraboo5475
@paraboo5475 2 жыл бұрын
Pretty nice video indeed, but it's kinda funny how the first fact already contains a mistake. "In theory, Turing machines can compute anything" was proven wrong by the same guy who came up with Turing machines.
@markayzenshtadt7200
@markayzenshtadt7200 Жыл бұрын
There’s a slight mixup regarding static and dynamic languages: in a dynamic language you can actually change the type of a variable mid program. This distinction is relevant for example in scala which is statically typed, but you don’t always have to declare types since it can infer the type from the provided value.
@dawnfire82
@dawnfire82 7 ай бұрын
The video is correct. You can change data types in static typing via casting.
@Bokto1
@Bokto1 7 ай бұрын
​​@@dawnfire82no you can't. Casting does not change the type of a _variable_ , it just allows you to put _value_ into variables of a different type. In statically typed languages, a variable (name of a memory addresses set) will have the same type during its lifetime. Most of the time you are even forbidden from creating aliases of different types to the same memory locations.
@satyamsrivastava7809
@satyamsrivastava7809 Жыл бұрын
I am novice in computer science. I has been learning CS stuff since 1 year ago. Literally, You(Fireship) nailed it. You connects the CS JARGONS wonderfully and aesthetically. I loved it and understand it . Awesome work man.
@abhitruechamp
@abhitruechamp 2 жыл бұрын
5:08 The lower row of numbers would be swapped for little Endian notation
@zyansheep
@zyansheep 2 жыл бұрын
was looking for this comment
@andreiaugustin3809
@andreiaugustin3809 Жыл бұрын
Was looking for this comment too
@imperialspence5106
@imperialspence5106 2 жыл бұрын
Im wrapping up my second semester as a CSE major and I was pleasantly surprised to see that I've already learned a huge chunk of these concepts. I really love this field so far and I can't wait to learn more!
@nitin_puranik
@nitin_puranik Жыл бұрын
Finish the degree and get a job and work five years on crappy projects and watch all that feverish passion you're feeling now evaporate into thin air as you debug the same old shitcode the hundredth time 🙄
@gordonwatt
@gordonwatt Жыл бұрын
I've done four weeks of CS50x and I got to 60. All of a sudden it went way out of my wheelhouse,
@peak_911
@peak_911 5 ай бұрын
i learnt these in my school, when i was 15
@hayleybarbara1589
@hayleybarbara1589 4 ай бұрын
​@@peak_911i learned these in the womb
@highviewbarbell
@highviewbarbell 4 ай бұрын
​@@peak_911i was doing tensor analysis on manifolds as a zygote.
@AdrianGarcia-vp1tq
@AdrianGarcia-vp1tq Жыл бұрын
Thank you very much jeff, I have been a landscaper for the last ten years, for 6 months I watch at least one of your videos a day, thanks to you tomorrow I have my first interview as a software engineer
@THEWATER3UCKET
@THEWATER3UCKET 2 ай бұрын
Are you a software engineer yet?
@lathishkumar7781
@lathishkumar7781 Ай бұрын
update?
@iamthatlazygamer
@iamthatlazygamer Жыл бұрын
I just cannot fathom how well put together the entire video is!!! Great work dude!!
@adivp7
@adivp7 2 жыл бұрын
4:40 it's actually called a float because the decimal point is 'floating' instead of 'fixed'. That is float gives you variable decimal precision instead of fixed point numbers that give you fixed decimal precision.
@tapsfest23
@tapsfest23 2 жыл бұрын
He did mention that in one of his shorts.
@hannes-
@hannes- 2 жыл бұрын
12:10 also has an IP-Adress 456.7.... first thing ain't no byte Also isn't it domain name system (not service)?
@cosmicegg1283
@cosmicegg1283 2 жыл бұрын
The decimal animation was clearly implying just this lol
@cosmicegg1283
@cosmicegg1283 2 жыл бұрын
@@hannes- its also refered here as a domain name server
@imaymakesomevids
@imaymakesomevids 2 жыл бұрын
That's literally what he said
@jaredcohen9552
@jaredcohen9552 2 жыл бұрын
5:09 I think there may be an error, the same image was used twice. I believe with little endian its actually 67, 45, 23, 01 from left to right (0x100 to 0x103)
@crackwitz
@crackwitz Жыл бұрын
ye little endian means the least significant bit/byte comes first, in memory/transfer order.
@johannes.sbw-media
@johannes.sbw-media Жыл бұрын
The image is indeed wrong.
@chaoluncai4300
@chaoluncai4300 Жыл бұрын
thx for clrifying, now i can go on with one less confusion
@markoselendic9633
@markoselendic9633 Жыл бұрын
Yup
@Bretinator
@Bretinator Жыл бұрын
I love how precise he explained design patterns as just "all kinds of other ideas"
@francescagreetham1804
@francescagreetham1804 Жыл бұрын
Currently teaching myself to code and this was so helpful for solidifying ideas and concepts. Thank you
@greenbun
@greenbun 2 жыл бұрын
Not gonna lie, I’ve been feeling that hard imposter syndrome with learning to code lately, even after finishing freeCodeCamp’s JS course and feeling a bit lost but going through this entire video I can confidently say that I understand and know how to code 80% of what you mentioned here which has helped substantially with boosting my confidence that I’m on the right path. Thank you for always making such high quality, humor filled, and easy to understand videos on these topics. I also can’t overstate how helpful it is having code, images and graphics to relay such complex concepts. You’re a legend mate! 🍻
@rodrigobostelmann8137
@rodrigobostelmann8137 2 жыл бұрын
Try The Odin Project as well!
@greenbun
@greenbun 2 жыл бұрын
@@rodrigobostelmann8137 Definitely on my coming up list, I’ve been shuffling between following along to Traversy Media’s JavaScript playlist/walkthroughs and doing FCC’s courses but the Odin Project looks fantastic and already got it bookmarked to check out soon! Thank you for the recommendation! 🙌🏼
@thepurplepanda4
@thepurplepanda4 2 жыл бұрын
Well, programming is such an unbelievably small part of computer science. What he lists here has almost nothing to do with it after turing machines and basic notions of numeric representations. Truth be told, without a few years of dedicated study on things far more complicated than scripting, you almost have a right to be feeling like an imposter. Because you are, until you develop yourself. It's cool you are working on this, but you have a long, long way to go before you can call yourself anything more than a hobbyist.
@RM-xr8lq
@RM-xr8lq 2 жыл бұрын
look into CS50, it is completely free and available online, taught by Harvard/Yale every year it is their intro to computer science course, and will provide a very strong foundation. better than what you'd get in person at most highly ranked universities intro cs course actually it is really good for people with zero programming experience, or someone who has had just maybe a AP computer science/intro to programming class
@mrbaeman39lolman60
@mrbaeman39lolman60 2 жыл бұрын
How does memory work, on the gates level?
@abcdefg91111
@abcdefg91111 2 жыл бұрын
Oh wow a year of computer science just in 13 minutes.
@stachowi
@stachowi 2 жыл бұрын
school is for dummies.
@r_y_4557
@r_y_4557 Жыл бұрын
Man in 5 year of CS classes i never understood dynamic programming and you just explained it to me in literally 5 seconds
@gabrielchcosta
@gabrielchcosta Жыл бұрын
Yes. This video summed up what half of I've learned in the last 4 years in the Computer Science course at my University. I thought I would do more programming though, but they just explained the essentials, you will have to learn most of it on your own.
@ZannaCrumpet
@ZannaCrumpet 2 жыл бұрын
I'm about 2 years into teaching myself programming alongside my full time job and this is one of the best videos I've ever seen! It's the background language and contexts we don't get from tutorials or experimentation, thank you so much!
@aethrya
@aethrya Жыл бұрын
How's it going?
@passportbro904
@passportbro904 10 ай бұрын
​@@aethrya im 7 months in and plan to start applying for jobs maybe in another 3 months, just practicing all the concepts everyday, its boring, stressful, you need a reason to do this, I have one.
@Luke-qv5sr
@Luke-qv5sr 9 ай бұрын
@@passportbro904 What's your reason?
@tziotzos
@tziotzos 9 ай бұрын
This is like 4 years in university if you want to resolve all errors you encounter
@DavidCastillaGil
@DavidCastillaGil 2 жыл бұрын
This is pure gold. Straight to my reference watchlist. Thank you so much for your videos. Taking the time and effort to condensate so much knowledge into a couple of minutes. You may not go deeply into topics but these videos serve as a quick refresh for those who know, and as a starting guide for those who don't. It's really helpful for both cases and that's something I had never seen before on KZbin so keep it up, I really hope the best for your channel mate
@anomaly7278
@anomaly7278 Жыл бұрын
Pretty much everything I have learned in computer science but in just 13 minutes and free of cost.. great content
@universecode1101
@universecode1101 Жыл бұрын
Amazing job Jeff, this video can be a resource for the next 10 years. You created a new way to explain dev things
@SpikeMan277
@SpikeMan277 2 жыл бұрын
I start my first day as a Software Developer tomorrow and looking at the concepts was refreshing and made me feel ready. I liked the explanations of each of the concepts because even someone with no prior knowledge can have an idea of what you are talking about. Great teacher 👍
@yatharthshah
@yatharthshah 2 жыл бұрын
This broke down all the studying I have done for the last 5 years in a 13 minute video. Well done man.
@safalyarc4259
@safalyarc4259 Жыл бұрын
probably the best video about cs ive watched in months and that too wrapped in 13 mins, this aint no joke!
@123arskas
@123arskas Жыл бұрын
Dude that was awesome. The way you connected all the terms...Every CS student should make a chart out of this video in my opinion. Thank you
@adrianbitsinnie1537
@adrianbitsinnie1537 Жыл бұрын
Not just CS majors but IS majors too lol that was a ton of useful info!
@bboynitro
@bboynitro 3 ай бұрын
@@adrianbitsinnie1537is IS information science?
@mysandyballs
@mysandyballs 2 жыл бұрын
I cannot even imagine how long it would take to make a quality video like this! Bravo Jeff, and thank you.
@zefciu
@zefciu 2 жыл бұрын
26 - “figures out the type automatically” can also refer to type inference, which is not the same as dynamic typing. Something along the lines of “figures out the type of a variable when it is used” would be more precise.
@danielegvi
@danielegvi 2 жыл бұрын
Strong/weak typing, dynamic/static typing and explicit/inferred typing have got to be THE most massively misunderstood concepts in the entirety of computer science. So much incorrect information that's confidently regurgitated around, even by popular trusted sources.
@OFfic3R1K
@OFfic3R1K Жыл бұрын
More precise? We have an average of 1 concept per 8 seconds over here. I don't believe that your wording would make any difference to the intended viewer.
@oodee3257
@oodee3257 Жыл бұрын
Videos like this make learning a fun experience, great video!
@sunno7954
@sunno7954 Жыл бұрын
I wish I watched this video yesterday when they asked me about algorithms and recursion in an interview. This is pure gold, you're the best!
@jord_n
@jord_n 2 жыл бұрын
3:34 I think the important part of dynamic typing is that types are determined at runtime, and not at compile time. What you described is type inference, and it is not tied to dynamic languages.
@samuelswatson
@samuelswatson 2 жыл бұрын
I came here to say the same thing. Haskell, for example, is statically typed and has type inference.
@RalfVogler
@RalfVogler 2 жыл бұрын
The important point is that you can change the type of a variable. This makes it impossible to infer the type statically in all cases. So dynamic languages have the overhead of having to track the type at run-time (and can't type-check or optimize statically). It's pretty sad how popular JS & Python are while ML appeared 1973. Also crazy that TypeScript has static types and then we throw all information away and let the browser interpret JS...
@Bwallker
@Bwallker 2 жыл бұрын
@@RalfVogler This isn't entirely true either, since you can change the type of a variable in eg rust by redeclaring it.
@RalfVogler
@RalfVogler 2 жыл бұрын
@@Bwallker For the compiler it's a new variable that just uses the same name. I don't know Rust but I assume it's just shadowing the old binding or replacing it. That doesn't mean that you can change the type of a variable. In a dynamic language you could have a program point where you have a variable that has reaching definitions of different types (if random then x = 1 else x = "a") which can't happen in a static language.
@Adowrath
@Adowrath Жыл бұрын
@@RalfVogler *unless the language natively encompasses Union types, like Ceylon (though I think an associated definition is required or else inference fails, it's been a while since I've used Ceylon). Your point still stands though of course.
@AzerAnimations
@AzerAnimations 2 жыл бұрын
Love the video, and it is crazy how much more detailed these topics really are. The amount of work that was put into developing all the technologies we have right now is crazy. For example, he talked about RAM and the CPU, but the computer architecture for how we access RAM ( l1 cache, l2 cache, page table etc) and the interaction with the CPU through different channels is such a mind boggling process.
@timothymurphy4669
@timothymurphy4669 Жыл бұрын
Amazing work! I love how you strung the concepts together.
@iamtheV0RTEX
@iamtheV0RTEX Жыл бұрын
Nice summary! I would just add one more concept about recursion and the call stack at 8:03 which is that some programming languages (mostly the functional ones) include something called tail recursion (or tail call optimization). Tail recursion doesn't keep pushing onto the call stack; instead it overwrites the last call on the stack with the recursive call, which can result in potentially infinite recursion with finite memory space.
@yousefali995
@yousefali995 Жыл бұрын
If it overwrites the last call then how it returns from the call?
@iamtheV0RTEX
@iamtheV0RTEX Жыл бұрын
@@yousefali995 A stack frame consists of 1. The parameters to the function, 2. Memory allocated to hold all stack variables the function needs, and 3. The return address of the function that called it. In non-tail recursion, each recursive call allocates a new frame, with new parameters, new variable memory, and a new pointer that links back to the previous stack frame. But in tail recursion, the compiler optimizes it so each call just overwrites the previous parameters and variable allocations and reuses the return pointer, same as if you had just written a for-loop.
@thomashansknecht1898
@thomashansknecht1898 2 жыл бұрын
As someone with a Bachelors in Computer Science this video is pretty accurate and summarizes my college lessons pretty well in addition to giving me a confidence boost as I already learned 90%+ of these concepts. However, one area I definitely struggle in is printers as everyone expects me to be able to understand and fix their printers😂 Great video as always!
@corriedebeer799
@corriedebeer799 Жыл бұрын
Reminds me of this - kzbin.info/www/bejne/hGrapJ2opLufq5o&ab_channel=RP
@NuntiusLegis
@NuntiusLegis Жыл бұрын
I knew most of it as a hobbyist without any CS degree, by just having a C64 (with a lot of computer basics in the manual already) since the 80s and later having picked up some C and web programming.
@samuelmuldoon4839
@samuelmuldoon4839 Жыл бұрын
IT (Information Technology) is the study of how to fix broken computers. Computer Science is the study of how use a computer which is already in good working order. Comp Sci people are like race-car drivers and IT people are like car mechanics. If you learn both skills, then you can be a God among men.
@hermine4955
@hermine4955 Жыл бұрын
This is like the first 6 months of University, but it was definitely very accurate lol
@nikilragav
@nikilragav Жыл бұрын
Missing some discrete math, no?
@TheGitGuild
@TheGitGuild 2 жыл бұрын
I wish this video was existed when I was studying computer science. It is basically a visual dictionary of computer concepts. Brilliant!
@noir371
@noir371 Жыл бұрын
The way this flows together is honestly really impressive
@jackashii2588
@jackashii2588 Жыл бұрын
it litteraly gone throught at least 85%cof my CS degree modules and it gave all the "why" which is the most important thing out there ! Thank you again for that awesome video !!!
@ofmouseandman1316
@ofmouseandman1316 2 жыл бұрын
I love the ending: I've been developping for over 10 years now, and still there is 3 things I hate about computers -> Printers (That stop to work for no reason) -> Email setup (and all the additional shananigans that is added to "try" to prevent spam) -> Routers (that you have to plug and unplug in a certain order otherwise they can't figure out by themself how to autoretry connection to the modem)
@Sanchuniathon384
@Sanchuniathon384 2 жыл бұрын
Printers in enterprise are a legit PITA. There's thermal receipt printers, they are their own special bit of fail, and we can go on forever about the different brands and interoperability with other brands and other OSes.
@ofmouseandman1316
@ofmouseandman1316 2 жыл бұрын
@@Sanchuniathon384 I remember the Linus tries Linux videos.... when Linus is surprised that his printer works out of the box on Linux!
@michaelbooser2316
@michaelbooser2316 2 жыл бұрын
Wonderful, more please! As a cs major your language videos have been great for figuring out which languages I want to try in the future, and other videos have been great review material! Thanks Fireship!
@ranitchatterjee5060
@ranitchatterjee5060 Жыл бұрын
The way he went through all the concepts tells us how well he knows it all.
@phoneix24886
@phoneix24886 Жыл бұрын
This is 1st sem of cs engineering syllabus crammed into a 15 mins video. Great job. Heard of the term Nibble after a long time!
@mdzaidsiddiqui4262
@mdzaidsiddiqui4262 2 жыл бұрын
This video taught me more than my CS teacher in school ever could. Thanks for the amazing content man!
@VampiresDarkCreed
@VampiresDarkCreed 2 жыл бұрын
My multi thousand dollar college journey in a 13 min video. 😭 Great video for topic reminders and to better inform me on other certain topics
@gibbyhart3203
@gibbyhart3203 Жыл бұрын
Clear and concise with plenty of prompts for further research. Keep it up!
@RayanMADAO
@RayanMADAO Жыл бұрын
Absolutely brilliant video. Helped me visualize all the concepts I've been learning and put them together
@br19_yt
@br19_yt 2 жыл бұрын
You just summarized my whole 4 years in college in just 13 mins 😮, great job 👏🏻
@Nerdimo
@Nerdimo 2 жыл бұрын
Great Video! It's really cool to see how different people have come with these ideas of structure that helped us create the internet. Knowing them is extremely important and It's great to have people like you sharing this content
@665Iron
@665Iron 11 ай бұрын
You summed me up my entire CS career. I brought me memories! Nowadays you used to forget most of thst stuff, it hapoens the more you keep working
@nilanjanmukhopadhyay8369
@nilanjanmukhopadhyay8369 Жыл бұрын
I have been learning about programming and CS from 2020 on my own and it feels really good that I already knew almost all the concepts mentioned here, barring Little Endian and Big Endian.
@Skuiggly
@Skuiggly 2 жыл бұрын
This is such an amazing summary of information. It really is incredible how succinctly you can explain these concepts.
@How-To-Premium
@How-To-Premium 2 жыл бұрын
I feel like I learned more about OS in this 13 minute video than I did an entire semester of Operating Systems...
@simonmeier
@simonmeier Жыл бұрын
Amazing how well made your 101 videos are, great job.
@PropurtysChannel
@PropurtysChannel Жыл бұрын
I did CS in college for a year as a sophomore. I ended up doing a medical drop due to my health and it has been about 4 years since. I had to get on disability because I couldn't work, so I eventually decided to try and do a bootcamp, to at least hopefully start a career remotely that I can do whether I am sick or not. All that to say I chose a part time 6 month Fullstack Academy web dev bootcamp and it has taught me so much in a very short amount of time. I learned far more in the 2+ months I've been in it than the full year of CS classes. My CS classes used Java and they did not teach you how to use it at all. It had to be self taught and I did not expect that going into it. It was a huge challenge trying to keep up with learning the language while completing the required work. Most of the students had experience coding already which made their ability to absorb what was being taught way easier. After 4 years I had basically forgotten most of what I had learned syntax wise. So starting the bootcamp I was essentially a noob. But man not to advertise for them, but my instructors are awesome and like I said I have learned so much more than I ever could have alone. At least in a short amount of time like this. I'd say the course itself has taught 95% of these concepts. But I am only 2 months in out of 6 months. So here's hoping my coding career is fruitful and I can get my life back on track. Good luck to anyone else trying to get into this field!
@MrJfergs
@MrJfergs Жыл бұрын
Hey dude I hope things are going well.
@ZenithSound
@ZenithSound Жыл бұрын
been 4 months since you post this. hope u doing great!
@banane2279
@banane2279 Жыл бұрын
Best of luck to you!
@liandyardi7283
@liandyardi7283 9 ай бұрын
Hey i hope you're doing great, best of luck dude
@harshsubhan2911
@harshsubhan2911 2 жыл бұрын
A lot of information packed in only 13 minutes.Impressive man.
@sharbelokzan9673
@sharbelokzan9673 2 жыл бұрын
"It's called a shell because it wraps the kernal" I know what a kernal and shell are, but surprisingly never realized that refrence.
@samuelmuldoon4839
@samuelmuldoon4839 Жыл бұрын
I like to think of the shell as a plastic weapper around a piece of candy. 🍬
@BernhardStrohmayer
@BernhardStrohmayer Жыл бұрын
Years of knowledge compressed into a few minutes. Great.
@AllanDaemon
@AllanDaemon Жыл бұрын
0:41 Correction: A Turing Machine cannot compute anything. There are problems that are not computable. They're called "undecidable over Turing machines"
@High972
@High972 2 жыл бұрын
Great video ! 12:22 The server IP address, is not valid. An IP address (v4) is composed of 4 parts of 8 bits, so the biggest decimal number is 255.
@randomgeocacher
@randomgeocacher 2 жыл бұрын
Fairly sure he spammed a bunch of minor but obvious errors to get engagement. Calling TLS SSL is another. Difference between name and URL also got a bit confused. I attribute at least 50% of this as intentional engagement baiting rather than true mistakes :)
@brianmorin
@brianmorin Жыл бұрын
Going from OOP to Inheritance to the the gang of 4 book is another. Design patterns prefer composition over inheritance.
@philippebaillargeon5204
@philippebaillargeon5204 Жыл бұрын
@@randomgeocacher To be fair SSL was more of an inacurracy than an error, since it was the protocol used before TLS and basically is the same thing. They just changed the name when the Internet Engineering Taskforce decided to improve the protocol. But technically speaking you are right.
@snooks5607
@snooks5607 Жыл бұрын
also 12:12 domain name is a part of URL not alias to one
@slinkychungus2044
@slinkychungus2044 Жыл бұрын
@@philippebaillargeon5204 People use SSL interchangeably with TLS. Or they say SSL/TLS.
@gabrieldoon
@gabrieldoon 2 жыл бұрын
I'm graduating with my CS degree next Friday, but I'm still watching this video because there's absolutely no way I'm skipping a single Fireship video.
@ihsankurniawan3591
@ihsankurniawan3591 2 жыл бұрын
Congrats bro!
@marcfiliuta
@marcfiliuta Жыл бұрын
This is EXACTLY what I needed. Precisely what I needed. Thanks!!!!
@Izzat-bj1le
@Izzat-bj1le Жыл бұрын
I just forgot the reason why I went to University
@mo_mo1995
@mo_mo1995 2 жыл бұрын
12:13 The description here fits more to "Domain Name" instead of "URL". IP address is aliased to a domain name instead of a URL. DNS stores domain names instead of URL.
@christianrodrigues1965
@christianrodrigues1965 2 жыл бұрын
this video is so incredibly useful and informative, especially as a beginner software developer. thank you so much
@cubeslice
@cubeslice Жыл бұрын
This video basically summarized a year of basic EE and intermediate CS at my university. Amazing video.
@calculatedcustoms
@calculatedcustoms Жыл бұрын
The succinct style of this Computer Science summary is so refreshing compared to most of the fluff on KZbin. Just awesome.
@zex992001
@zex992001 2 жыл бұрын
This was the whole 4 years of university explained in 13 minutes! This was fantastic!
@quentinlauterbach
@quentinlauterbach 2 жыл бұрын
this is such a great video. Really well thought trough structure and sequence of topics. Also Everything concise and to the point. I love it! (Kinda proud of myself for knowing each of the Concepts aswell^^)
@tophearthbender675
@tophearthbender675 Жыл бұрын
My guy just summarized the whole 4 years of my cs degree in just 13 mins. You're a genius!
@ELStalky
@ELStalky Жыл бұрын
3:40 Statically typed does not necessarily mean that types need to be specified, it just means that types are fixed/checked at compile time. Many functional languages are statically typed but use type inference extensively.
@crowlsyong
@crowlsyong 2 жыл бұрын
Not even 30 seconds in and this is insanely accurate, I'm laughing, I'm crying, I'm learning. I'm experiencing an entire lifetime of emotions. Amazing videos man. lol keep up the great work. Thank you so much. -noob developer/designer
@FilledStacks
@FilledStacks 2 жыл бұрын
Great video! Always inspiring to see how you bring our world to a larger audience.
@melanovapedia7924
@melanovapedia7924 Жыл бұрын
Unbelievable! This neat, simple and understandable. Thanks firehip 🔥🥳
@mustanggt5713
@mustanggt5713 Жыл бұрын
Woah that was one hell of an educational video on computer science is such less time . I have a masters in computer science but have forgotten a lot of the fundamentals. Thanks for igniting the fire to relearn . I appreciate you .
@me_rinta
@me_rinta 2 жыл бұрын
You are incredible! I can’t imagine how difficult was putting all of this info together and make it flow into one another. This was both informative and a blast to watch 🔥
@abuaisha93
@abuaisha93 2 жыл бұрын
actually in 3:48 you should use double quotes for character array
@theanswer1993
@theanswer1993 Жыл бұрын
This did a summary of my 3 years at university. Great job!
@nikobaehr3638
@nikobaehr3638 Жыл бұрын
Damn a 13min video clarified the general definitions of 100 CS terms better than the 3 years in my CS degree program. Thank you.
@CuriousAnonDev
@CuriousAnonDev 2 жыл бұрын
Amazing video Loved it After a hectic day wasting all time in college and not learning anything, just to get a degree This video was somewhat like, yeah atleast I did *something* productive Maybe more videos like, you explaining solutions to some tricky questions, or explaining some data structure or algo in few minutes?
@ericsigne6575
@ericsigne6575 2 жыл бұрын
Love how seamless the transition between concepts is. And am I the only one who just learned about big and little endian??
@Zeero3846
@Zeero3846 2 жыл бұрын
They'll be an ever present concern when you're dealing with binary data formats and protocols. Also, text encoding formats that involve multi-byte characters.
@HeadRecieverAtHeadOffice
@HeadRecieverAtHeadOffice Жыл бұрын
That was amazing, just finished first year comp sci and am pleasantly suprised I understand basically all of this now
@shivamchoudhary9556
@shivamchoudhary9556 Жыл бұрын
The flow of the terms and connection is amazing.
@abubalo
@abubalo 2 жыл бұрын
Just when you thought Jeff has no new content to feed us, he caught off guard with a new banger series.
@schophi
@schophi Жыл бұрын
This is a masterpiece of a video
@TheGreatWhiteNope
@TheGreatWhiteNope Жыл бұрын
Thank you! I've been searching for a channel like this for 4 months!
@salal_guitar5583
@salal_guitar5583 Жыл бұрын
Thanks for this great overview! I could be wrong, but my understanding is that memoization is useful in that factorial example primarily if you want to call the same ‘factorial’ function multiple times. I.E. on subsequent function calls you can access values that were calculated and stored in the ‘memo’ dictionary during previous function calls. To my knowledge this is a key difference from the benefit of memoization applied to the common application of calculating the Fibonacci sequence, where in that case memoization actually saves time the first time the function is called (compared to a basic recursive approach without memoization). Just adding in case this helps anyone who was confused by that slide - feel free to comment if I’ve missed something.
100+ Web Development Things you Should Know
13:18
Fireship
Рет қаралды 1,3 МЛН
Everything git in 120 seconds
1:40
WorkCoder
Рет қаралды 253
Süper ❤️ Cute 💕💃 #dance
00:13
Koray Zeynep
Рет қаралды 20 МЛН
ONE MORE SUBSCRIBER FOR 4 MILLION!
00:28
Horror Skunx
Рет қаралды 35 МЛН
Kick Awesome
00:58
Russo
Рет қаралды 103 МЛН
How to get rich as a solo software developer - The Ultimate Guide
8:51
10 Math Concepts for Programmers
9:32
Fireship
Рет қаралды 1,7 МЛН
Reacting to Controversial Opinions of Software Engineers
9:18
Fireship
Рет қаралды 1,9 МЛН
Computer Scientist Answers Computer Questions From Twitter
14:27
The most useless degrees…
11:29
Shane Hummus
Рет қаралды 3,7 МЛН
You probably won’t survive 2024... Top 10 Tech Trends
8:56
Fireship
Рет қаралды 1,6 МЛН
How I would learn to code (If I could start over)
9:16
Jason Goodison
Рет қаралды 4,3 МЛН
100+ JavaScript Concepts you Need to Know
12:24
Fireship
Рет қаралды 1,8 МЛН
How to NOT Fail a Technical Interview
8:26
Fireship
Рет қаралды 1,2 МЛН
The Math Needed for Computer Science
14:54
Zach Star
Рет қаралды 2,2 МЛН
Робот зарядка на 65W🤖
0:36
serg1us
Рет қаралды 1,6 МЛН
Is the iPhone "Illegal?"
13:32
Marques Brownlee
Рет қаралды 3,3 МЛН
Infrared Soldering Iron from Cigarette Lighter
0:58
ALABAYCHIC
Рет қаралды 1,3 МЛН
Интел подвинься, ARM уже в ПК!
14:06
PRO Hi-Tech
Рет қаралды 72 М.
Почему iPhone ярче? #apple #iphone
0:46
Не шарю!
Рет қаралды 406 М.