Program Development
Planning:
Estimating how long the assignment will take, deciding what features to implement in what order, setting milestones for completion of various parts of the problem by specific dates before the final deadline. In the unlikely event that you make a serious error at this stage, it probably won't be identified until post-mortem.
This stage tends to be intertwined with the "Analysis & Design" stage. You can't develop a good estimate of how long the assignment will take until you've given some thought to how you're going to solve it. On the other hand, one of the things you need to budget time for is analysis & design itself.
Analysis and Design:
For most Scheme programs, this can be broken down into sub-stages:
Understand the assignment
Analyze the data types
Write contracts (and perhaps purpose statements) for functions
Write examples (with correct answers) for functions
to be done in approximately that order. If you later discover that you made wrong decisions about this stuff, it means an error was created at this stage. Errors created at this stage tend to be harder to repair than those created in implementation.
Coding:
Writing code in Scheme, Java, C++, or some other formal programming language. Errors created at this stage tend to be things like matching quotation marks, matching parentheses, misspellings, wrong number of arguments, etc. It's possible that you might discover a design error in the process of writing code.
Revise
After the program is created it should be checked for errors and revised upon to improve and understand how the mistakes were made and how to avoid time to increase time efficiency.
Estimating how long the assignment will take, deciding what features to implement in what order, setting milestones for completion of various parts of the problem by specific dates before the final deadline. In the unlikely event that you make a serious error at this stage, it probably won't be identified until post-mortem.
This stage tends to be intertwined with the "Analysis & Design" stage. You can't develop a good estimate of how long the assignment will take until you've given some thought to how you're going to solve it. On the other hand, one of the things you need to budget time for is analysis & design itself.
Analysis and Design:
For most Scheme programs, this can be broken down into sub-stages:
Understand the assignment
Analyze the data types
Write contracts (and perhaps purpose statements) for functions
Write examples (with correct answers) for functions
to be done in approximately that order. If you later discover that you made wrong decisions about this stuff, it means an error was created at this stage. Errors created at this stage tend to be harder to repair than those created in implementation.
Coding:
Writing code in Scheme, Java, C++, or some other formal programming language. Errors created at this stage tend to be things like matching quotation marks, matching parentheses, misspellings, wrong number of arguments, etc. It's possible that you might discover a design error in the process of writing code.
Revise
After the program is created it should be checked for errors and revised upon to improve and understand how the mistakes were made and how to avoid time to increase time efficiency.