I’m a freshman student in mathematics, and I’m considering whether or not to take a programming course. How important is programming for mathematicians? Do working mathematicians use programs to aid their research?
The answer is definitely yes, and there are many reasons. The three most important are:
To be more specific, I will just name a few concrete cases:
Being able to write a program to test conjectures or just try to see what is happening in a problem is certainly an asset.
I use programming all the time in my daily research and I think many other also do so. On the one hand, the development of algorithms is indeed a part of applied mathematics itself. Moreover, it can be really helpful to check identities or even to form conjectures by programming.
Read more about experimental mathematics here or have a look at the book collection here to get an impression how programs help in different field of mathematical research.
I am not a mathematician. But I love some mathematical topics. I believe that automation can’t be ignored as a tool in today’s mathematics of all levels. You need to be at least familiar with the concepts of programming. You can grow your skills over time to cover your core interests. For example, you should know about variables, loops, etc. but not worry about web design using HTML and CSS. If you learn a bit each year, in few years you will gain a very good skill that will allow you to prove and check your work and possibly enjoy mathematics more. Also, in today’s world, learning programming is not difficult. If you can understand Mathematics, general programming principles will be a piece of cake!
I have a Ph.D. in mathematics and I did two postdocs and worked as an assistant professor for five years in which I spent much of my time on research. I currently work as a software developer.
It depends completely on the type of math you are interested in. If you are interested in pure mathematics as opposed to applied mathematics the answer is generally that a programming language is worth much less than another semester of math under your belt. Proofs are the only gold standard in that area and computers rarely furnish them. Read the abstracts of papers for the top math (pure) journals in just about any given month and you can verify this for yourself.
The applied mathematicians I knew seemed to make more use of a computer, but it still depended wildly on the specific area of applied math they were interested in. Some areas of applied math seem to have researchers who really primarily do proofs and hence probably made little use of software themselves. Others were very interested in computer simulations of specific examples.
On the other hand it is by no means uncommon for people who major in mathematics to eventually find themselves doing professional software development. Given the number of math doctorates compared to the number of CS students, I am surprised often I have run into another math doctorate lurking among the software engineers. It’s not bad to have programming as a fail-safe in case you don’t end up in a job that is actually doing mathematics for a living. Though honestly a single course is unlikely to land you a software job.
I think programming is useful in some branches of mathematics to have some concrete examples, which may lead to a conjecture or even a proof.
One example is using programming to find out some integer sequences related to a problem, then checking it out using The On-Line Encyclopedia of Integer Sequences™ (OEIS™)
From there, one can get a clue of what is the underlying formula behind the integer sequences and from there work out a proof.
If I am not mistaken, the Birch and Swinnerton-Dyer conjecture arose from using programming to generate some data. Also, the (in)famous Four-Coloring Problem in graph theory was proved using some computer checking.
So yes, I believe programming is useful for mathematicians. Some purists do not believe in using computers (Andrew Wiles was quoted to say “I never use a computer.”), but I believe this is changing soon in this new generation.
Definitely programmers need math knowledge much more than mathematicians programming 🙂
I’m currently a senior in college, majoring in mathematics, so I’ll give you my (hopefully useful) perspective on the problem, and I’ll try to not repeat anything people have already said.
I went into college pure-math. That’s all I studied, I was going to do grad school after I graduated, and then I was going to go into academia. That was the plan. Up until the fall of my junior year, I mostly stuck to this plan (apart from some silly distributional requirements). But then I got burned out. Did a little too much math in the fall of my junior year, and decided it really wasn’t for me. So I took a chance and took some computer science courses.
I can’t speak to whether or not it will be useful for math research, although my intuition tells me that it most likely wouldn’t hurt. I found the theoretical computer science courses (graphs and networks, design and analysis of algorithms) to be very interesting and fun, and it wasn’t until after I took some CS that I really understood how poorly I understood computers.
I can’t say that taking computer science has deepened my ability to do mathematics, but it’s certainly exposed me to a new branch of math (theoretical CS), given me many useful tools for doing math (especially stat), and even if you don’t think it will be the most useful professional skill (which, for most jobs, it should be), it’s still a great life skill to have. I won’t guarantee that it will be useful for your math research, but I will say that I can’t imagine how the knowledge won’t benefit you in a substantial way in your future. Best of luck!