Collection of Richard Feynman talks on the scientific method, learning, and CS
chill.com
chill.com
Dr. Feynman delivered these lectures as part of the "Messenger Lectures" [2] series at Cornell University in 1964:
Lecture 1: Law of Gravitation - An Example of Physical Law
Lecture 2: The Relation of Mathematics and Physics
Lecture 3: The Great Conservation Principles
Lecture 4: Symmetry in Physical Law
Lecture 5: The Distinction of Past and Future
Lecture 6: Probability and Uncertainty - The Quantum Mechanical View of Nature
Lecture 7: Seeking New Laws
[1] Requires SilverLight: http://research.microsoft.com/apps/tools/tuva/index.html
Stephen Wolfram on Richard Feynman : http://www.stephenwolfram.com/publications/recent/feynman/
A famous letter Feynman sent to Wolfram : http://www.lettersofnote.com/2010/06/you-dont-understand-ord...
One unambiguous application of the scientific method to computing is in debugging. Your program behaves unexpectedly – aha! a new phenomenon. The lateral thinking hardware in your brain engages as you tinker around, reproducing the bug and noticing the conditions in which it happens. You gather all of this together with your existing knowledge of the system, and come up with an explanation for the bug – a hypothesis! Then you try to falsify your hypothesis. You might try to falsify it by watching a value in the debugger, for example. Or you might modify your program and see if the bug persists or changes its behavior. You aren't usually recording all of this on paper, because in this case you don't care much about presenting your findings to others. Others will be satisfied if the bug is gone. And of course, you probably aren't thinking of the words "hypothesis" and "experiment". But that's what you did, and that's why you figured out the bug.
(On the other hand, some programmers try to debug their programs by poking and picking randomly at their code until they get it working. I would urge them to try adopting a scientific approach. It's not just a way to satisfy a teacher in a chemistry lab, as it turns out.)
Feynman himself speaks about it: http://www.youtube.com/watch?v=IaO69CF5mbY
http://longnow.org/essays/richard-feynman-connection-machine...
I wish there were more lectures by others spread around. Say John Bardeen, for example.