Thought for the day:
Computer programming is considered alternately a 'science' subject and a 'mathematics' subject. Yet, science and math are two different approaches to problems. The scientific method involves identifying questions, formulating hypothesis based on knowledge, designing experiments to prove the hypothesis, experimenting and recording the results. Science may also involve using these results to solve problems that drove the initial questions. Some people think of programming this way. Programs to these people are trial and error constructs by which former knowledge is researched to find solutions to newly posed problems. Requirements, then, become the initial problem, and logical questions are posed, solutions hypothesized, and some code is thrown at it to see if it works. When it does, it's documented and perhaps utilized in the overall solution.
Alternately, programming is a mathematical discipline. Mathematics is the linguistics of science. It is the constrained language by which concepts are discussed. Study of mathematics, like any language, is the study of pre-defined concepts and how these concepts can be put together to express ideas. Again, some people think of programming in this fashion. Programs to them are sentences and paragraphs to be put together to express the ideas posed to them in one language (e.g. English) in another language (e.g. COBOL). Conversion of software requirements to computer code means the literal translation of instructions such that the machine acts in such a way as defined by the original authors.
Cool thing of the day: (thanks to Digg users for the link). Bio-engineers are attempting to create an organism (by programming DNA) that will eat CO2 and sunlight to create oil fuels. I could go on, but the video at the site includes explanations that speak for themselves. If you have 15 minutes, go watch this link at Ecogeeks. The work they are doing at Synthetic Genomics is VERY cool.