10 Math Concepts for Programmers

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 พ.ค. 2024
  • Learn 10 essential math concepts for software engineering and technical interviews. Understand how programmers use mathematics in fields like AI, game dev, crypto, machine learning, and more.
    #math #programming #top10
    💬 Chat with Me on Discord
    / discord
    🔗 Resources
    Computer Science 101 • 100+ Computer Science ...
    Cryptography for Developers • 7 Cryptography Concept...
    Technical Interview Prep • How to NOT Fail a Tech...
    📚 Chapters
    🔥 Get More Content - Upgrade to PRO
    Upgrade at fireship.io/pro
    Use code YT25 for 25% off PRO access
    🎨 My Editor Settings
    - Atom One Dark
    - vscode-icons
    - Fira Code Font
    🔖 Topics Covered
    - Do programmers need math?
    - Math tutorial for programming
    - Machine learning math
    - Do computer hackers use math?
    - Linear algebra for programmers
    - Boolean Algebra explained
    - Combinatorics explained
    - How does Big-O notation work
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 2.2K

  • @thecow7273
    @thecow7273 ปีที่แล้ว +4351

    Mathematics are the result of mysterious powers that nobody understands, and which the unconscious recognition of beauty must play an important part. Out of an infinity of designs, a mathematician chooses one pattern for beauty's sake and brings it down to earth.

    • @ceneo12
      @ceneo12 ปีที่แล้ว +112

      congrats I guess, how you so fast I only got half way through

    • @ApplePi1
      @ApplePi1 ปีที่แล้ว +56

      God damn it.

    • @Fireship
      @Fireship  ปีที่แล้ว +400

      That was quick! Email me from this account at hello@fireship.io with your size & shipping details.

    • @arczi1537
      @arczi1537 ปีที่แล้ว +17

      wow, that's fast

    • @daskampffredchen9242
      @daskampffredchen9242 ปีที่แล้ว +50

      Was it just using Base64 for the Text between topics?

  • @yadneshkhode3091
    @yadneshkhode3091 ปีที่แล้ว +4450

    1. Boolean algebra
    2. Numeral systems
    3. Floating points
    4. Logarithms
    5. Set Theory
    6. Combinatorics
    7. Graph Theory
    8. Complexity Theory
    9. Statistics
    10. Linear Algebra
    Interestingly i learned all of these in college but barely remember anything.

    • @Rawi888
      @Rawi888 ปีที่แล้ว +316

      I’m learning them in college right now and I legitimately want to forget it all.

    • @testolog
      @testolog ปีที่แล้ว +49

      Same, but I remeber how to work with matrix, but don't know how to calculate complexity)

    • @midahe5548
      @midahe5548 ปีที่แล้ว +150

      @@Rawi888 and when you will need them, you will hate the you from today that wanted to forget it :)

    • @Snbd26th
      @Snbd26th ปีที่แล้ว +6

      Same here

    • @SamehMustafa007
      @SamehMustafa007 ปีที่แล้ว +14

      Truth, Barely remember anything🫨, how I wish to return all this again and study it 🤯.

  • @chris-pee
    @chris-pee ปีที่แล้ว +1050

    Small correction: the Big O notation doesn't specify how fast something is. A constant time complexity of O(1) doesn't mean that the operation/algorithm is fast, but that the speed is constant as the input scales. As a consequence, an O(n^2) algo can be faster than an O(n) algo, for some range of small inputs.

    • @pawer122
      @pawer122 ปีที่แล้ว +51

      Besides this notation is overly used and too often big theta and big omega notations are omitted. Big O is the worst case scenario complexity, it does not make much sense for algorithms which don't do conditional breaks and skips inside a loop.

    • @markpeschel8958
      @markpeschel8958 ปีที่แล้ว +37

      @@pawer122 That's not quite true. You're right that O(f) is an imprecise "worst case" complexity, but not because some algorithms can skip conditionals or loops.
      O(f(n)) means precisely "the set of all functions g(n) such that there exist some constants c and n0 such that, for all n >= n0, f(n)

    • @Daniel_WR_Hart
      @Daniel_WR_Hart ปีที่แล้ว +3

      @@markpeschel8958 there is also little o and little omega notation to consider

    • @aintaintaword666
      @aintaintaword666 ปีที่แล้ว +4

      O(n^2) can be faster than O(n) only if you manage to find a way to run the program for zero point something times

    • @chris-pee
      @chris-pee ปีที่แล้ว +38

      @@aintaintaword666 Absolutely wrong

  • @Chiaros
    @Chiaros 7 หลายเดือนก่อน +109

    Dude, your examples are so much better than anything we ever got at school. I kinda wanna become a teacher just to be as good as you one day.

    • @stayhungry1503
      @stayhungry1503 4 หลายเดือนก่อน +3

      whats the point? within 1-2 years AI will outperform us in every way possible.

    • @beatre
      @beatre 4 หลายเดือนก่อน +6

      @@stayhungry1503 maybe some people will still prefer human teachers, and maybe the whole point of doing something we want is self satisfaction

    • @babelboy-akababz2889
      @babelboy-akababz2889 4 หลายเดือนก่อน +1

      Fuckin ayyye.
      Let machines do the work whilst we do what we actually want to do.
      @@beatre

  • @bekakilov9656
    @bekakilov9656 ปีที่แล้ว +532

    In my opinion the most important math class for programmers is discrete mathematics. They helped me understand recursion and stuff like that mathematically

    • @TwitchCronos100
      @TwitchCronos100 ปีที่แล้ว +38

      True, discrete maths was the only class I actually found enjoyable back in the day, and after school I went into programming.

    • @roberleyrodrigues9769
      @roberleyrodrigues9769 ปีที่แล้ว +88

      @@TwitchCronos100 you guys are crazy, that shit made me leave my university course

    • @pattytheratty
      @pattytheratty ปีที่แล้ว +23

      @@roberleyrodrigues9769 discrete math was my favorite math class ive taken 💀and I hate math, linear algebra was fucked. Probably because my discrete prof was a real G

    • @omarabdulla1296
      @omarabdulla1296 ปีที่แล้ว +3

      @@roberleyrodrigues9769I wanna drop discrete math too

    • @nielsholmlassen8275
      @nielsholmlassen8275 ปีที่แล้ว +12

      Programming is just recursion a lot of the time, so I think it's the most important concept for programming.

  • @attmultimedia67
    @attmultimedia67 ปีที่แล้ว +1580

    As a Asian Student, I can confirm you that we have learned all those math without knowing any use of it. 🙂

    • @thatsalot3577
      @thatsalot3577 ปีที่แล้ว +135

      Yeah because we have sh*t ton of entrance exams to crack

    • @n0madfernan257
      @n0madfernan257 ปีที่แล้ว +116

      yes, the teacher just teach them without no real world use case scenarios.

    • @patelmalavdev
      @patelmalavdev ปีที่แล้ว +8

      +1

    • @hust_sami_slave
      @hust_sami_slave ปีที่แล้ว +78

      me learning all those subject in college then forgot all in lightspeed when the semester end

    • @piyushpanpaliya
      @piyushpanpaliya ปีที่แล้ว

      +1

  • @kecvu
    @kecvu ปีที่แล้ว +9

    I'm currently studying Graph Theory for a test in the 2nd year of uni. And looking at my future classes everything matches up to what you said in this video! Amazing.

  • @pneumaofficial9581
    @pneumaofficial9581 11 หลายเดือนก่อน +193

    I hated math in school, I avoided learning complex equations and algorithms when first learning to program, but once I saw a few of Sebastian Lagues videos where he does stuff in Unity, and started messing around with equations and learning to translate them from paper to code, I literally began to feel like I'm casting magic. Its so amazing what just a few dependent variables can change

    • @ChivGmail
      @ChivGmail 11 หลายเดือนก่อน +60

      Some people require an actual use case for their brain to be willing to learn something. Which is a shit thing to have in school, but it is what it is.

    • @Bluemoon_wav
      @Bluemoon_wav 11 หลายเดือนก่อน +22

      @@ChivGmailI am that kind of person, also same with math I literally swore to never do math again since high school, here I am happily binge watching math related videos

    • @ChivGmail
      @ChivGmail 11 หลายเดือนก่อน +33

      @@Bluemoon_wav I feel like a lot of interesting subjects are ruined by our current educational system. Our system isn't about learning, it's about seeing how good you are at forcing yourself to remember stuff you're not interested in.

    • @do_not_at_me_bro
      @do_not_at_me_bro 11 หลายเดือนก่อน +7

      ​@@ChivGmail I agree. A person cannot simply retain a textbook of information at all times, the amount of information we retain are limited to capacity and how long we can retain that information for. As the environment and times we are in changes, so does our selection of information that we retain in a given place at a given time. The only information we retain is that which is most relevant to our situation and where our attention is focussed. While I am driving, I do not retain the words Shakespeare invented, because that information is not relevant to the situation I am in. When you go to a library to study a subject, you select books that are relevant to what you are studying. Yes all that information is stored in our memory like books in a library, but the point is our brain selects information from that memory that is relevant to the situation a person is in, the time and place and the environment. I could explain on more levels like how the retained information can be compiled to make a plate of decisions to choose from, and how we can assess those decisions before making a judgement which would cause us to do a thing, but I'll leave you with this thought. Humans learn by their own sensemaking.

    • @iothemighty
      @iothemighty 10 หลายเดือนก่อน

      Do you have any particular videos you would recommend?

  • @DK-ox7ze
    @DK-ox7ze ปีที่แล้ว +1532

    Please do more such videos on computer science fundamentals. Like how compilers work, how interrupts work, internal working of CPU, network fundamentals, OS fundamentals, etc.

    • @mrgalaxy396
      @mrgalaxy396 ปีที่แล้ว +132

      Basically a 4 year CS/CE degree in a nutshell series. Great to refresh your memory on certain concepts or to introduce them to someone for the first time so they can go on to dive deeper on their own.

    • @universaltoons
      @universaltoons ปีที่แล้ว +10

      fireship ruIe 34

    • @nbme-answers
      @nbme-answers ปีที่แล้ว +23

      These topics are not how fireship got huge. They are important .. fundamental .. but not the primary concern of 2M+ working devs

    • @blitzedoblivion4280
      @blitzedoblivion4280 ปีที่แล้ว +5

      And data structure

    • @skyhappy
      @skyhappy ปีที่แล้ว +9

      ​@@mrgalaxy396 4 year degrees don't cover this is in much depth, surface level at most, I go to a "top" uni and the professors are not good at teaching and aren't usually experts. Reading a textbook on the topic, or even better, a video course with animations made by a expert is better. Georgia Tech for example has a free online video course on OS that's well made

  • @Vivek2062
    @Vivek2062 ปีที่แล้ว +758

    In an era of AI related content on this channel, I'm so relaxed to see a normal non-AI video recently!

    • @Vivek2062
      @Vivek2062 ปีที่แล้ว +6

      @@uqams 😂😂

    • @Siroitin
      @Siroitin ปีที่แล้ว +35

      All the stuff in this video is important for AI modeling, especially Bayesian statistics but thank god Fireship didn't go any deeper on that subject.

    • @Yusaq
      @Yusaq ปีที่แล้ว +5

      linear algebira is using for ai

    • @XDarkGreyX
      @XDarkGreyX ปีที่แล้ว +4

      This kind of comment is getting almost as old as the AI content.

    • @ogredev
      @ogredev ปีที่แล้ว +3

      Have you tried MathGPT?

  • @codingphysics695
    @codingphysics695 ปีที่แล้ว +281

    More math concepts for programmers:
    - Modular arithmetic (RSA encryption)
    - Differential geometry (smooth surfaces and curves)
    - Lambda calculus (functional programming)
    - Fourier transformation (image/audio compression & filtering)
    - Information theory (data compression)
    - Game theory (artifical intelligence)
    - Quaternions (computer graphics)

    • @angeloid_
      @angeloid_ 9 หลายเดือนก่อน +19

      OK STOP JUST GIVE ME THE ELECTRIC CHAIR ALREADY 😭

    • @konstantinsotov6251
      @konstantinsotov6251 8 หลายเดือนก่อน

      And now for the grand question
      Where tf do you learn all of that if your school sucks...

    • @kevintech7457
      @kevintech7457 6 หลายเดือนก่อน

      ​@@konstantinsotov6251 on TH-cam brother. Pull out a notebook and pencil. Write down everything like it's a lesson. When you encounter deeper topics within a larger topic, pause that video and go study that thing until you can return to the same video and keep watching with an understanding. Me personally, I'm building computers in minecraft and I've been coming up with a shape identifying algorithm, this forces me to learn what I "need" to know before I can continue it's design In the Minecraft world.

    • @kevintech7457
      @kevintech7457 6 หลายเดือนก่อน +2

      To OP, thanks for noting these other topics.

    • @justinrivera7674
      @justinrivera7674 5 หลายเดือนก่อน +1

      1. Boolean algebra
      2. Numeral systems
      3. Floating points
      4. Logarithms
      5. Set Theory
      6. Combinatorics
      7. Graph Theory
      8. Complexity Theory
      9. Statistics
      10. Linear Algebra

  • @fastcalendar
    @fastcalendar ปีที่แล้ว +32

    Very interesting and informative video. Very rarely does fireship ever miss, but some videos feel like they fall into a more repetitive format of namedropping a bunch of languages and frameworks loosely tied to a relevant topic. You're very good at explaining topics that can be hard to visualize, I hope you do more videos on general concepts

  • @eliavrad2845
    @eliavrad2845 ปีที่แล้ว +366

    4:10 In math it's more common to use a different base (ln(x)), but it's easy to change by multiplying the result by a factor, so it's not really important if you're working in base 2, 10, or Euler's number.

    • @ladymercy5275
      @ladymercy5275 ปีที่แล้ว +21

      Log base 2 of x is ln(x)/ln(2).
      Log base 10 of x is ln(x)/ln(10).

    • @eliavrad2845
      @eliavrad2845 ปีที่แล้ว +23

      @@ladymercy5275 Yep! and for completeness, ln(x) = log10(x)/Log10(e).
      This means that an algorithm which is O(n log10(n)) is the same as O(nlog2(n)), because nlog10(n)=nlog2(n)/log2(10), and we ignore any constant factors in O notation O(Cn)==O(n).
      When we want to look at an algorithm, we can choose whichever base is most convenient, like using logarithms in base 3 to describe a tree with 3 children per node.

    • @obviouslyblack
      @obviouslyblack ปีที่แล้ว +18

      yeah. base e stuff is MUCH more common in math because it was discovered through math itself and has a ton of beatiful properties built in.
      base 10 stuff is there for just for convenience of humans who count with 10 fingers and base 2 stuff is convenient for computers that count with on/off switches.

    • @stonebubbleprivat
      @stonebubbleprivat ปีที่แล้ว +6

      Thanks! We never used base 10 in calculus

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 ปีที่แล้ว +4

      In the Ada programming language, you can write integer literals in any base from 2 to 36. Don’t you wish more languages had that feature?

  • @ChadDoebelin
    @ChadDoebelin ปีที่แล้ว +29

    I love this! You did a really good job making these subjects relatable and show how important they are in computer science and software engineering.

  • @vladimirmijatovic4171
    @vladimirmijatovic4171 ปีที่แล้ว +8

    This was one of the most important and interesting videos of my (fresh) coding career and even my whole education. I wish I had teachers that could share their knowledge in this way because I could rarely connect to them and had to learn the things on my own(the hard way). Thanks again, I wish I could subscribe more times as my behind is too poor to give any other kind of support.

    • @passportbro904
      @passportbro904 9 หลายเดือนก่อน

      Same bro, im gonna learn all of these concepts in a few days using chatgpt and put it on my resume, why not? I can always go back to Google or ai for further help in the future if needed.

  • @officialcommentcheckerofth9703
    @officialcommentcheckerofth9703 ปีที่แล้ว +5

    As a first year undergrad studying Applied Math who has much interest in Computers, I enjoyed this video a lot! I'm currently studying Abstract Algebra and boy that thing is so tough to grasp.

  • @NilesMontblair
    @NilesMontblair ปีที่แล้ว +11

    I've taken some combinatorics classes as a part of my math minor while I finish up my computer science degree. Taking combinatorics has changed the way I think about programming problems. The part I like about it the most is how different it is than other higher level math classes. You don't need to know a lot of any other math to jump in and learn it!

  • @nemoteric
    @nemoteric ปีที่แล้ว +15

    Your videos always feel like a freaking mind reader. Scans mind. Sees things that are a bit shaky. Explains them in easy to understand way that is also entertaining. Huge props! 😂

  • @sourraabhcy_p
    @sourraabhcy_p 4 หลายเดือนก่อน +3

    that log cut in half analogy was so practical and good. m never forgetting log graph in my life

  • @TheEvilWalrusLord
    @TheEvilWalrusLord ปีที่แล้ว +11

    I paused the video in the middle just to say, that was the greatest explanation of logarithmic functions I've ever seen in my entire life, thank you for gracing me with that analogy and visual

    • @sirplayalot
      @sirplayalot 11 หลายเดือนก่อน +1

      Hell yeah man!! That shit clicked instantly... I can believe I used to just memorise this while not really understanding anything..

  • @sreedev
    @sreedev ปีที่แล้ว +55

    Functional programming is still very closely attached to its mathematical roots and it makes programming experience beautiful.

    • @pattytheratty
      @pattytheratty ปีที่แล้ว +13

      bro when i first started coding and realized the functions were like math functions everything clicked 😩

    • @seriouslyWeird
      @seriouslyWeird ปีที่แล้ว +1

      and painful

  • @avi12
    @avi12 ปีที่แล้ว +6

    I'm a university student studying some math courses and currently studying statistics
    This video is amazing at revealing how my studies are linked to computer science

  • @ehza
    @ehza ปีที่แล้ว

    Nice. Thanks man. Please never stop these sorta videos. I am fond of this type of stuff.

  • @HolyRamanRajya
    @HolyRamanRajya ปีที่แล้ว +3

    As someone who started off in PL/SQL with Procedural querying using Cursors, newer gen people don't realise how beautiful Set Based operations are in regards to modern SQL, Hashsets, Functional Programming, GroupJoins etc; and its beautiful how it immediately clicks in our brains when we commit to these.
    E.g imagine a baby given those shape to socket toys, the baby doesn't go through it iteratively, but rather already computes in sets(shapes and sockets) and performs map or fold in one go.

  • @3mro_coding
    @3mro_coding ปีที่แล้ว +3

    I've studied all of this while doing my UG and PG never found some one that summarize the overall concept of these topics in short video like this. Hat off bro.

  • @thatsalot3577
    @thatsalot3577 ปีที่แล้ว +13

    As a person who skipped linear algebra and trigonometry and jumped directly into gamedev, I'd suggest you to focus on your maths if you truly wanna build something breathtaking.

    • @nightflared
      @nightflared ปีที่แล้ว +1

      I made both 2d/3d games, and I think you don't need it so often. Game engines already done most of the maths for you, unless you want to create your own engine from scratch

    • @thatsalot3577
      @thatsalot3577 ปีที่แล้ว +2

      @@nightflared I mean it kinda does when you're building things other than platformers and fps shooters, especially doing things without tutorial and I'm taking mostly about 3d

    • @Vytor_01
      @Vytor_01 ปีที่แล้ว

      i like trigonometry

  • @val78787
    @val78787 16 วันที่ผ่านมา

    Excellent video! Really well done, I appreciate the information and memes a lot!

  • @franciscocordeiro8080
    @franciscocordeiro8080 ปีที่แล้ว +177

    I feel like if teachers introduced some concepts as you introduced them here ppl would understand some things way faster, you've done some really nice visual aids, good job!

    • @franciscocordeiro8080
      @franciscocordeiro8080 ปีที่แล้ว +7

      @@user-if1de8pt2j My comment refers to the benefits of visual aids in explaining a subject, which you seem to have misunderstood

    • @marloelefant7500
      @marloelefant7500 ปีที่แล้ว +3

      If my teacher would introduce some concepts like he introduces them here, I would be completely lost. He's simply too fast and his introductions are very, very, very, very high-level, as if you'd only read the first sentence of a Wikipedia article to understand something.

    • @franciscocordeiro8080
      @franciscocordeiro8080 ปีที่แล้ว +4

      @@marloelefant7500 missing my point, again, I am referring to the visual aids
      of course it's not the content of it, it's the concept of beginning with simple visual aids and going from there

    • @mygills3050
      @mygills3050 ปีที่แล้ว +1

      check out 3blue1brown

    • @AugustusCheeser
      @AugustusCheeser 8 หลายเดือนก่อน

      ​@@franciscocordeiro8080look, he doesn't get that unless you explain to him the way a Wikipedia topic is elaborated, he told you that

  • @qusayalawneh1963
    @qusayalawneh1963 ปีที่แล้ว +5

    This is the first time I understood logarithms thanks alot, I think this will 'stick' with me for some time before I forget it

  • @culpritdesign
    @culpritdesign ปีที่แล้ว +7

    Vector vs Scalar quantities are pretty excellent to know when thinking about useful analytics. I'm so happy you mentioned them!

  • @ahmadwael8541
    @ahmadwael8541 ปีที่แล้ว

    I love that you give us as an expert that overall picture of our future path, and releives me a lot, thank u

  • @xrexy
    @xrexy ปีที่แล้ว +1

    This video does wonders... been procrastinating a few tasks today but the instant I clicked on this video I instantly jumped and started working on them

  • @rodneygraham5532
    @rodneygraham5532 ปีที่แล้ว +185

    Dude this video is super cool because you were able to explain these concepts in a much simpler and easier to digest way than most of my professors did. It also makes me feel better as I see that while I'm not an expert in every concept, I'm familiar with all of them making me feel way less stupid 😅

    • @skun406
      @skun406 ปีที่แล้ว +10

      The professors tried to lead you deeper into the Dunning-Kruger curve...

    • @pr3cious193
      @pr3cious193 ปีที่แล้ว

      I was just about to say this, I wishing my teachers explained math like this when I was in school

    • @ViktorWingqvist
      @ViktorWingqvist ปีที่แล้ว +16

      Please do understand that this video is an extreme simplification of the most basic concepts.
      Dont be fooled that this is even a decent, however indeed entertaining, quick recap, if you truly want or need to master these concepts and their applications.

    • @johnhamirkarim3696
      @johnhamirkarim3696 ปีที่แล้ว

      ​@@ViktorWingqvist this, and also the fact that everyone expects earning a degree in computer science just means attending some codecamp

  • @MasterGeekMX
    @MasterGeekMX ปีที่แล้ว +6

    As a COmputer Sciences grad student, I had to take a course on every single subject mentioned (and more like calculus, numeric methods, group theory, differential equations and even some basic physics).

  • @Beowulf-sn8ir
    @Beowulf-sn8ir 7 หลายเดือนก่อน +1

    Mathematicians will unironically say something like "The volume of a superegg can be derived via squigonometry, a generalization of trigonometry to squircles. It is related to the gamma function" and expect people to understand.

  • @pinkiepingas
    @pinkiepingas 10 หลายเดือนก่อน +1

    You explained logarithmic functions in a way that no upper level or university class ever was able to. Congratulations, you did what a professor could not.

  • @JessehTheProphet
    @JessehTheProphet 11 หลายเดือนก่อน +16

    Love your videos! I am a software angineer who almost finished a degree in Mathematics with researchs in advanced boolean algebra before going back to CS in university, and it made my passion for programming only grow more and more! Now I'm finishing my graduation's final paper on Functional Programming and Category theory!

    • @romancandlefight1144
      @romancandlefight1144 11 หลายเดือนก่อน

      Angina is dangerous man good luck

    • @fahadalghamdi9316
      @fahadalghamdi9316 11 หลายเดือนก่อน

      I wish you success and joy. Good luck out there champ.

  • @venkyakshaya
    @venkyakshaya ปีที่แล้ว +4

    Thanks for being on of the best tech YT channels!

  • @dani-gy2dy
    @dani-gy2dy 11 หลายเดือนก่อน

    How you explained these concepts with this speed and I still understood you is sick. You are the greatest teacher who walked on this earth. A sensei for all the sensei's. The ring doesn't control you, you control the ring.
    Amazing!

  • @AkiiiMatcha
    @AkiiiMatcha ปีที่แล้ว

    omgggg actually I am at this point in my life where I basically need to understand those topics to progress further in my programming career. You really did a good job explaining those topics short and sweet, even for someone like me who always sucked at math and now has to work with linear algebra etc. for ML in my company. LOL

  • @blackhole724
    @blackhole724 ปีที่แล้ว +7

    I completely agree with this. Math is crucial in programming even when nowadays some people want to ignore it. It is not hard if you enjoy it. What is wrong is that many math-lover programmers lie about how they hate math and that you don't need to learn math if you wanna be a good programmer like in this video (but he already confirmed but actually by using sarcasm). The reality is: if you have any problem with math you are gonna face REALLY HARD life problems on your job, and projects.

  • @brandonsoboleski5642
    @brandonsoboleski5642 ปีที่แล้ว +3

    When you explain base 10 to begin explaining how bases in general work I think it might be better to think of it as each place's decimal value is equal to the number in that place which is less than the base value(10 for decimal) multiplied by the base to the power of the index(with this index starting at 0). This explanation should be easy to understand for programmers since any programmer should understand indexes that start at 0. To express this briefly you can say the decimal value 'D' is the place value 'P' multiplied by the base value 'B' to the power of the index 'I' or D = P*B^I. This is how I like to think about this and it works for any base. EX: for 1011 we have a base value of 2 and index 0, 1, 2, 3 from right to left. to get the decimal value we have D=((1*2^0)+(1*2^1)+(0*2^2)+(1*2^3)) = (1+2+0+8) = 11. Hopefully this helps someone and makes sense.

  • @MrEfi4
    @MrEfi4 ปีที่แล้ว +1

    5yrs in programming, thanks for best explanation of big O complexity :D Video is nicely done, progressing from basics to advanced. I believe you will keep your job of educator for noobs even with GPT-10 :D

  • @shantanu556
    @shantanu556 ปีที่แล้ว

    the reference to Schrodinger's cat at 1:27 was aweoxme. Its always the details in FireShip's videos man.

  • @liamwelsh5565
    @liamwelsh5565 ปีที่แล้ว +21

    Except for calculus, this video was my entire math journey through my first 2 years of my CS degree.

    • @GSBarlev
      @GSBarlev ปีที่แล้ว +1

      It's interesting how calculus is part of the standard curriculum but is honestly a lot less important in day-to-day life than concepts that aren't as well taught, like Bayesian statistics.
      Of course, if quantum computing ever takes off, having a good handle on integral calculus is going to be one of the most useful skills in a CS arsenal.

    • @liamwelsh5565
      @liamwelsh5565 ปีที่แล้ว +1

      @@GSBarlev I did see it pop up in some of my later math and cs courses but it’s very brief. For example, in my data structures and algorithms course, there were a couple algorithms that used calculus to prove its average time complexity. But we never had to do calculus nor were we tested on it, it was just the professor very briefly going over a proof.

    • @matheusaraujo6445
      @matheusaraujo6445 ปีที่แล้ว +3

      ​@@GSBarlev calculus is used everywhere in deep learning. I don't know about you. But in our current era of revolution of AI I want to be able to understand at least the basics about it

    • @jeltehoekstra2952
      @jeltehoekstra2952 ปีที่แล้ว +1

      @@GSBarlev It's good to have in the curriculum as an academic exercise though. Trying to understand abstract math problems helps with understanding abstract programming problems.

  • @TiagoMotonauta
    @TiagoMotonauta ปีที่แล้ว +4

    I wonder how much time did it take you to compile this information... I understand all the concepts but to summarize them is not easy. Well done!

  • @itk77
    @itk77 9 หลายเดือนก่อน +1

    Matrices are definitely very important to learn as they have many uses and are very simple and easy to understand.

  • @nanakatz1492
    @nanakatz1492 2 หลายเดือนก่อน

    I can’t believe the amount of useful information you just taught me in a matter of minutes. THANK YOU!!!

  • @robinheyer708
    @robinheyer708 ปีที่แล้ว +5

    After dismissing it all for years when I couldn't appreciate it in high school... "Who would ever need the Pythagorean Theorem?". Now I'm learning about Fibonacci, the Russell paradox and the Mandelbrot set and I wish I would have known (more) about all this earlier and wasn't just taught enough to pass an exam in school. Could I have appreciated it more at an earlier age? I don't know. We're in a complex system that we don't have the tools to understand yet or maybe ever. Just like in AI development they have now found that language is the key to everything human, maths is the key to the universe.

  • @MidtownMadness1
    @MidtownMadness1 ปีที่แล้ว +5

    Your explanation of the logarithm is outstanding

  • @puspamadak
    @puspamadak 10 หลายเดือนก่อน

    As a long-time fireship watcher, I can say that your examples are very funny. They help us to remember better and hence, to understand the concepts well.

  • @DJxMaster2
    @DJxMaster2 ปีที่แล้ว

    I did not understand much but it was fascinating to watch it! Great video!

  • @supercellodude
    @supercellodude ปีที่แล้ว +38

    4:56 Set Theory is one of the foundations that enable defining the continuous structures of geometry, topology, and calculus. Zermelo-Fraenkel Set Theory with the Axiom of Choice (normally called just ZFC) can serve to specify the way a set interacts with an equipped topology, or how the set of real numbers contains numbers that cannot be reasoned about due to how uncountably transfinite it is.

    • @theblinkingbrownie4654
      @theblinkingbrownie4654 ปีที่แล้ว +1

      But is it useful in cs? Seems like you'd need to be in incredibly specific fields before knowledge of ZFC is useful but I could be wrong

    • @imapimplykindapimp
      @imapimplykindapimp 11 หลายเดือนก่อน +2

      Category theory gang rise up

    • @MeiinUK
      @MeiinUK 8 หลายเดือนก่อน +1

      @@theblinkingbrownie4654: Set theory is useful in CS... cos it ties in with databases. So.. if you need to create a register for a car park, say... And you want the names of the owners, and the model and location of what it is placed etc. That could be useful for classification purposes. You just need to know DB Theories. Set theories is the pre-requisites towards databases. But this video is quite clever... cos I have never considered the different databases globally.... That is scary.

    • @SMCwasTaken
      @SMCwasTaken 5 หลายเดือนก่อน

      My Brain Broke at that point

  • @rajpdus
    @rajpdus ปีที่แล้ว +5

    Very concise and excellent content. Shall we make one on Theory of Computation?

  • @TrentSterling
    @TrentSterling ปีที่แล้ว +1

    As a math challenged programmer/gamedev, please give us more content like this! 😮🤯

  • @BluesBoySid
    @BluesBoySid 7 หลายเดือนก่อน

    All what was shown her i learned in a humanist class in high school and at first year at the University. But i'm born and raised in Poland, so for plenty of us it's very common. Now i know why polish programmers are very often by deep data science, ai (including chatgpt) or security. Nice video :)

  • @nugget6723
    @nugget6723 ปีที่แล้ว +118

    funny how I was JUST stressing about how much math I'm gonna have to learn for programming (and I'm beyond horrible with math). I feel a bit more confident now since I can grasp the concepts laid out here pretty easily (the excellent explanation makes it easy to understand, so props!) it's just the actual numbers part that gets me lol

    • @SkullCollectorD5
      @SkullCollectorD5 ปีที่แล้ว +31

      If you can grasp the concepts, you're a good way into passing maths. Most people who "aren't good with maths" have an aversion to it that holds them back. Get past that, study until just one thing clicks and realise that you were never bad with maths to begin with.
      The thing is: everybody's starting point is different. I had to catch up on maths from year 11 (10th grade for US) while my study group breezed through the discrete maths module. But I did and now I love it.

    • @lukdb
      @lukdb ปีที่แล้ว +16

      If the problem is just the numbers, then you'll be fine. Programming is basically outsourcing the boring arithmetic out of the concepts you're using.

    • @Zeero3846
      @Zeero3846 ปีที่แล้ว +2

      No worries! You only need a lot of math if you're making games, simulations, and models. Everything else is literally just recordkeeping and string manipulation.

    • @Laszer271
      @Laszer271 ปีที่แล้ว +5

      Depending on what you want to do with programming you may not need most of these concepts or you may need much much more than that. Programming is a vast field. Skills needed in database administration or web development are much different than those needed in data science or computer graphics. The most important skill is actually English which might be a problem for non-native speakers but if you already have it, you are golden.

    • @surreal6055
      @surreal6055 ปีที่แล้ว +1

      ​@@Zeero3846 even then if you're using a sophisticated game engine like 80% of the math needed goes away too

  • @rawrx
    @rawrx ปีที่แล้ว +4

    The base64 you wrote through the video is the quote "Mathematics are the result of mysterious powers which no one understands, and which the unconscious recognition of beauty must play an important part. Out of an infinity of designs a mathematician chooses one pattern for beauty's sake and pulls it down to earth", notice that you forgot the dot in the end which would be Lg== in base 64. Which is also funny because Lg is binary logarithms if im not mistaken

  • @abdelsamie.bousba
    @abdelsamie.bousba ปีที่แล้ว +1

    Wow, you will be VERY familiar with all of these concepts if you got a CS degree, I got one and now and only now I understand why we get to know those concepts, thanks.

  • @elitegamersiddhu5684
    @elitegamersiddhu5684 ปีที่แล้ว +1

    PLEASE DO MORE VIDEOS LIKE THESE. Maybe dive deeper in the chapters shown in this video, it will be extremely helpful. For someone who wants to slowly start learning about neural networks, going to 3Blue1Brown and watching their series can get overwhelming due to so much maths on screen, ur graphical and creative methods are much less brain loading.

  • @Falconleader117
    @Falconleader117 ปีที่แล้ว +57

    There's 4 years of a CS degree in less than 10 minutes! AWESOME as usual!

    • @tzarcoal1018
      @tzarcoal1018 ปีที่แล้ว +3

      ​@@jasrajjohal apart from a few things: first semester...

    • @syedmohammadsannan964
      @syedmohammadsannan964 ปีที่แล้ว +5

      ... dude, what's with the trend of downplaying university degrees?

    • @syedmohammadsannan964
      @syedmohammadsannan964 ปีที่แล้ว

      @@tzarcoal1018 Ikr

  • @propoop6991
    @propoop6991 ปีที่แล้ว +8

    Now time for the prerequisites: strong understanding of high school math, calc 1-3, and proofs for the discrete math.

    • @pattytheratty
      @pattytheratty ปีที่แล้ว

      i got a 64 in high school math and im doing fine

  • @danypell2517
    @danypell2517 ปีที่แล้ว +1

    Diving deeper of the harder topics here would be nice, like a 15 minute linear algebra video or something

  • @siphamandlambokazi331
    @siphamandlambokazi331 ปีที่แล้ว

    Broe, I wish I had you as my math teacher, you make it so simple!!

  • @yashmistry1918
    @yashmistry1918 ปีที่แล้ว +4

    I was getting there but I see someone else is first, but putting my results here anyways.
    I only needed first 2 decoded, after searching for them I could find the binary quote Morse quote below:
    Mathematics are the result of mysterious powers which no one understands, and which the unconscious recognition of beauty must play an important part. Out of an infinity of designs a mathematician chooses one pattern for beauty's sake and pulls it down to earth.

  • @WillJackDo
    @WillJackDo ปีที่แล้ว +13

    With content like these, it'll be long before AI replaces you... Kudos.

  • @cielolov2356
    @cielolov2356 6 หลายเดือนก่อน

    Thanks for your dedication ant effort for this kind of videos!!

  • @diegomarzo4001
    @diegomarzo4001 ปีที่แล้ว

    Really good video, I loved it, very well explained like always.
    I just missed numerical methods and will be 10/10

  • @AJ-AI
    @AJ-AI ปีที่แล้ว +19

    The secret is a quote from Bertrand Russell on mathematics! Or at least one in a similar vein. Maybe you asked ChatGPT to make a quote about mathematics and it came up with this one lol. here's the text:
    "Mathematics are the result of mysterious powers which no one understands, and which the unconscious recognition of beauty must play an important part. Out of an infinity of designs, a mathematician chooses one pattern for beauty's sake and pulls it down to earth."

    • @alex_skobe
      @alex_skobe ปีที่แล้ว

      Nice one, seems like it encoded in base64 UTF8. This is what Chat GPT gave me as a result on first string:
      "Mallhematics arT▒▒▒ result" . But as a lazy developer I used IPhone camera to take a string from a youtube video, and it capture couple characters in a wrong way.

  • @rabik_dev
    @rabik_dev ปีที่แล้ว +3

    Using logs to explain logarithm, brilliant ❤

    • @madhououinkyoma
      @madhououinkyoma ปีที่แล้ว

      Took your comment for me to realize 🤣

  • @passportbro904
    @passportbro904 9 หลายเดือนก่อน

    Great video, im gonna learn all of these concepts in 10 minutes with notes each using chatgpt and put it on my resume, if i get a job where i feel ill need it, at least ill know the concepts at least.

  • @teamrocket0002
    @teamrocket0002 ปีที่แล้ว

    This video is very interesting...I wanted to revise most of these concepts but i have been procrastinating to do so....This video is a really good motivation for me. Thank you! :)

  • @symphony_vk
    @symphony_vk ปีที่แล้ว +6

    Thanks for the amazing video, Jeff! Your content is pure gold!

  • @8bitgamerC64
    @8bitgamerC64 11 หลายเดือนก่อน

    This video takes me back to the good ol' days and when i wrote sprite routines using algebra and 6502 machine code.

  • @prashantpurohit548
    @prashantpurohit548 ปีที่แล้ว

    One of the best fireship video!

  • @UltraMaXAtAXX
    @UltraMaXAtAXX ปีที่แล้ว +7

    Small nitpick: linear regression isn't just for lines. Fitting a polynomial or some linear combination of functions makes it linear in the linear algebra sense.

  • @KingKong-oy4yr
    @KingKong-oy4yr 2 หลายเดือนก่อน +3

    As an class 10th student looking for career in cs. I can say that I understood nothing 😢😂 but I can guarantee that I will come back to this video after 4 years ..love you ❤❤

  • @k_klaffi1900
    @k_klaffi1900 4 หลายเดือนก่อน

    That was probably the most useful and educative video I've seen so far

  • @cota_94
    @cota_94 ปีที่แล้ว

    Great Video!!!!! Thank you so much for the liquid gold information

  • @badhbhchadh
    @badhbhchadh ปีที่แล้ว +12

    joins are NOT set unions/intersections. In particular, the way you displayed left/right joins would mean they just return the original tables, which is obviously not the case. SQL *does* have UNION and INTERSECT operators for queries. But an INNER JOIN e.g. is the graph of the relation defined after the ON, and the other ones are unions (!) of the latter with elements of A x {null} or {null} x B

    • @HolyRamanRajya
      @HolyRamanRajya ปีที่แล้ว

      Keep in mind tho, the practical realizations are not always consistent across all DBMS and versions for ANSI SQL. I had the displeasure having to work with a version of OracleDB that was made during their transition to ANSI and results were often ridiculous and an approximation and extensions of their bad non-ANSI Join operators(+,-).

  • @slowgoins
    @slowgoins ปีที่แล้ว +24

    I used basic differential equations all the way through my PhD. But if I’m not using particular maths a lot then the core of the concept may not stick. So I love watching other people explain math concepts and you made byte binary make concrete and intuitive sense. Loved the idea of thinking of it as each position is a yes or no at a power of 2 and adding the result.

  • @funkykong9001
    @funkykong9001 ปีที่แล้ว +1

    LOVE the "log" analogy

  • @alphonsereitz
    @alphonsereitz 7 หลายเดือนก่อน

    I definitely need boolean algebra. Trying to learn to write drivers for my mcu peripherals in C, and being able to do that with ternary operators would make easier in the end.

  • @fbodirector7464
    @fbodirector7464 ปีที่แล้ว +21

    This may be the best maths for programmers video I have seen so far. Surprisingly detailed for how quickly and consistently you go through each concept.

  • @giovannironchi5332
    @giovannironchi5332 ปีที่แล้ว +11

    I am a math teacher in a high school teaching to students studying informatics curriculum. Thanks a lot for this one!! 🙏🏻

  • @RameshKumarPkeezhara
    @RameshKumarPkeezhara 8 หลายเดือนก่อน

    this man lead me to learn math for the sake of programming, mad respect and thank you very much

  • @marckraw
    @marckraw ปีที่แล้ว

    This is so good, it's like a math teacher is actually trying to teach you something instead of flexing his math muscle :D

  • @johnplays9654
    @johnplays9654 11 หลายเดือนก่อน +12

    Chat GPT can decrypt the message instantly. It also explains that it is encrypted in Base64 which is a common encoding scheme used to represent binary data in ASCII format. It even corrects misspellings in the encryption.

  • @lasham111
    @lasham111 ปีที่แล้ว +26

    Fireship actually have ability to convince me that I need certain subject or tool for my career

  • @zxuiji
    @zxuiji 8 หลายเดือนก่อน +1

    2:58, the thing I find wrong about how floating point numbers are handled is the same reason get that .30...4, the exponent is used to represent where the decimal point is when the better way is to represent where the smallest support unit is so that the mantissa can be treated as an integer with N 0s in front/behind it from the known smallest of the containing bytes. For example, let's say we have a piece of paper that can support up to 32 digits (yes I'm referencing a standard float's number of bits), since we know that we can designate 8 digits to represent how far from the smallest digit we are, next we use half the max it can hold to tell us how small the smallest unit should be, so in this case 255 / 2 is 127.5, we'll round that down so that the fastest matching operating in a computer would be a simple right shift by 1, so now our smallest possible unit is 127 digits behind the decimal point & an exponent of 0 means exactly that, an exponent higher than 23 ( our remaining digits when accounting for the + & - prefixes) is definitely bigger than one with an exponent of 0 while any value between 23 & 0 would have to add the difference between the 2 values to the position of the highest digit to compare against the highest digit of the smaller exponent's mantissa. Yes we sacrifice the implied bit but instead we get 100% accurate results beyond the decimal point.. provided they're not longer than 127 digits that is *coughPI*

  • @user-iq1zn9lo7q
    @user-iq1zn9lo7q ปีที่แล้ว

    Super !
    Thank you, all-in-one !

  • @traxx75
    @traxx75 ปีที่แล้ว +5

    7:52 JIAN YAAAAAANG

  • @deepjoshi356
    @deepjoshi356 ปีที่แล้ว +4

    Linear algebra for RSA. I think linear algebra is more related to AES.

    • @d3line
      @d3line ปีที่แล้ว

      Yup. Cryptography in general is mostly number theory, specifically finite fields.

  • @A.Belkhir
    @A.Belkhir ปีที่แล้ว

    i can't believe how great your videos are as physicist we learn some similaire, we basically learn same maths the difference is in the amount of focus on those sub-section just wanted to point one thing which is in linear algebra you skipped one level which is tensors.
    good luck and keep up the learning and sharing

  • @Dragonaud
    @Dragonaud ปีที่แล้ว

    You are true chad of explaining things. Good job as always!

  • @landotter
    @landotter ปีที่แล้ว +3

    I wish I knew more about all this years ago.

    • @devon9374
      @devon9374 ปีที่แล้ว

      So you know it now or will you say the same thing again in 10 years 🤔

  • @krast0gaming40
    @krast0gaming40 ปีที่แล้ว +63

    I am amazed by how programmers are still avoiding math.

    • @gavinholtzapple1439
      @gavinholtzapple1439 ปีที่แล้ว +15

      @@bob-manuel bro thinks hes socrates

    • @jmilouise5097
      @jmilouise5097 ปีที่แล้ว +2

      @Bob-Manuel i sense chatgpt in this comment

    • @russianvideovlogguy
      @russianvideovlogguy ปีที่แล้ว +1

      I don't think they do tho

    • @mrgalaxy396
      @mrgalaxy396 ปีที่แล้ว +3

      The ones that don't have a formal education in STEM fields, yeah. The rest of us didn't have a choice when it came to learning the math bits haha
      It's a shame though, because math is so incredibly useful and honestly very interesting when you strip away all the formalities and focus on the concepts themselves.
      That's kind of the problem though, math isn't really math unless it's strictly formal and the formal definitions often don't make it obvious what they actually mean in a practical sense, which prevents people from seeing the bigger picture that is so valuable. That's why many people get turned off by it, if you don't have a good teacher or do your own research you lose the value in the noise of the formalities.

    • @herikaniugu
      @herikaniugu ปีที่แล้ว +2

      Only game dev and data scientists love math

  • @haku1089
    @haku1089 ปีที่แล้ว

    As a computer science student its nice to refresh all of this concepts that i've been learning all over this years

  • @I-am-Joe-Po
    @I-am-Joe-Po ปีที่แล้ว

    The first ever video I have watched at velocity x0.75. And going to watch again.
    Bravo!

  • @Eta_Carinae__
    @Eta_Carinae__ ปีที่แล้ว +3

    In linear regression, the input/output variables don't have to be linear wrt eachother. The linearity comes from the coefficients (\betas) being linear, such that we can have a vector representation of them.