This post confuses me. Why would code be simpler than the math notation? Both involve symbolic abstraction of basically the same complexity
Its got to be a relatively small group who knows enough to understand loops and is also afraid of math symbols.
Hi, I’m the problem. It’s me.
Maybe not so small?
I never encountered these math symbols but for loops are like step 3 in any programming language after variables and conditionals
lol, like 2.5% of the USA are programmers and even if we say twice that number have experimented and taken programming classes, that’s like 1 in 20 people who would even have ever encountered a for loop. This nsf report says ~70% of highschoolers have taken Algebra 2 or a more advanced math course, which is when sum notation is usually introduced. I think 70% is a little greater than 5%!
That’s interesting to hear; somehow my algebra 2 skipped sum notation (and it wasn’t remedially covered in subsequent math classes) but I’ve been writing code for decades now and seeing it in code totally explains the sum notation for me
I was great at maths in school, was in all the advanced classes and I found it so fun it didn’t feel like work to me. I learned a lot of the notation, but because I didn’t study maths further, I became rusty. With programming, I never really learned it, I just kept coming into contact with it as part of my post university work (in science), and gradually, I picked up some basics. The coding basics I did get feel much more familiar to me than the maths concepts now, because I literally couldn’t avoid coming into contact with coding in my work.
The maths they teach in school also is generally very pure maths, and that can make the concepts remain quite abstract. Matrices, for example, made way more intuitive sense to me when I used them as a scientist than when they were taught to me as a maths student.
I’m in this group and I don’t like it
I believe this group could be bigger than some may think. I, and the team I work with, work with for loops similar to these on a regular basis. And only one of us has a bachelor’s degree in math. The rest of us don’t really understand the math unless it is applied.
I’m in that group I think. I do like a liiitle bit of coding in some tiny specific progrqmming language in one piece of software that I use. I understand the basics but try to avoid having to do it. But while code is a little scary to me, math is much scarier lol
I’m a subscriber to her YouTube(one of my favourite videos of hers) and she has a bunch of videos aimed at helping game developers learn the maths concepts they need for making games, so her audience is mostly people with a coding background, I’m guessing.
So it’s less that code is simpler than math notation, more that the maths notation looks scary to people without a maths background, but here’s a link to a different complex symbolic abstraction that you might already know
Here is an alternative Piped link(s): https://piped.video/aVwxzDHniEw
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source, check me out at GitHub.
Math notation is just terrible in general because a lot of it is shorthand made up by someone who likes single-letter variables. A symbol you can’t type, something above, something below.
A for loop is clear and descriptive.
Or if you’re feeling fancy, you could go functional withreduce(add, range(0, 5), 0)
.Mathematical notation was designed to be written by hand. It is at least as clear and descriptive as any syntax from a programming language. You’re pretending that the abstraction behind a for loop is somehow less than that behind a sum or product notation.
The hard part of math isn’t understanding esoteric symbols it’s the theory behind it and it’s application. Number theory will mindbreak almost all people.
The hardest thing for me about math was the symbols. Greek, Roman, English.
Once you get past that, the numbers are easy.
Number theory and higher levels of math are a completely different beast. Once your exam is over 50% just writing proofs you will change your tune. Unless you are built for it.
i hate that we all got so frightened about math. it’s genuinely fun to learn how it works when you’re not being forced to in a school setting, which was just a fucking nightmare for no reason. i had this former navy DI lady teacher in gifted kid algebra [so already a year ahead] yell at me for asking questions; she wasn’t going to ‘hold my hand’ thru the homework, which was quite literally her fucking job
Idk man I’ve been doing my Cal 3 and 4 this semester and fuck me it’s hard. Yeah sure it’s cool sometimes but wrapping my head around it and often trying to think about things geometrically hurts. I sat there for a full hour trying to figure out why I couldn’t picture the equation I was trying to take a triple integral of only to realize it’s 4 dimensional and I almost cried
Turning 35 in a month and I’ve just started learning maths again after being afraid of it because of a similar situation to yours.
It’s surprisingly easy. I used tl give maths tutoring to finance my university degree. What I’d do is let the kids do one exercise task from their school books to see where their difficulties were. While they were on it, I quickly read through the relevant sections in the book, and it was so easy every time that I knew everything I needed to know after a few minutes. Like literally stuff that took weeks at school within minutes.
School just sucks and makes it really hard to learn anything. Almost everything kids learn at school is actually really easy.
Well it’s harder for them because they are kids and their brains are still developing. You’ve had a lifetime of experiences to draw from where you use math concepts subconsciously many times a day.
Totally true. They haven’t learned to learn yet, they aren’t learning because they want to, or even because they need what they learned.
But the point I was trying to make is, that many adults are still afraid (and many even strongly so) of maths, because it was hard for them at school. But it probably wouldn’t be hard for them now.
Fear fear fear. The same old, actually hollow from the inside, villian that bugs me everywhere
People who are arguing that one way of expressing these concepts is easier to learn/understand than the other are missing the whole point. Mathematical notation was not designed to teach students how to do math or explain how to design algorithms. It was invented to communicate precise, abstract ideas concisely between mathematicians who already understand what the symbols mean.
Mathematicians require a notation that has the flexibility to manipulate mathematical objects/symbols in a way that naturally emphasizes their properties and relationships. Often they don’t even care whether the objects they’re studying are even computable or have a numerical representation. They just need them to have certain properties so that they can be manipulated appropriately.
Discrete sums are a rare example of when the mathematical notation overlaps with the description of an algorithm for computing its value (and the overlap is not even complete; infinite sums are easily represented in math notation but are practically uncomputable when implemented naively). Every other advanced mathematical concept puts a premium on ease of symbol manipulation over computability: integrals, derivatives, matrix multiplication, abstract algebra, etc.
TL;DR math notation is complex because its intended audience is people who already understand it, want maximum flexibility of symbol manipulation, and historically didn’t really care about practical computation.
You are right the symbols weren’t created so students can learn them, but students have to learn them at one point and for me personally, a student that knows how to program, figuring out that these symbols kind of represent for loops made them easier to understand.
I think gamedev or I guess graphics programming, visualize maths pretty well. I literally quit high school because I could never make any progress in several areas, including math class. But once I read/watch more about gamedev, programming, graphics programming on my own, I got to understand many mathematical terminologies better than I have ever been taught in any school.
While I acknowledhe that I had some pretty awful math teachers, I would like to add that explaining math concepts in an edited video that you could spend a lot of time making has different demands than babysitting/teaching 30+ students at different levels multiple times a day with little prep time.
Also the viewers are actively looking for that content
When you study CompSci (depending on where IG) you tend to see them that way when trying to mathematically prove something about an algorithm. It’s only really a good way of thinking if you’re into coding, but I don’t think a teacher for a non-coding related algebra class should show this, it can be really confusing for some people.
I liked this so much I tried to find more. A few seconds googling turned up a lot, but this is the first hit: https://amitness.com/2019/08/math-for-programmers/
Hi, you can look into “discrete mathematics” if you’re interested in the overall subject of math for programmers, it was one of my hardest class but highly intesting!
That sounds perfect because I don’t want anyone to know I’m studying math.
Yea that’s not explained better than a math teach. They just swapped notation common in math, for notation common in one specific programming language. it’s only easier for the audience who happens to be familiar with programming in general, and that language in particular.
one specific programming language
I think you’d be hard pressed to find someone with any sort of programming background, even just as a hobbyist, who doesn’t understand that for loop notation, whether or not they know the specific language it’s from. (I couldn’t even tell you what specific language that’s from, because that notation matches so many different ones.)
I have a 15 year old son; he definitely has not seen summation in math classes yet, but he has far more than enough programming experience (even just from school) to understand the for loop.
I think the concept of a for loop is easier to learn, even for non-programmers, as biased as I may be.
Oh cool, I know who this person is, she did a couple of amazing videos on Bezier curves and splines
Here is an alternative Piped link(s): https://piped.video/aVwxzDHniEw
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source, check me out at GitHub.
Just notational difference other than presence of mutation… How is it harder to understand
3 + 6 + 9 + ... + 3n
means compared to the for loop? Is repeated addition hard to grasp?No it’s not harder to grasp, just less concise. Summation and Product notation exist for the same reason we don’t say “a discernible but subtle level of humidity” and just use “moist” instead - it’s more convenient. People can be taught to readily understand “moist” or the summation notation. It’s much harder to teach people to read the longer notation more quickly.
These scary large math symbols aren’t scary at all and easily explained. The scary parts of maths lie elsewhere. They are discrete, nonlinear or high dimensional and sometimes even the numbers are complex… Or worse.
Quaternions are the closest you’ll ever get to lovecraftian horror in real life.
It’s very Lovecraftian that you saying this only makes me want to learn about them even more
I recommend this video and the channel in general. The guy can explain even the most complicated and abstract mathematical concepts in a perfectly clear and understandable way.
…
I had to watch the video on quaternions three times to grasp the concept.
Here is an alternative Piped link(s): https://piped.video/watch?v=d4EgbgTm0Bg
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source, check me out at GitHub.
What’s so scary about hypercomplex numbers exactly?
Let’s start with how their equation was originally carved into a stone bridge by a crazy mathematician in a fit of madness.
WHAT ok now I’m interested
You can reduce this readable code into one line of confusing python list comprehension that runs 100x slower!
What’s wrong with list comprehensions? Do I just have Stockholm Syndrome at this point?
I would skip the square brackets and just use a generator expression:
sum(3*n for n in range(5))
.
Ok but this is a bit of an unfair comparison given that Freya is pretty god tier at actually explaining math things.
Her videos about splines are god-tier
Went to look for the splines video and i already watched it? and her other videos i do not remember binging this
Which makes the integral sign ∫ a non-discrete for-loop
if you take a modular approach and allow different measures to be used, it also lets the integral sign be a discrete for-loop
That does not help. What does non-discrete mean?
Continuous.
Instead of jumping from 1 to 2 to 3, we move smoothly across all (typically real) numbers. Obviously this would go to infinity almost every time because there are infinite real numbers between any two distinct real numbers. So instead, we merge it into a bunch of skinny rectangles with their bottom on the x axis and the top at the value of the function for the start of the rectangle. As we shrink the width of the rectangles, it approaches the continuous notion.
Continuous means “smooth” - there are no jumps Discrete means there are jump
Short answer: Imagine that the integer used in the for loop is a float instead.
Longer, a bit more precise answer: An integer can only have discrete values (i.e. -1, 0, 1, 2, …, 69, … etc.)
A real number (~float with infinite precision) can have an infinite amount of values between two discrete values.
An integral is, to put it simpy, a sum of all the results of taking those infinite values between two discrete values (an interval) and feeding them to the given function.
It’s a for loop over an infinite set of real numbers rather than over a finite set of integers => a non-discrete for loop
In a way I always thought coding was more intuitive than maths writing norms. That is if you speak English. If not, it’s as much daunting as weird greek symbols.