this post was submitted on 08 Nov 2024
118 points (100.0% liked)

Programming

17489 readers
51 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
 

I'm working my way to a CS degree and am currently slogging my way through an 8-week Trig course. I barely passed College Algebra and have another Algebra and two Calculus classes ahead of me.

How much of this will I need in a programming job? And, more importantly, if I suck at Math, should I just find another career path?

you are viewing a single comment's thread
view the rest of the comments
[–] rtxn@lemmy.world 6 points 2 weeks ago

You'll encounter math eventually. It could be as simple as implementing linear interpolation for a custom type, or understanding why a type is not suited for a particular application (e.g. never use floating points to represent money). If you delve into low-level networking, you'll need a good understanding of binary/decimal/hexadecimal conversions and operations. If you go into game development or graphics, you won't survive without a deep understanding of vectors, matrices, and quaternions. Any kind of data science is just math translated to a machine-readable language.

In my opinion, knowledge of the basic concepts is more important than being good at actually performing mathematics with pen and paper. For example, if you need to apply a transformation to a vector, nobody expects you to whip up a program that does the thing. Instead, you should immediately know:

  • what a transformation is (translation, rotation, scaling, projection, etc),
  • that each transformation has a corresponding transformation matrix,
  • that you'll have to deal with inhomogeneous and homogeneous coordinates, and
  • that you'll have to combine the transformation matrices and the original vector.

That abstract knowledge will give you a starting point. Then you can look up the particulars -- the corresponding transformation matrices, the method to convert between inhomogeneous and homogeneous coordinates, and the process of matrix multiplication. I know because I failed calculus.