10 Math Concepts for Programmers

Поділитися
Вставка
  • Опубліковано 21 січ 2025

КОМЕНТАРІ • 2,3 тис.

  • @thecow7273
    @thecow7273 Рік тому +4837

    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 Рік тому +127

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

    • @ApplePi1
      @ApplePi1 Рік тому +61

      God damn it.

    • @Fireship
      @Fireship  Рік тому +448

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

    • @arczi1537
      @arczi1537 Рік тому +19

      wow, that's fast

    • @daskampffredchen
      @daskampffredchen Рік тому +52

      Was it just using Base64 for the Text between topics?

  • @yadneshkhode3091
    @yadneshkhode3091 Рік тому +5006

    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 Рік тому +342

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

    • @testolog
      @testolog Рік тому +54

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

    • @midahe5548
      @midahe5548 Рік тому +172

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

    • @Snbd26th
      @Snbd26th Рік тому +7

      Same here

    • @SamehMustafa007
      @SamehMustafa007 Рік тому +14

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

  • @venkyakshaya
    @venkyakshaya Рік тому +15

    Thanks for being on of the best tech YT channels!

  • @bekakilov9656
    @bekakilov9656 Рік тому +657

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

    • @Ripcraze
      @Ripcraze Рік тому +43

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

    • @roberleyrodrigues9769
      @roberleyrodrigues9769 Рік тому +108

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

    • @pattytheratty
      @pattytheratty Рік тому +26

      @@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 Рік тому +6

      @@roberleyrodrigues9769I wanna drop discrete math too

    • @nielsholmlassen8275
      @nielsholmlassen8275 Рік тому +14

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

  • @Chiaros
    @Chiaros Рік тому +239

    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

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

    • @beater35
      @beater35 Рік тому +11

      @@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 Рік тому +2

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

    • @MacCarell
      @MacCarell 5 місяців тому

      Yeesh what school dude, you got ripped off

    • @Me0wk1r
      @Me0wk1r 5 днів тому

      @@stayhungry1503 delusion..

  • @chris-pee
    @chris-pee Рік тому +1240

    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 Рік тому +55

      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 Рік тому +44

      @@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 Рік тому +4

      @@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 Рік тому +44

      @@aintaintaword666 Absolutely wrong

  • @DK-ox7ze
    @DK-ox7ze Рік тому +1632

    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 Рік тому +140

      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 Рік тому +11

      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 Рік тому +6

      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

  • @attmultimedia67
    @attmultimedia67 Рік тому +2340

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

    • @thatsalot3577
      @thatsalot3577 Рік тому +183

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

    • @n0madfernan257
      @n0madfernan257 Рік тому +163

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

    • @patelmalavdev
      @patelmalavdev Рік тому +14

      +1

    • @hust_sami_slave
      @hust_sami_slave Рік тому +114

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

    • @piyushpanpaliya
      @piyushpanpaliya Рік тому

      +1

  • @pneumaofficial9581
    @pneumaofficial9581 Рік тому +252

    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 Рік тому +69

      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 Рік тому +27

      @@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 Рік тому +37

      @@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 Рік тому +9

      ​@@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 Рік тому +1

      Do you have any particular videos you would recommend?

  • @sourraabhcy_p
    @sourraabhcy_p Рік тому +13

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

  • @eliavrad2845
    @eliavrad2845 Рік тому +381

    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.

    • @eliavrad2845
      @eliavrad2845 Рік тому +24

      @Lady Mercy 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 Рік тому +20

      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?

    • @astroid-ws4py
      @astroid-ws4py Рік тому +2

      ​@@obviouslyblack
      Base e is used because derivatives and integrals in base e are simpler to express than in other bases.

  • @Vivek2062
    @Vivek2062 Рік тому +782

    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 Рік тому +36

      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?

  • @thatsalot3577
    @thatsalot3577 Рік тому +32

    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 Рік тому +4

      @@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 Рік тому +3

      i like trigonometry

    • @the_coding_ninja5242
      @the_coding_ninja5242 Місяць тому

      Mechanics is also really important for game dev

  • @franciscocordeiro8080
    @franciscocordeiro8080 Рік тому +191

    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 Рік тому +5

      @@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

    • @babelboy-akababz2889
      @babelboy-akababz2889 Рік тому

      @@marloelefant7500
      - Comparing video format to text.
      - Postulating that this short and fast video is the only information presented a teacher would present.
      - Not knowing that you can slow a video down if the speech is too fast.
      ... Are you even argueing in good faith, at this point ?

  • @officialcommentcheckerofth9703

    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 Рік тому +14

    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!

  • @ChadDoebelin
    @ChadDoebelin Рік тому +31

    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.

  • @sreedev
    @sreedev Рік тому +63

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

    • @pattytheratty
      @pattytheratty Рік тому +18

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

    • @seriouslyWeird
      @seriouslyWeird Рік тому +1

      and painful

  • @TheEvilWalrusLord
    @TheEvilWalrusLord Рік тому +35

    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 Рік тому +4

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

    • @gabrielprotas2094
      @gabrielprotas2094 7 місяців тому +1

      Even me, i have the same experience. Hahaha

    • @bryantnuwe9490
      @bryantnuwe9490 7 місяців тому

      Exaaacccttllyyyyyy

    • @Botsane
      @Botsane 6 місяців тому +1

      I still don't know how I got though precalculus because of those damn logs 😭😭😭
      Just for a guy on UA-cam explaining them with memes makes it make sense

    • @ErdemtugsC
      @ErdemtugsC 6 місяців тому

      @@BotsaneI love internet because school haven’t teached me yet

  • @kecvu
    @kecvu Рік тому +11

    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.

  • @codingphysics695
    @codingphysics695 Рік тому +321

    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_ Рік тому +23

      OK STOP JUST GIVE ME THE ELECTRIC CHAIR ALREADY 😭

    • @konstantinsotov6251
      @konstantinsotov6251 Рік тому

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

    • @kevintech7457
      @kevintech7457 Рік тому

      ​@@konstantinsotov6251 on UA-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 Рік тому +2

      To OP, thanks for noting these other topics.

    • @justinrivera7674
      @justinrivera7674 Рік тому +2

      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

  • @nemoteric
    @nemoteric Рік тому +17

    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! 😂

  • @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 Рік тому

      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.

  • @YehoshuaNotelovitz
    @YehoshuaNotelovitz 9 місяців тому +14

    at the beginning my ego increased but by the end my ego died

    • @gregorymoore2877
      @gregorymoore2877 16 днів тому

      On the bright side, after watching the video, you should be able to plot the rise and fall of your ego on a chart.

    • @BillKoech-u5u
      @BillKoech-u5u День тому

      It was at this moment I knew am f'd up😂😂

  • @JessehTheProphet
    @JessehTheProphet Рік тому +18

    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!

  • @rodneygraham5532
    @rodneygraham5532 Рік тому +186

    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 Рік тому +11

      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 Рік тому +17

      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

  • @avi12
    @avi12 Рік тому +7

    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

  • @fastcalendar
    @fastcalendar Рік тому +34

    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

  • @blackhole724
    @blackhole724 Рік тому +9

    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.

  • @christiantarnoski1231
    @christiantarnoski1231 Рік тому +4

    A little tip: exponents, roots and logarithms are interchangeable. If 3^2=9, then sqrt(9)=3 and log3(9)=2. Any exponentiation has three parts (base, exponent and result) and so there is a nth root that will give its base as a result and a logarithm that will give its exponent.

    • @TBButtSmoothy
      @TBButtSmoothy Рік тому

      these bits of math "gotchas" are gold, thank you

  • @supercellodude
    @supercellodude Рік тому +40

    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 Рік тому +3

      Category theory gang rise up

    • @MeiinUK
      @MeiinUK Рік тому +3

      @@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 Рік тому

      My Brain Broke at that point

  • @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

  • @liamwelsh5565
    @liamwelsh5565 Рік тому +22

    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 Рік тому +5

      ​@@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 Рік тому +2

      @@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.

  • @cijoy
    @cijoy Рік тому

    Thanks!

  • @dimtsimdimtsim5527
    @dimtsimdimtsim5527 Рік тому +1

    In the diagram in the Boolean algebra section, he put a cat in the square that says that something is both dead and alive at the same time. That's a really nice reference to Shrodinger's cat. Good job 👏👍👍

  • @MidtownMadness1
    @MidtownMadness1 Рік тому +6

    Your explanation of the logarithm is outstanding

  • @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).

  • @IvanRandomDude
    @IvanRandomDude Рік тому +6

    0:02 Well, that's true for some simple programming fields like Web Dev. But there are obviously fields of programming where math is more important.

  • @pinkiepingas
    @pinkiepingas Рік тому +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.

  • @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

  • @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.

  • @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.

  • @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

  • @dorultanianosgyorgy1561
    @dorultanianosgyorgy1561 Рік тому +1

    Thanks

  • @chrissmit6439
    @chrissmit6439 Рік тому

    We believe teachers are the core of our childrens education and therefor their future. My math teacher in primary school always told me how stupid I was etc and that I would never be able to properly function in society. She was partly right and partly wrong. I love being the odd one out and enjoy my personal space to the extend it may appear peculiar, this she nailed. What may offend her endlessly is to know that once I realised I could in fact do math it changed my universe and so many things around me came to blossom. Now I can program stuff she never even had the imagination to comprehend even if it was forced upon her. May her soul rest in peace, I have found mine. I mean this in all humbleness because talent is a gift and not an entitlement. Did I also mention my family were not rich. And I forgot to say she was an Apartheid teacher, very judgemental alike Apartheid religion. She could not teach me math, but she taught me to be strong. Thank you ms? Dreyer.

  • @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!

  • @Cryptolover-w8e
    @Cryptolover-w8e 11 місяців тому +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 ❤❤

  • @WillJackDo
    @WillJackDo Рік тому +13

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

  • @shantanu556
    @shantanu556 Рік тому

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

  • @QsPracticalNonsense
    @QsPracticalNonsense Рік тому +1

    3:23-3:26 "Now that we know how numbers work..."
    My brain is fried and I am in tears

  • @nugget6723
    @nugget6723 Рік тому +116

    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 Рік тому +15

      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

  • @YJMystic
    @YJMystic Рік тому +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.

  • @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

  • @funkykong9001
    @funkykong9001 Рік тому +2

    LOVE the "log" analogy

  • @zxuiji
    @zxuiji Рік тому +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*

  • @civ20
    @civ20 Рік тому +4

    Is this "math" with us in this room right now Fireship?

  • @Fracsus
    @Fracsus 9 місяців тому +36

    people who use base1: 🗿🗿🗿

    • @msg-1995
      @msg-1995 7 місяців тому +4

      Actually we do when we count our finger like lllll lllll

    • @Hector.Pulido
      @Hector.Pulido 7 місяців тому +6

      1 = 🗿
      2 = 🗿🗿
      3 = 🗿🗿🗿

    • @Zopeee
      @Zopeee Місяць тому +1

      ​@@msg-1995we dont, we just use an ineffizient version of base 2

  • @lasham111
    @lasham111 Рік тому +26

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

  • @davidmachado132
    @davidmachado132 Рік тому +1

    I wish I could like this video more than one time, because it is the best math explanation I ever got.

  • @geekytutorials5745
    @geekytutorials5745 Рік тому +1

    This video boosted my intrest in my exam preparation

  • @rajpdus
    @rajpdus Рік тому +5

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

  • @badhbhchadh
    @badhbhchadh Рік тому +14

    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 Рік тому +1

      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(+,-).

  • @culpritdesign
    @culpritdesign Рік тому +7

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

  • @kwe4117
    @kwe4117 Рік тому

    - Asymptomatic Analysis
    - Discrete Mathematics
    - Statistics
    - Linear Algebra
    - Computation Theory (Operating System / Binary)
    - Some Calc for:
    - Numerics (High Precision / Order of Convergence)
    - Stats (Area Under The Curve / Standard Deviation)

  • @BryonLape
    @BryonLape Рік тому

    Studied Computer Science many years ago and been a programmer for over 30 years and this really made me life. Very clever.

  • @aj_dev_smith
    @aj_dev_smith Рік тому +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.

  • @giovannironchi5332
    @giovannironchi5332 Рік тому +11

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

  • @johnplays9654
    @johnplays9654 Рік тому +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.

  • @derekarmstrong1408
    @derekarmstrong1408 5 місяців тому

    Wow. Someone finally made Log make sense. My hat is off to you!

  • @TrentSterling
    @TrentSterling Рік тому +1

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

  • @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.

  • @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.

  • @TheGuyvatzian
    @TheGuyvatzian Рік тому +7

    Small nitpick: RSA doesn't involve linear algebra at all. I think you might have meant to say AES instead, which represents the data to be encrypted as matrices and involves matrix multiplication in the MixColumns step

    • @jasdfpasdfakdsjhfa
      @jasdfpasdfakdsjhfa Рік тому +1

      Yeah was thinking the same. Number theory would've been a much better section title.

  • @danypell2517
    @danypell2517 Рік тому +1

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

  • @terpy663
    @terpy663 Місяць тому

    While studying data science, I found my two favorite algorithms. Hierarchical crustering and decision trees make incredibly satisfying visuals that most people can read without a lot of explanation.

  • @traxx75
    @traxx75 Рік тому +6

    7:52 JIAN YAAAAAANG

  • @krast0gaming40
    @krast0gaming40 Рік тому +65

    I am amazed by how programmers are still avoiding math.

    • @gbvin
      @gbvin Рік тому +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

  • @Eyad_faramawy
    @Eyad_faramawy Рік тому +4

    1:07
    this is a sensitive scene
    >:(

  • @Michael-km8me
    @Michael-km8me 4 місяці тому

    You are the greatest math teacher ever! Please more videos like this!

  • @lilbostin5358
    @lilbostin5358 Рік тому +2

    i used to be really good at math... But then as a young adult i didn't need it as much.. but now i learnt it again because i need it, and in the process of "relearning"... i figured out why some don't like math...
    Guys, if you don't like math, you need to understand how mathematicians think.. Math is not hard, it's just mathematicians are lazy. The symbols and letters mathematicians use, it's basically to shorten the formula. And it's humans like you and me who come up with those symbols and letters...
    So for each thing you learn, whether it's algebra or whatever... I HIGHLY recommand you try to learn the history of the symbols used. It really helps

  • @DavidPennington-t6y
    @DavidPennington-t6y Рік тому +4

    4:42 Is that not just A?

    • @badphysiotdx2395
      @badphysiotdx2395 4 місяці тому

      Yes, he just showed a very convoluted method of displaying a

    • @dali773
      @dali773 Місяць тому

      yes but with some of b because its not just A at that point

  • @WallaceThiago
    @WallaceThiago Рік тому +11

    Dude just taught me logarithms like it was nothing

  • @SMCwasTaken
    @SMCwasTaken Рік тому +3

    My Brain broke at 3:49

  • @santyrozasmillan
    @santyrozasmillan 7 місяців тому

    The personality shines through and keeps viewers coming back.

  • @LuzBrown-t6t
    @LuzBrown-t6t 8 місяців тому

    Your ability to simplify complex concepts is impressive and greatly appreciated

  • @tblicher
    @tblicher Рік тому +7

    If this inspires web developers to improve website efficiency, it has fulfilled its purpose.

  • @pillmuncher67
    @pillmuncher67 Рік тому +5

    IMO one should also learn the basics of these:
    - Predicate Logic
    - Modal Logic
    - Abstract Algebra
    - Category Theory

    • @astroid-ws4py
      @astroid-ws4py Рік тому +1

      Add to that Type Theory too

    • @pillmuncher67
      @pillmuncher67 Рік тому

      @@astroid-ws4py I forgot Lambda Calculus, too.

    • @isodoubIet
      @isodoubIet Рік тому +1

      Category theory is worthless unless you're a mathematician (which means you can get money to study it), but for programmers it has negative value because you could be learning something useful instead.

    • @pillmuncher67
      @pillmuncher67 Рік тому

      @@isodoubIet I've built an Prolog-like embedded DSL for Python using Monads. I found that Category Theory served me very well there.
      Also: There's a thing called the Curry-Howard-Lambek correspondence which states that I'm a mathematician. Look it up.

  • @blazerorb
    @blazerorb Рік тому

    Floating point doesn’t actually let you “trade range for precision”. The range and precision are still determined by the specification, IEEE 754. Floating point lets you not have to waste space with all the digits that would be unnecessary precision on very large or small numbers. The main idea of floating point is just a spec for interpreting binary as scientific notation. It saves you from having to waste bits writing out extra zeros.
    For example in base 10, say I want to write 157 quadrillion, or 157,000,000,000,000,000, or 1.57x10^17. That’s a lot of digits wasted on zeros, since I probably didn’t care about anything past the first three. So instead, we agree in advance that the first two digits actually tell you the number of decimal places to move, and the rest is a number with the decimal after the first digit. So now I write 17157, and I just communicated an up-to 99 digit number to a three digit precision with only 5 digits. And not only does it save space in storage or memory or transmissions etc, it’s also easier to multiply and add very very large or small numbers, ultimately because this representation contains much less information/specificity than a normal 99 digit number.
    Then a couple tricks to make the most out of the problems of wanting to approximate the continuous, infinite Real numbers using a finite number of discrete bits. FP does have a bounded range, and there are some combinations of exponent and coefficient that would be unused, so they gave them some utility meanings like infinite and Not a Number as part of the standard, etc etc. And every binary number starts with one, so you can just assume it and save a bit.

  • @cat_fish_soup
    @cat_fish_soup Рік тому

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

  • @vkexplores
    @vkexplores Рік тому +12

    If you were my Math teacher, I would have completed my college and would have processed a Computer Science Degree. This is definitely a great way of teaching. But now, I turned out a self taught software engineer 😅.

  • @donwald3436
    @donwald3436 Рік тому +11

    Wait but if I'm not rich and I'm not handsome, how can I afford an OF girlfriend?

    • @farookmhameed993
      @farookmhameed993 8 місяців тому +1

      Start programming

    • @ammon46298
      @ammon46298 7 місяців тому +2

      You can’t. She is supporting you.

    • @donwald3436
      @donwald3436 7 місяців тому

      @@ammon46298 I'm okay with that too how do I get one?

  • @shekseko
    @shekseko Рік тому +5

    brhh, is math gay? at 0:10

    • @aesthetixv
      @aesthetixv Місяць тому +2

      Is that because it’s rainbow?

  • @senpaipro7797
    @senpaipro7797 Рік тому +2

    1:29 nice reference right there, Schrödinger's cat is in alive and dead state at the same time😺

  • @cppexplorery
    @cppexplorery Рік тому +1

    I moved from Belarus to Poland to learn it - profession , since there is no such education in my country. I even started doing my own programming lessons. It seemed to me that if you start teaching others, you yourself will learn a lot. And in this, after a while, I turned out to be right. So I would like to give you guys a piece of advice. The main thing is trying. Try and you will succeed. After all, without this there will be no result. Good luck to all)

    • @Guylovesleep6802
      @Guylovesleep6802 11 місяців тому

      You just explained the feyman technique

  • @ehza
    @ehza Рік тому

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

  • @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!

  • @АивлдЧовт
    @АивлдЧовт Рік тому

    Super !
    Thank you, all-in-one !

  • @evanpoole7829
    @evanpoole7829 9 місяців тому +1

    3:32 holy shit that log explanation is incredible, not just for computer science but also for maths

  • @nanathekatz
    @nanathekatz 10 місяців тому

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

  • @error404.u
    @error404.u Рік тому

    i made my presentation based on ur video ..... ur script is so perfect i have no other option..