Computer Programming for Astrophysicist

In summary, you should learn some programming so you can understand how computers work and figure out how to make them do what you want.
  • #1
SpaceMusicGeek
9
0
Hi Guys,

I'm going to start my undergraduate degree in Astrophysics at Columbia University this Fall. From the various conversations I have with professional Astrophysicists, it seems like i have to know computer programming on top of astrophysics, if i want to work in the field. I have ZERO to VERY, VERY LITTLE experience in computer programming ( honestly, I did some MS-DOS and LOTUS 123 in the 90s, but I've completely forgotten how by now ! ). What courses / computer programs should I learn. Which ones are applicable for Astrophysics/Physics ?
 
Physics news on Phys.org
  • #2
While there are some popular computational-physics textbooks (Gould-Tobochnik, Giordano, Press-Teukolsky, etc... [http://sip.clarku.edu/books/computationalphysics.html ] ) and popular computational languages (java, python, c++, matlab, mathematica, etc...), it might be best for you to get advice from your astro professors... since they are working in the field and likely have preferences that you should follow if you wish to work with them.

From poking around the Columbia Astronomy website,
http://www.astro.columbia.edu/ [to Academics, Undergrad]
www.college.columbia.edu/bulletin/depts/astro.php?tab=ugrad [to course listings]
www.college.columbia.edu/bulletin/depts/astro.php?tab=courses
to the course description for "ASTR W4260x Modeling the Universe"...
http://www.columbia.edu/cu/bulletin/uwb/subj/ASTR/W4260-20133-001/
https://courseworks.columbia.edu/tbook-tool/viewTextbook.vtb?courseId=ASTRW4260_001_2013_3&view=course

..and then with google...
http://www.astro.columbia.edu/~gbryan/W4260/
 
Last edited by a moderator:
  • #3
Most computational physics programs are written in Fortran or C++. The push these days is object-oriented programming.

Python is useful, but mostly for script programs that manipulate data, e.g., I/O arrangement. In one system, we use python script files to generate a finite element (FE) model (mesh) for use in a FE simulation.
 
  • #4
I think you should have a look at this: http://www.codecademy.com/learn At first glance it looks like it the equivalent of khanacademy for learning how to program, looks like a nice guided tour to the fundamentals.

On the side, try getting started with LaTeX (grab texlive2012 and texniccenter if you're on Windows most of the time) and grab hold of a few good templates for your projects, homeworks, lab reports. It'll be a little more time consuming than doing everything in Word at first, but it will pay off and you'll be happy you learned how to use it later down the line when you're preparing your senior thesis...
 
  • #5
SpaceMusicGeek said:
Hi Guys,

I'm going to start my undergraduate degree in Astrophysics at Columbia University this Fall. From the various conversations I have with professional Astrophysicists, it seems like i have to know computer programming on top of astrophysics, if i want to work in the field. I have ZERO to VERY, VERY LITTLE experience in computer programming ( honestly, I did some MS-DOS and LOTUS 123 in the 90s, but I've completely forgotten how by now ! ). What courses / computer programs should I learn. Which ones are applicable for Astrophysics/Physics ?

The short answer is it doesn't matter. You should just start coding something in whatever language. Use your imagination and try to simulate something in a fun way. After a while, if you get the programming bug, you will become curious and explore other languages and a lot more. Maybe python and PySci is a good place to start. But the important part is about realizing that in programming, you can pretty much do anything you want, and harness that.
 
  • #6
Most astronomers program in IDL, but you need to pay for a license. So don't worry about that for now. The point is to learn some programming in any language, and it's easy to pick up a new programming language once you know one - it's just syntax from there. The real goal of learning programming is to figure out how the computer thinks, and how to tell it to do something. There are plenty of resources online for learning Python, so start there. Like others have suggested, learning some Linux commands would also be useful. If you have a Mac, great. Open up a terminal window and get started. If you have Windows, try a dual-install of Windows and Ubuntu.
 

1. What is computer programming for astrophysicist?

Computer programming for astrophysicist is the use of coding languages and software to analyze and model data related to astrophysics. This includes creating simulations, visualizations, and algorithms to better understand the universe and its phenomena.

2. Why is computer programming important for astrophysicists?

Computer programming allows astrophysicists to process and analyze large amounts of data quickly and efficiently. It also enables them to create complex simulations and models to test theories and make predictions about the universe.

3. What programming languages are commonly used in astrophysics?

The most commonly used programming languages in astrophysics are Python, Fortran, and C++. Python is often used for data analysis and visualization, while Fortran and C++ are used for more computationally intensive tasks such as creating simulations.

4. Do I need to be an expert programmer to be an astrophysicist?

While having a strong understanding of programming is important for astrophysicists, it is not necessary to be an expert in coding. Many astrophysicists work with teams of programmers and can learn the necessary skills as they progress in their career.

5. Can I learn computer programming for astrophysics on my own?

Yes, it is possible to learn computer programming for astrophysics on your own through online resources, courses, and practice. However, it may be beneficial to also take courses or collaborate with experienced programmers to gain a deeper understanding of the subject.

Similar threads

  • STEM Academic Advising
Replies
3
Views
946
  • STEM Academic Advising
Replies
6
Views
1K
  • STEM Academic Advising
Replies
12
Views
1K
  • STEM Academic Advising
Replies
16
Views
2K
Replies
2
Views
879
  • STEM Academic Advising
Replies
9
Views
1K
  • STEM Academic Advising
Replies
12
Views
1K
  • STEM Academic Advising
Replies
5
Views
2K
  • STEM Academic Advising
Replies
10
Views
1K
  • STEM Academic Advising
Replies
4
Views
206
Back
Top