Should a Future Physicist Master Calculus or Programming?

In summary: I don't think that's the majority of physicists.And about programming - I feel the same way. You have to know how to use it, but you don't have to know what it's doing "behind the scenes". Which i think is exactly the definition of "using" something. I think it's far more important for a physicist to know the limitations and strengths of the language they are using, the same way it's important for a physicist to know when to apply certain mathematical techniques. But do you need to master the language? I don't think so. In fact, I would go so far as to say that a physicist that has "mastered" a programming language is probably spending too much time programming and not
  • #1
NowsTheTime
18
1
Which skill is more important for Physics in the modern era?

From what I know, Newton (along with some other fellows) developed Calculus in order to solve problems in Physics. Because of this, it's safe to say that Calculus is an essential branch of mathematics to understand when it comes to studying Physics.

At the same time, today's computers can perform calculations in seconds/ minutes that would have taken days/weeks in the past. Does this mean that programming knowledge is more useful than mathematical knowledge when it comes to Physics?

chalkboard-calculus-equations.jpg
VS.
code-944504_640.jpg
 
Last edited:
Physics news on Phys.org
  • #2
All of the above.
Each offers an important way of thinking that the other doesn't provide.
 
  • Like
Likes NowsTheTime
  • #3
If you want to study physics seriously beyond high school, you NEED to master calculus. There's no way around it, I'm afraid. Yes a computer can do all of the calculations for you, but in order to make any advances in the field you need calculus to understand any of it. And anecdotally at least, it seems that often the biggest problems that university students have in understanding physics, are rooted somewhere in their calculus background.

Technically you can get through an undergraduate physics degree without a lot programming knowledge, but if you really want to do anything in the field, the more programming skills you have the better. I think the only real questions at this point are what languages to focus on learning first.

It turns out Robphys posted while I was typing and I agree - all of the above.
 
  • Like
Likes NowsTheTime
  • #4
Choppy said:
If you want to study physics seriously beyond high school, you NEED to master calculus. There's no way around it, I'm afraid. Yes a computer can do all of the calculations for you, but in order to make any advances in the field you need calculus to understand any of it. And anecdotally at least, it seems that often the biggest problems that university students have in understanding physics, are rooted somewhere in their calculus background.

Technically you can get through an undergraduate physics degree without a lot programming knowledge, but if you really want to do anything in the field, the more programming skills you have the better. I think the only real questions at this point are what languages to focus on learning first.

It turns out Robphys posted while I was typing and I agree - all of the above.
Which programming languages do you think are most useful to the budding Physicist?
 
  • #5
robphy said:
All of the above.
Each offers an important way of thinking that the other doesn't provide.
I see, but both mathematics and programming are rooted in logical thinking, right?
 
  • #6
NowsTheTime said:
Which skill is more important for Physics in the modern era?

Which skill is more important for a baseball player? Batting or fielding?
 
  • Like
Likes axmls
  • #7
Mastering calculus is a relatively short term project. When I went to school in the 70's, it took me, (if I am representative) one year to learn calculus, and perhaps another year to get sufficient practice with it to complete all my undergraduate physics. However, after calculus there is still differential equations, linear algebra, partial differential equations including special functions, a smattering of abstract algebra, and probability to round out a physicists education.

Mastering computers is an long term project compared to mastering calculus alone, although perhaps mastering all required undergraduate physics in a physics program is an equally long-term task, as mastering computers.

As far as computing languages all recommendations will be specific to your employers. In may work (I know I am in the minority) but I use the following programs and applications in the following percentage:

FORTRAN 55%, MATLAB 35%, C++, Java, Perl, Python, and others 10%. Sometimes the job(s) require us to resurrect old code that was written by subject matter experts > 40 years ago, who have long since retired. This is the reason for the emphasis on FORTRAN. I have seen newcomers suggest rewriting the code in a modern language like Python. Unfortunately neither the newcomers nor I can start writing code until we know what the earlier experts did and how they did it. In practice, many of the esoteric techniques were not well documented. Those early researchers thought they would be around forever.

I understand banking underwent a similar revolution, and needed experienced programmers in COBOL rather than a more modern language.

My advice is to mix old with new.
 
  • Like
Likes NowsTheTime
  • #8
NowsTheTime said:
Which skill is more important for Physics in the modern era?

From what I know, Newton (along with some other fellows) developed Calculus in order to solve problems in Physics. Because of this, it's safe to say that Calculus is an essential branch of mathematics to understand when it comes to studying Physics.

At the same time, today's computers can perform calculations in seconds/ minutes that would have taken days/weeks in the past. Does this mean that programming knowledge is more useful than mathematical knowledge when it comes to Physics?

I'm going to dissent here a bit with others, you don't actually need to master either. If we're thinking along the same lines as to what "master" actually means.

Do you need to know mathematics - of course. It's the way physicist concatenate information and model physical phenomena. Do you need to know how to prove the majority of mathematical theorems you might use, say in calculus as your example? Not for the majority of physicists, I would argue. So you aren't really mastering the field - that's what mathematicians are for - you're applying their work the same way engineers would apply physics. What you do need to know is how to use the tool given to us by mathematicians skillfully and correctly; as such, you need to be fluent in mathematics. I.e. how to derive, follow logic, appropriately "read" equations to garner the full information it tells you, etc. Obviously there some counter examples in physics where you do need complete mastery in some subject of mathematics, specifically in research areas that often collaborate heavily with mathematicians to develop new physics and mathematics, but for the majority I would assume, fluency is all that's required.

Do you need to know programming? The answer is also yes. There is no avoiding it, you will eventually need to write code. Do you need to write flawless code, the quickest code possible, design your own compiler, or understand how exactly the machine is processing your complied code? Probably not. Again you need fluency here.

So to answer your question OP, you need both skills. Which is more useful? Well obviously without fluency in mathematics at the level of current study, you won't go anywhere in the sciences - you shouldn't be able to complete a basic mechanics course without some fluency in basic calculus. You can skate by without knowing how to program basic code for a bit longer, possibly even to graduate school if it's not required of you during your undergraduate research (which it probably will be.) Eventually though your lack of programming skills will become a drag on your research teammates, and physics students are a resentful sort of bunch to those who don't pull their fair share of work for the group.

Study both, take one or two courses in a programming language of your choice. Once you get the feel of how to program code learning a new language is a far simpler task. You can learn more advanced topics as you need them. I personally use a bit Matlab, some Labview (which is pretty rare in the physics world I guess, I find it fun), some C and C++, depending on what the task at hand requires. You need to also know write latex documents, this you should learn as soon as possible. If some of your undergraduate research experiences were like mine, you'll have the honor of typesetting any papers for the group. Mathematica, sage, python, java, etc are also used. Some old timers love fortran still - lot of old code out there in it - and occasionally you'll run into the dinosaur that still programs stuff or does their data analysis in excel. Some applications/compilers/libraries/whathaveyou are free, while others require licenses. What your group has licenses for will determine some of the coding preferences. The point is though, once you get familiar with language through a course or self study, transitioning to the majority of these other languages is quite easy.

You probably won't have much leeway (read choice) in what you study for mathematics, you'll be required at a minimum to take the intro calculus series, linear algebra, and either PDE's or ODE's at any school worth going to. You'll probably also have a few mathematics electives. If a course called "mathematical methods in the physical sciences" or " Math methods in physics" is offered as an undergraduate course you should take it. Other good choices along with that course are complex analysis, probability, numerical methods, etc. You'll probably develop an idea of what extra mathematics you need to study when you develop a clearer idea of what subset of physics you want to study in graduate school. These courses are important, both for GPA for graduate school applications (if you blow off math because you believe programming is superior, you'll get low marks in these class inevitably), and for understanding the language of physics.

I've neither mastered calculus nor programming, but I can use math as a tool and cowboy code to accomplish tasks in my own studies in graduate school.

Not sure if this helps, but it's my own subjective experience. Mileage will vary.
 
  • Like
Likes NowsTheTime
  • #9
Student100 said:
I'm going to dissent here a bit with others, you don't actually need to master either. If we're thinking along the same lines as to what "master" actually means.

Do you need to know mathematics - of course. It's the way physicist concatenate information and model physical phenomena. Do you need to know how to prove the majority of mathematical theorems you might use, say in calculus as your example? Not for the majority of physicists, I would argue. So you aren't really mastering the field - that's what mathematicians are for - you're applying their work the same way engineers would apply physics. What you do need to know is how to use the tool given to us by mathematicians skillfully and correctly; as such, you need to be fluent in mathematics. I.e. how to derive, follow logic, appropriately "read" equations to garner the full information it tells you, etc. Obviously there some counter examples in physics where you do need complete mastery in some subject of mathematics, specifically in research areas that often collaborate heavily with mathematicians to develop new physics and mathematics, but for the majority I would assume, fluency is all that's required.

Do you need to know programming? The answer is also yes. There is no avoiding it, you will eventually need to write code. Do you need to write flawless code, the quickest code possible, design your own compiler, or understand how exactly the machine is processing your complied code? Probably not. Again you need fluency here.

So to answer your question OP, you need both skills. Which is more useful? Well obviously without fluency in mathematics at the level of current study, you won't go anywhere in the sciences - you shouldn't be able to complete a basic mechanics course without some fluency in basic calculus. You can skate by without knowing how to program basic code for a bit longer, possibly even to graduate school if it's not required of you during your undergraduate research (which it probably will be.) Eventually though your lack of programming skills will become a drag on your research teammates, and physics students are a resentful sort of bunch to those who don't pull their fair share of work for the group.

Study both, take one or two courses in a programming language of your choice. Once you get the feel of how to program code learning a new language is a far simpler task. You can learn more advanced topics as you need them. I personally use a bit Matlab, some Labview (which is pretty rare in the physics world I guess, I find it fun), some C and C++, depending on what the task at hand requires. You need to also know write latex documents, this you should learn as soon as possible. If some of your undergraduate research experiences were like mine, you'll have the honor of typesetting any papers for the group. Mathematica, sage, python, java, etc are also used. Some old timers love fortran still - lot of old code out there in it - and occasionally you'll run into the dinosaur that still programs stuff or does their data analysis in excel. Some applications/compilers/libraries/whathaveyou are free, while others require licenses. What your group has licenses for will determine some of the coding preferences. The point is though, once you get familiar with language through a course or self study, transitioning to the majority of these other languages is quite easy.

You probably won't have much leeway (read choice) in what you study for mathematics, you'll be required at a minimum to take the intro calculus series, linear algebra, and either PDE's or ODE's at any school worth going to. You'll probably also have a few mathematics electives. If a course called "mathematical methods in the physical sciences" or " Math methods in physics" is offered as an undergraduate course you should take it. Other good choices along with that course are complex analysis, probability, numerical methods, etc. You'll probably develop an idea of what extra mathematics you need to study when you develop a clearer idea of what subset of physics you want to study in graduate school. These courses are important, both for GPA for graduate school applications (if you blow off math because you believe programming is superior, you'll get low marks in these class inevitably), and for understanding the language of physics.

I've neither mastered calculus nor programming, but I can use math as a tool and cowboy code to accomplish tasks in my own studies in graduate school.

Not sure if this helps, but it's my own subjective experience. Mileage will vary.
This was immensely helpful. So mathematics is just a tool; knowing how to prove every mathematical theorem that you use is not essential to someone studying Physics. This is a very interesting point of view.

I believe that what you're saying is that, as a Physicist, it will be my job to "master" Physics, and that things like mathematics and computing are simply tools to help me achieve this goal.
 

1. What is the importance of mastering calculus for a future physicist?

Calculus is the foundation of physics and is essential for understanding complex mathematical concepts such as differential equations, integrals, and limits. It allows physicists to model and analyze real-world phenomena and make accurate predictions. Without a strong understanding of calculus, it would be challenging to excel in the field of physics.

2. Is programming a necessary skill for a future physicist?

In today's world, technology plays a crucial role in scientific research and data analysis. As a result, programming has become an essential skill for physicists. It enables them to write efficient algorithms, analyze large datasets, and simulate complex systems. Having programming skills can also open up opportunities for interdisciplinary research and collaborations.

3. Can a future physicist choose to master only one of these skills?

While it is possible to excel in physics without programming or calculus skills, having both can significantly benefit a physicist's career. These skills complement each other and allow for more efficient and accurate research. However, if one had to choose, mastering calculus would be more critical, as it is the foundation of physics.

4. How does mastering calculus and programming impact career opportunities for a future physicist?

Having a strong foundation in calculus and programming can open up a wide range of career opportunities for a physicist. These skills are highly sought after in fields such as research, data analysis, engineering, and finance. Additionally, with the rise of technology and data-driven research, the demand for physicists with programming skills is increasing.

5. Can a future physicist learn calculus and programming simultaneously?

Yes, a future physicist can learn calculus and programming simultaneously. In fact, it can be beneficial to learn these skills together as they complement each other. For example, learning how to solve differential equations in calculus can help in understanding and writing code for simulations. Many universities also offer courses that combine calculus and programming for physics students.

Similar threads

  • STEM Academic Advising
Replies
29
Views
565
  • STEM Academic Advising
Replies
24
Views
2K
  • STEM Academic Advising
Replies
26
Views
2K
  • STEM Academic Advising
Replies
2
Views
1K
  • STEM Academic Advising
Replies
15
Views
1K
  • STEM Academic Advising
Replies
4
Views
1K
  • STEM Academic Advising
Replies
15
Views
2K
  • STEM Academic Advising
Replies
13
Views
1K
  • STEM Academic Advising
Replies
25
Views
3K
  • STEM Academic Advising
Replies
9
Views
1K
Back
Top