OTOH, you need to be good at the same kinds of reasoning that leads one to be good at math. Not knowing much math isn’t a problem, but not being able to learn math is probably a dealbreaker.
I’m bad at math and struggled heavily through calc 2 and barely passed with a D+ but had little issue with data structures and algorithms (except when the algorithms were written in math notation, but still got through it after being explained in a logical set of steps instead).
The reason programming curriculums are so math heavy is because of teaching logic.
You’re either right or wrong in math. There is ONE answer to the formula. You can sometimes get there different ways though. The logic on your path is the key.
When I was in college I took a symbolic logic class taught by the philosophy department that was indeed useful. OTOH, I was told later it was originally created as a CS class and only moved to the philosophy department for political reasons.
OTOH, you need to be good at the same kinds of reasoning that leads one to be good at math. Not knowing much math isn’t a problem, but not being able to learn math is probably a dealbreaker.
I’m bad at math and struggled heavily through calc 2 and barely passed with a D+ but had little issue with data structures and algorithms (except when the algorithms were written in math notation, but still got through it after being explained in a logical set of steps instead).
Nail on the head.
The reason programming curriculums are so math heavy is because of teaching logic.
You’re either right or wrong in math. There is ONE answer to the formula. You can sometimes get there different ways though. The logic on your path is the key.
I’d I unironically say that philosophy and logic classes are extremely helpful for programming.
When I was in college I took a symbolic logic class taught by the philosophy department that was indeed useful. OTOH, I was told later it was originally created as a CS class and only moved to the philosophy department for political reasons.