Physics Want to become Theoretical Physicist but don't know Coding

AI Thread Summary
Aspiring theoretical physicists often need programming skills for simulations, but prior knowledge isn't mandatory before starting university. Taking computer science courses can be beneficial, as they enhance logical thinking and coding skills, which are valuable in physics. Many students find programming challenging yet enjoyable, leading some to switch majors after their first course. Familiarity with one programming language is more advantageous than minimal knowledge of several. Overall, pursuing programming education is recommended for those interested in physics, as it complements mathematical skills and enhances future career prospects.
Quantum_Arcanium
Messages
2
Reaction score
1
Hi, I am an aspiring Theoretical Physicist. I've heard that you need to know many programming languages to become a Physicist, but I have never learned a single programming language in my life and I am 16-17 years old now. Is there any chance of me still becoming one? Is there anything I can do? Will taking Computer Science courses in College be a good choice? Thanks for your help.

Quantum_Arcanium
 
Physics news on Phys.org
A lot of the work most physicists do is related to programming in order to perform simulations of systems that cannot be solved analytically. However, I do not think you need to know programming before starting university (I didn't). Of course, already knowing it gives you an edge, just as you might have other edges if you have pre-studied university level mathematics, etc.
 
  • Like
Likes DeBangis21 and ZeGato
Orodruin said:
A lot of the work most physicists do is related to programming in order to perform simulations of systems that cannot be solved analytically. However, I do not think you need to know programming before starting university (I didn't). Of course, already knowing it gives you an edge, just as you might have other edges if you have pre-studied university level mathematics, etc.

I am strong in Mathematics but just don't have any programming experience at all. Thanks for your advice too.
 
Im no physicist but I am in an introductory programming class now. I started out having zero knowledge of the matter (didnt even know what compressing a file meant, etc). Its a really fun class but out of all my classes (Calc I, Chem I, generals), its my hardest one.
For some programs, you know what it needs to do but its hard to put that on a screen in such a way that nothing is assumed and is basically boiled down to the most basic level. For example, writing code for a simple rock paper scissors game is actually quite difficult. Coding requires a certain type of thinking different from anything I've experienced but with practice it starts to become more natural. At my university, a significant amount of students change majors to CS after taking their first CS class because its a fun thing to do. I definitely won't do that but know many that have. So I think you should definitely take it as its fun and a valuable skill professionally and intellectually. My school doesn't require it for the physics major so I am just taking it as an extra class and will probably take another over the summer to get a broader understanding of it.
Food for thought.
 
Quantum_Arcanium said:
I've heard that you need to know many programming languages to become a Physicist
If you know one programming language reasonably well, that's better than having only a minimal understanding of several languages.

Orodruin said:
A lot of the work most physicists do is related to programming in order to perform simulations of systems that cannot be solved analytically.
And a lot of that work, at least what I've seen here at this site, is in Fortran, and very poorly written at that. Having one or two computer science classes under your belt would make it more likely that the code you write would be easier for someone else to read, more portable to different operating systems, and more reusable.

I assume that you (the OP) are still in high school. If they offer programming classes there, consider taking one. Another option is to take a class at a local community college if there is one near by. It's good that you are strong in mathematics, but being able to write good programs also requires strong logical and organizational skills.
 
Mark44 said:
And a lot of that work, at least what I've seen here at this site, is in Fortran, and very poorly written at that.
I can only speak for the HEP community, but Fortran used to be very popular. It has fallen somewhat out of fashion to give way to C/C++. There is a cutoff somewhere between the ages 40 and 45. Older people use Fortran, younger C or C++. Even younger may try to avoid compiled languages altogether in favour of Matlab and Mathematica.
 
Orodruin said:
Even younger may try to avoid compiled languages altogether in favour of Matlab and Mathematica.
Or Python, using its numpy and scipy libraries.
 
These days, one can work in a web browser...
which is great since there's nothing to install or configure.

Later when you need maximum performance,
you can choose your language and platform
and appropriate installation files.

But for now... you can try these out, for example...
... and you don't need to wait to take a course to try things out.

Check out Glowscript (which is a variant of VPython, a physics-inspired library for Python)
http://www.glowscript.org/
http://www.glowscript.org/#/user/GlowScriptDemos/folder/Examples/
http://www.glowscript.org/#/user/matterandinteractions/folder/matterandinteractions/ [look at these examples]

Some of the visualizations are in 3-D... right-mouse-drag to rotate.

Code can be viewed and you can copy them and make modifications.

I prefer to work on
https://trinket.io/ (which supports Glowscript, Python 2, and HTML5 on a free account)

See this blog entry by Rhett Allain to get started...
https://www.wired.com/2015/04/dare-change-numerical-calculation/
[the error in the code example presented there can be corrected by editing line 11 and replacing "true" by "True"]
 

Similar threads

Back
Top