Scientific Programming Does Not Compute, Part 2

A few weeks ago, I wrote a post on Scientific Programming Does Not Compute?, which recommended more formal computational training for astronomers. Reader Warrick Ball pointed out a paper on the same subject by Igor Chilingarian and Ivan Zolotukhin, called “The True Bottleneck of Modern Scientific Computing in Astronomy.” Their paper draws the same conclusion, but they are lead there by examples in astronomy. They cite examples (no names attached!) of code written in ancient flavors of Fortran, poor control flow in programs, and complex databases built without a data model.

Chilingarian and Zolotukhin cite successful projects developed by astronomers
with very strong IT/CS background or by IT/CS professionals working closely with astronomers. They conclude … “change the teaching paradigm for students in astronomy. Basic courses in algorithms, programming, software development and maintenance have to be made mandatory in the education of modern astronomers and physicists; advanced courses should be recommended to some of them.”

I agree completely.

This entry was posted in cyberinfrastructure, education, High performance computing, information sharing, programming, software engineering, software maintenance, software sustainability and tagged , , , , , , , , , . Bookmark the permalink.

4 Responses to Scientific Programming Does Not Compute, Part 2

  1. mihos says:

    While I agree with the sentiment, I am not sure how to actually work it into the curriculum, particularly at the undergrad level. Right now our astronomy program is packed with calculus, physics, statistics, and astronomy courses. We do require our students to take a intro computer programming course, plus a computational physics course, but these still often leave them…. lacking. Many students do pick up informal programming experience through their research with faculty, but in terms of the formal curriculum, we literally cannot add more CS/programming courses to degree requirements without taking other courses out. So what do we take out?

    • Marcel says:

      I think there are plenty opportunities to ‘save time’ in current curricula. I feel that very many courses I have followed during my undergraduate studies in astronomy are not very useful for my work in astronomy (I am a postdoc now). Some examples would be advanced quantum physics (of course we do need to know the basics, but I have seen detail that I don’t think more than 1% of astronomers use in their research), some of the math courses that I didn’t even use in the very theoretical physics courses and applied physics in other fields (e.g. atmospheric science).

      Also, some more integration between statistics courses and lab courses would be a good idea. I had courses on basic physics we use in astronomy, like hydrodynamics, and all of that was repeated in courses on ISM physics, and in a course planetary nebulae and supernova remnants that I followed later. More integration there would save time too.

      The problem is, in my opinion, that better integration does not only require revising courses (which is time consuming for teachers) but also coordination between the different teachers of the courses. Really saving time on the existent curriculum will require a heavy revision of the whole curriculum and such changes are just not easy.

  2. I completely agree with you and this latest paper. Incidentally two of MAST’s projects (HLA and GALEXView) are recognized as “Good Examples of Technologically Advanced Project”.
    However, to this day in large collaborations like the VAO those writing standards and code are mostly astronomer. Astronomers came up with an unmanageable VOTable XML: un-parsable by any standard XML tools out there and based on the great, and yet old, FITS standard. Upgrading to something like JSON or more modern object description is not in the plans. Many of VAO protocols are not rooted in CS reality: look at SIAP. The GIS community has had standards for SIAP-like services for 20 years and none of them has made it into the VAO. Take a look at messaging (SAMP). No lesson has been learned, and no protocol has been implemented using the 20+ years of experience of protocols used in, say, the financial industry for massive messaging…

    Until astronomers continue to think they have special data, astronomy will be an island full of F77 books 🙂

  3. Michael Aye says:

    @Mihos Maybe a combination of statistics and programming would work? I think statistics benefits very much of trying it out on existing data sets and not being taught exclusively on the blackboard.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s