arrow_back Search

HOUSE_OVERSIGHT_015954

House Oversight Committee
insert_drive_file IMAGES-003-HOUSE_OVERSIGHT_015954.txt description DOCUMENT text_fields 336 words · 1.8k chars

264 Are the Androids Dreaming Yet?

WELL... IT TURNED OUT WE SO BASICALLY ROSS |S DION'T HAVE ENCUGH BURGET || GOING TO HELP YOU TILL ITS TO HIRE ANOTHER DONE. PROGRAMMER ON THIG

PROJECT.

Geek Humor

and examine the full scope of the problem space. Even if you say, “Oh don't worry about that bit? they always will. They want to know about everything. Then, they write a high-level list of features, some simple block diagrams, and occasionally a flow chart, only then do they begin to code, ticking off the list as they go. Sometimes, they will check to see if their list is the same as your list but more often they will come back and just check the high-level purpose. “If I give you something that achieves this, will that do it for you?” They test as they code so you end up with is something that meets your high-level purpose, and can prove it does so in its own right. At the end of the coding they write out the specification for the project so that they can remember what they did, or a colleague can pick it up in the future.

This is not how students are taught. Students are told to write a detailed specification at the start and then simply implement it. If you’ve been following my argument, they are being taught to do something impossible! There is no ‘just’ to programming. Sometimes teams are even split up so that one person writes the specification and another the code — again an impossible task. If the specification was the answer to the problem, it must have required creative thought to develop and so would be as complex as the program itself. Since it is not yet a program you cannot test it, so it becomes an untestable solution to a creative problem. Since the specification is not the answer but rather a general list of tasks, the great danger is to give it to a separate programmer and

HOUSE_OVERSIGHT_015954