homeomorphic said:
Yes, actually, I was going to say that engineers do programming, but forgot. This advice is not for someone who doesn't like programming. It's for someone who thinks programming is "okay". It will be a better fit than CS.
Perhaps, but at least from my experience working with engineers (one of my first jobs as a statistician was working for an engineering firm specializing in robotics and automation), to be an engineer involves not just being "okay" with programming and having a decent background in math and science (with a focus on physics), but also a natural affinity towards design and an affinity toward "hands-on" skills (e.g. working with your hands). Because at least a certain aspect of engineering involves using your hands to manually create or fix things (even if most engineers don't do this on a daily basis). This is particularly the case for mechanical engineers, at least from my observation.
If the OP is not comfortable with or doesn't have a natural affinity to do this, then engineering is not a field I would recommend.
Exactly. Which is why my advise isn't so bad. Can't get away from it. I think if you are an actuary, you can land a job where you don't have to do much programming.
I think most accredited actuaries don't do much programming, but those on the path to actuarial work who start out in entry-level positions (especially after passing only the first few actuarial exams) may have to do more of this in the beginning, although I may be wrong about this. Perhaps Locrian, chiro, or other actuaries on PF may have more insights on this.
To the OP: if you are "okay" with programming but don't enjoy it to a great extent, but are still interested in mathematics, consider pursuing further studies in statistics. I'm a statistician and while I do programming on a regular basis, I'm not necessarily involved in software development or maintenance to a great degree. And I have to think about modelling the problem at hand in the work I do, so this may be a good fit.
Operations research jobs may be another field worth considering as well (some of these jobs are heavily programming-intensive, while others are less so). If you don't mind working in a business setting, then perhaps supplementing your math courses with economics and business courses and becoming an accountant may also be an option.
Of course, this is based on your opinions about programming are based on the few courses you've taken. There is a lot more to CS than programming, and many of the jobs in IT, software development involve a lot more than just simple coding. You mentioned theoretical computer science and computational science -- there are many other aspects of CS which might very well interest you, once you get past the more mundane initial introductory subjects (machine learning was mentioned; there are also areas like database design, network design, natural language processing, etc., much of it highly mathematical & computational and highly applicable). So my advice would be to take more senior classes and see how much you enjoy the material.