<p>@Jnelsonmarka</p>
<p>I think you will get a better answer if you are more specific</p>
<p>Cryptography requires math when you implement cryptographic algorithm. In reality, few people implement them. Most will use two libraries, openSSL that comes with all Linux, and the Crypto API that is built into Windows from Microsoft. You only need to understand how Public Key/Private Key, signature… work. It is like you know how to drive a car (use library), but you don’t need to know how to make a car (implement library).</p>
<p>3D graphics requires a lot of matrix oriented math calculation. One has to know math well to implement the library. Most will just use openGL and the openGL library will do it for you. You do need to have an understanding of what is rotation, translation, projection, color representation… These are far easier. You will find most high end engineering software in the world relies on only 2 companies for specialized libraries when they need the actual geometry after calculation. </p>
<p>Look at this web page, if you investigate it, it is not hard to find out how much math is required.</p>
<p>Look at these Google APIs to find out yourself how much math is required</p>
<p><a href=“Explorador de API de Google | Google APIs Explorer | Google for Developers”>গুগল এপিআই এক্সপ্লোরার | Google APIs Explorer | Google for Developers;
<p>Find an app on your phone or your computer that interests you. Study what is required to develop it, you will be able to draw your own conclusion.</p>
<p>There are lots of great CS classes on Apple iTunes U or YouTube form top schools. You will be rewarded if you put in the same amount of hard work with degree or not in CS. You can’t find many engineering scientists that require mathematics or physics background without a degree. CS is different, you can find many engineers without a CS degrees or never gone to college, relatively speaking. It is still far easier to get a CS job with a degree.</p>
<p>I have worked with many engineers with PhD in math and physics from top schools around the world. I can’t write the type of programs that require strong and deep domain knowledge. What I can do is design the architecture and framework on how everything fit and communicates when programs run in a cluster for hours or days. This task requires CS related domain knowledge that one can’t do well without CS training. I have to rewrite code by some of the scientists to get things working the right way many times so I do have an understanding of the difference between CS trained and non-CS trained programmer.</p>