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.
Huh. When I took Calculus II in community college, the professor introduced sum notation and like 2/3 of the class was like "wow that's cool I didn't know about that". I don't remember ever being formally taught it before that but it still surprises be how few people where already familiar with it.
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 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.
Those of us born in the 70s... Doing anything with a computer required knowing at least a little programming, so we learned at 8 years old, then when we got to high school/college, we were taught by people who knew nothing about programming because they were already old and didn't think they needed to learn anything new...
Not really sure if this answers your question (I agree with you, ultimately), but here’s my experience:
At the college I attended, these sigma/pi expressions weren’t taught until the end of Calculus 2, but I wanted to take an Algorithms class - which had calc 2 as a prerequisite.
I got an exception from my advisor which allowed me to take Algorithms before the pre-req. In my experience, these concepts were easily learned in the context of algorithmic complexity.
Some might be barred from learning important theory in computer science by “brutal” math classes at university. They might find solace in this post which translates sigma into ‘for’
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
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 with reduce(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.
They are the same difficulty level, sure, but that's like saying f(x) and f'(x) are at the same difficulty level. Coming from one to the other in a process is the difficult part, and the code offers instructions to follow this process.
I mean they are both the exact same thing, I don't see why summation is scray when the for loop isn't. It's the same thing written in a short and easy format.