Tue, 21 Oct 2014
14:00 -
14:30
L5
Software Carpentry in Computational Science
Aron Ahmadia
(US Army Engineering Research and Development Center)
Abstract
This brief lecture will highlight several best-practice observations and
research for writing software for mathematical research, drawn from a
number of sources, including; Best Practices for Scientific Computing
[BestPractices], Code Complete [CodeComplete], and personal observation
from the presenter. Specific focus will be given to providing the
definition of important concepts, then describing how to apply them
successfully in day-to-day research settings. Following the outline from
Best Practices, we will cover the following topics:
* Write Programs for People, Not Computers
* Let the Computer Do the Work
* Make Incremental Changes
* Don't Repeat Yourself (or Others)
* Plan for Mistakes
* Optimize Software Only after It Works Correctly
* Document Design and Purpose, Not Mechanics
* Collaborate
[BestPractices]
http://www.plosbiology.org/article/info%3Adoi%2F10.1371%2Fjournal.pbio.1001745
[CodeComplete] http://www.cc2e.com/Default.aspx