Re: Perspectives: Teaching chemists to code
Most comments online were enthusiastic about the advantages of teaching programming to chemistry students, but at least one reader disagreed.
All STEM majors could benefit through a course in code! Especially when all of our data-analyzing software is made through such. It gives a greater connection between the chemist and the computer, bringing the field to new heights. As technology advances, most subatomic and microscopic chemistry will be dealt [with] through computer analysis, and thus, yes, I think a much greater emphasis on coding should be pursued.
I’m a chemist who works alongside programmers on a daily basis, and I think it’s a terrible idea. Any kind of programming done by an amateur who has just attended a coding course is likely to look poor, be full of bugs, and is most unlikely to have a “help file” or manual. This makes it almost useless for the next student who comes along. Furthermore, I can guarantee it will fail any sort of regulatory compliance test. Leave the job to a professional and concentrate on the most difficult task: specifying clearly what you want new software to do for you. The skills needed are logic, critical thinking, and communicating in good English.
Dr David Thomas
There is a difference between educating chemists so they have the tools available to do things they want to and writing extremely complex, well-vetted programs that are used by entire companies for compliance reasons. You don’t have to do the latter to find programming useful. Any sort of computer science literacy would immensely help most chemists. To say otherwise is to ignore the way the winds are blowing. Not everyone has the luxury of having a team of coders at their beck and call. And that isn’t required to write simple programs to automate your data analysis.
Also, amateurs are not the only ones who produce software that is full of bugs with poor documentation.
As someone who has taught myself programming during my graduate career, this is a great idea to me. Most of the undergraduates that come through our lab take some class that incorporates MATLAB or Mathematica already. I have worked alongside programmers also, and yes, my code is often more crude; however, they know what I am trying to accomplish and can refine it easily. The knowledge I have also allows me to know the limitations of the Python modules that are available, which helps collaboration with the software teams. Overall it is a great idea to teach students one of the popular programming languages as they will continue to be important in the field of chemistry.