Regarding use of Maths in software
For 95% of the programming jobs out there, you don't need to know maths. At the very rudimentary level, you need to know how to program, and you need to understand the tools and frameworks available to you. So, the question is why do they teach maths in software engineering courses?
Learning math makes you a better programmer One of the most important skill that a programmer can learn is
problem solving. Being able to take a problem, and break it into parts, and then solving them individually is one of the core skills that allows you to move forward as a programmer. Coming up with multiple solutions, trying both out of them out on paper, and then comparing the pros and cons is another skill that will take you further It so happens that you need to do a lot of this problem solving thing when you do math. This makes learning math an excellent tool to learn problem solving. The reason why computer science courses have a math component to it is because they want you to learn how to problem solve. You will probably never use the math you learnt in college
So, what about the 5% of the jobs that are out there. There are a lot of Data Science jobs that require good mathematical knowledge. A lot of the Data Science is driven off statistical analysis techniques, and you need to have a good understanding of Statistical analysis to understand the requirements. You don;t need to have a degree in statistical analysis to be a data science programmer, although a formal degree is always a plus. There are lot of free MOOC courses out there. I've heard that COursera has some good courses
https://www.coursera.org/specialization/jhudatascience/1. If you are a programmer who loves math, then learning data science can be interesting and profitable for you. Data Science is a hot field, and there is lot of demand for data science programmers, right now
Regarding concersn about low IQ
Contrary to popular opinion, you don;t have to have a high IQ to be a good programmer. A moderate IQ with an aptitude for programming and the willingness to keep learning for life is more than enough. High IQ is a bonus and make things easy for you to learn. However, it;s not a requirement
You do need a high IQ to do research, especially if you are thinking about computer science or mathematics. You need to be able to keep multiple things in your head and examine them closely. That's exactly what IQ tests measure. And contrary to popular belief, IQ is not fixed. You can change your IQ. It requires work. When I was in school, I used to measure about 70 percentile on intelligence tests. I took the GMAT, and I scored 95th percentile. Life, and having to think about stuff constantly gave me a 25 percentage bump. It only took about 15 years :p. Chances are that if you are in a 5 year course that is very research intensive, you might be able to train your brain to think better if you work very hard at it.
If you are truly concerned about not having a stellar IQ, going for a programming job is an easier option. Going into any kind of research is a much riskier option, and would require a lot of hard work, and support from your family. You might have to literally work 3 times harder than other students.