First, this is not a homework assignment, but you can treat it as such ;).   I found the following question in the published paper The Camel Has Two Humps.  I was not a CS major going to college (I majored in MIS/Management), but I have a job where I find myself coding quite often.  For a non-trivial programming problem, which one of the following is  an appropriate language for expressing the initial stages of algorithm  refinement?(a) A high-level programming language.(b) English.(c) Byte code.(d) The native machine code for the processor on which the program  will run.(e) Structured English (pseudocode).What I do know is that you usually want to start your design implementation by writing down pseuducode and then moving/writing in the desired technology (because we all do that, right?)  But I never thought about it in terms of refinement.  I mean, if you were the original designer, then you might have access to the original pseudocode.  But realisticly, when I have to maintain/refactor/refine somebody elses code, I just keep trucking with the language it currently resides in.  Anybody have a definitive answer to this?As a side note, I did a quick scan of the paper as I havn't read every single detail. It presents various score statistics, can't find where the answers are with the paper.
What is an appropriate language for expressing initial stages of algorithm refinement?
algorithms;self improvement
There is no definitive answer, except that very few people would choose C or D.  My preference is A, but others may prefer B or E.  Modern high-level languages are expressive enough that I don't bother with pseudo-code.  Instead of writing pseudo-code that says get data; do something complicated; output something, I can just write codedef main    def myData = getSomeDataSomehow()    def result = myData.doSomethingComplicated()    result.outputSomewhere()endMore likely, I'll start with a test:def testThatNoDataProducesNoOutput    createNullData()    runCode()    checkForEmptyOutput()endThen I successively add tests and elaborate the code until I can't think of any more tests.