|Statistics of polled scientists|
Various problems can arise from a lack of formal training while coding. Program breaking bugs may slow down the scientist more than a programmer. Even if the the programs works, the code may contain many small bugs that can alter the results in imperceptible ways, such as a research team out of Scrips Research Institute in California that had to redact 5 published papers because there was a flipped minus sign in the program that altered their output.
Many scientists verify their code using validation testing, where the scientist would input known values with a known output and compares that to what the program outputs. This method will often miss tiny mistakes that make themselves apparent in other data. Many programmers use more rigorous testing methods, breaking code in to small chucks and testing each chuck individually, then testing how the chucks are put back together.
Requiring verbose commenting is also a practice that many self taught scientists may ignore. A lack of comments makes understanding or changing code more difficult. A lack of comments also makes using code generated by someone else or someone else using your code confusing and nearly impractical. Encouraging scientists to form groups to share and talk about their programs can foster better communication between scientists and better code.
Seeing as the class is filled with majors other than computer science, I had a few questions about your experiences with coding. How often are you asked to program in your other classes or job? What kind if training have you received regarding coding, such as classes or on the job training, or did you teach yourself? Would you like more classes about proper coding techniques or are they more of an annoyance than a help?