Day zero : 15 February 2013

The introduction to the class, what we are going to cover, and why, and how.

The tools you’ll need for the later classes, why they are important, how to choose the right tools.

Introducing the example data set we will use.

Loading brain images and checking for problems.


  • You
  • Us
  • What you want out of the course
  • The benefits of being fluent
  • Reliability
  • Efficiency
  • Creativity
  • Getting started


The problem of incorrect findings

Donoho quote 0:

“The scientific method’s central motivation is the ubiquity of error–the awareness that mistakes and self-delusion can creep in absolutely anywhere and that the scientist’s effort is primarily expended in recognizing and rooting out error.” [donoho2009reproducible]

Donoho quote 1:

“In stark contrast to the sciences relying on deduction or empiricism, computational science is far less visibly concerned with the ubiquity of error. At conferences and in publications, it’s now completely acceptable for a researcher to simply say, ‘here is what I did, and here are my results.’ Presenters devote almost no time to explaining why the audience should believe that they found and corrected errors in their computations. The presentation’s core isn’t about the struggle to root out error — as it would be in mature fields — but is instead a sales pitch: an enthusiastic presentation of ideas and a breezy demo of an implementation. Computational science has nothing like the elaborate mechanisms of formal proof in mathematics or meta-analysis in empirical science. Many users of scientific computing aren’t even trying to follow a systematic, rigorous discipline that would in principle allow others to verify the claims they make. How dare we imagine that computational science, as routinely practiced, is reliable!” [donoho2009reproducible]

Donoho quote 2:

“In my own experience, error is ubiquitous in scientific computing, and one needs to work very diligently and energetically to eliminate it. One needs a very clear idea of what has been done in order to know where to look for likely sources of error. I often cannot really be sure what a student or colleague has done from his/her own presentation, and in fact often his/her description does not agree with my own understanding of what has been done, once I look carefully at the scripts. Actually, I find that researchers quite generally forget what they have done and misrepresent their computations.

Computing results are now being presented in a very loose, “breezy” way—in journal articles, in conferences, and in books. All too often one simply takes computations at face value. This is spectacularly against the evidence of my own experience. I would much rather that at talks and in referee reports, the possibility of such error were seriously examined.” [donoho2010invitation]


We started going through Ariel Rokem’s “Introduction to Python” notebook.

We ran the notebook by first downloading the raw file (above), then, in the same directory, running the command ipython notebook