What mathematics do I need to be a good software engineer?

141 Views Asked by At

I am new student in software engineering and I am too puzzled what is the math that I need to be good software engineer ?

2

There are 2 best solutions below

1
On

I'll give you examples of what I play with in PARI GP .

Sets of commands testing the same thing at heart:

  • core(n)==n, issquarefree(n) both can be used to check if a number is squarefree. This feeds into algorithmic complexity (as one runs faster than the other over large number of tests, I think by 25%, if my test results were remembered correctly), and combinatorics of testing .

  • core(n)==1 and issquare(n) ( and a few other more abstract ones) can be used to check if a number is a square number.

Necessary conditions:

  • isprime(n) tests if a number is prime, but it would run slow on big numbers. A necessary condition for primality, is pseudoprimality, maybe I could try ispseudoprime(n) first . If it weeds out 20%, then I could do 25% more tests, before the actual primality testing would take the same time as before (assuming primality testing is constant time for simplicity). This is of course, weighted by the probability a given number we are trying to test, will pass the other tests. I give you markup and margin.

    Logic ( less used by me):

  • There are 16 logic gates, sometimes we can formulate an equivalent to one we don't have access to natively. So for example, a XOR gate tests if it fits exactly one of two conditions ( or states, in the case of the bit operation) it can be formulated in terms of NOT, OR and AND as follows:

    ((NOT x) AND y) OR (x AND (NOT y))

    This because things like ( x AND (NOT x)) ; can't be true in most commonly used logic.

    • You can actually formulate potentially quickfire AND, XOR testing using if else statements, if your language has them.

    Mathematics, is applied logic.

oh and for programming stuff https://rob-bell.net/2009/06/a-beginners-guide-to-big-o-notation helps.

0
On

Originally posted as a comment.

I'd say take whatever math courses are required, then also take whatever math courses you find interesting. Honestly for most software engineering applications you rarely need much math at all.