Yep! C to B student in high school, granted, taking the tougher classes. Got better grades in college (Which I got into mainly because I scored well on the SAT and applied as a music major, then switched immediately after), and graduated with a (in hindsight) bullshit degree in applied science.
~5 years after college, I learned to code, and it's been a passion since. 7 years after college, I started a path I am still on to become proficient at math and science. I am still on that path. I"m 37, and am in a coffee shop reading a paper about interpretations of electron charge distribution. At home, I am coding general relativity and chemistry sims. I had no interested in this sort of thing while I was in school, and if I'd pursued them, I almost surely would have failed out.
I have a well-rounded math*+science+engineering background and knowledge base now, but it was almost entirely from self-study.
Good luck!
*Math in terms of the sort you'd need for science or engineering. I think the abstract stuff may be beyond me forever, in the way functional programming is. I think you need a certain level or type of intelligence for that.*
Not to get far off topic, but functional doesn't have to mean Haskell etc. The more I more imperative code I write, the more and more it looks functional because it makes it easier to think about at any level without looking at everything. In fact, I believe that if software building was taught functionally (without the super abstract stuff), more people could understand programming better. The main benefit of functional style is it takes the step-by-step time element of code execution out of the equation. You basically get to treat everything like a black-box. Some things you can't, so you take note of those rather than worry about it all the time.
I read this great reply in /r/ProgrammingLanguages[0] that really spelled out the pros/cons of certain languages/type systems so that I don't think that Haskell is for me, even if I put in the effort to get better at it. F# is more my cup of tea.
~5 years after college, I learned to code, and it's been a passion since. 7 years after college, I started a path I am still on to become proficient at math and science. I am still on that path. I"m 37, and am in a coffee shop reading a paper about interpretations of electron charge distribution. At home, I am coding general relativity and chemistry sims. I had no interested in this sort of thing while I was in school, and if I'd pursued them, I almost surely would have failed out.
I have a well-rounded math*+science+engineering background and knowledge base now, but it was almost entirely from self-study.
Good luck!
*Math in terms of the sort you'd need for science or engineering. I think the abstract stuff may be beyond me forever, in the way functional programming is. I think you need a certain level or type of intelligence for that.*