This is interesting because I actually teach programming. Both Bottom-Up and Top-Down are impossible for beginners to understand by my experience. The amount of discipline required and foresight into where you are going is severely lacking in beginners.
I start with Use-Modify-Create to have the students get a "feel" what a program is. Let them play for a while. The examples used are always very simple and some indications are given what to do next. They continue with (highly supervised) Stepwise-Improvement once they have some rudimentary feel of what is written (without any knowledge of details). Stepwise-Improvement is superior in showing very small steps and the phases in which a program is developed. This is where you start adding terminology, the structure and meaning of programming. Stepwise-Improvement is particularly good at showing the iterative process of development.
Once that is over, both Bottom-Up and Top-Down methodologies are touched onto by using specific examples of which may be applicable. However, most will never create a large enough program to require this much strict methodological structure. Also, the common organizational development methods are covered like "lone wolfs" and Agile (in many forms and derivatives) and how to do proper cooperative development (and using revision control).
Most students seem to respond very favorably to this approach.
(Score: 2) by BsAtHome on Sunday May 27 2018, @10:31PM
This is interesting because I actually teach programming. Both Bottom-Up and Top-Down are impossible for beginners to understand by my experience. The amount of discipline required and foresight into where you are going is severely lacking in beginners.
I start with Use-Modify-Create to have the students get a "feel" what a program is. Let them play for a while. The examples used are always very simple and some indications are given what to do next. They continue with (highly supervised) Stepwise-Improvement once they have some rudimentary feel of what is written (without any knowledge of details). Stepwise-Improvement is superior in showing very small steps and the phases in which a program is developed. This is where you start adding terminology, the structure and meaning of programming. Stepwise-Improvement is particularly good at showing the iterative process of development.
Once that is over, both Bottom-Up and Top-Down methodologies are touched onto by using specific examples of which may be applicable. However, most will never create a large enough program to require this much strict methodological structure. Also, the common organizational development methods are covered like "lone wolfs" and Agile (in many forms and derivatives) and how to do proper cooperative development (and using revision control).
Most students seem to respond very favorably to this approach.