Skip to main content
3 answers
4
Updated 969 views

What computer programming language(s) and/or computing environments are most critical for theoretical astrophysicists?

I am a senior in high school and will graduate from high school in a few weeks. This fall, I start college and will double-major in physics and astronomy. My ultimate goal is to earn a PhD in Theoretical Astrophysics. While an undergraduate, it is imperative for me to gain computer programming skills because, rather than performing numerical analysis by hand, cutting edge research requires high speed computing for simulation and data analysis. I am wondering if there consensus on which computing skills are considered most critical to a theoretical astrophysicist? #computer-science #astrophysics #theoretical

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

4

3 answers


1
Updated
Share a link to this answer
Share a link to this answer

Jeff’s Answer

Hi Carter!


Wow! Ambitious, focused and clear-headed! Your plans are awesome!


I'm completely out of my comfort zone in the area of Theoretical Astrophysics but I know that you will be dealing with tremendous amounts of data. Technical skills that would help include any big data classes, R programming, data analytics, statistics and statistical analysis. R is one of the most popular programming languages for parsing big data as of the last time I checked. However, others on this site who deal with data analytics would be better able to discuss current programming trends.


Best of luck and stay focused on the end goal!


Jeff

1
0
Updated
Share a link to this answer
Share a link to this answer

Ashley’s Answer

That is a very cool goal to pursue! Daniel brings up a great point, it's best to get some basics. How programming works is that there's a couple of basic fundamentals that carry over from language to language. Once you get the basics, learning a new language is comparatively easy. From my understanding, a good chunk of scientific programming is building simulations and similar on a language called matlab. I would also recommend learning C, because I have heard of scientists using lower-level (closer to directly instructing the hardware) languages, which C can help you understand, and C is a good language to build strong programming skills anyway. To start and just get the basics, I would recommend python.

Once you are in your bachelors you can likely take some programming electives. Your school may have some good entry level coding courses. Any intro to computer science course will do. Another thing you can do is try to reach out to your science professors and ask them what they do. Having relationships with your major-relevant profs outside the classroom is a great way to make connections and honestly have some extra help throughout your college career. Reach out, ask them what programming they've had to do.

Hope this helps!
0
0
Updated
Share a link to this answer
Share a link to this answer

Daniel’s Answer

Hi Carter,

Have you ever dealt with any programming languages?

I would suggest getting some general understanding in programming before diving into a specific case for it. For example, take some free online classes on a good beginning language like Python. That way, when the time comes to learn a specific language for your university courses, you will have a foundation to build on and be ahead of the curve.

If you enjoy the beginning courses, you can continue to build your knowledge in a more particular language/project. I also agree with Jeff that you will likely be dealing with a lot of data. Similar to the foundations of programming, I would suggest a general understanding of big data analytics and then dive into some code projects.

Best of luck!
0