I believe (and teach) programming the way I learn a new language ('Human' language not a computer language).
It should be segmented in a way that at the end of each segment there is a 'reward' (an application of the learning that is considered beneficial/cool by the student) and a 'desire' to learn more to achieve the bigger reward.
So typical segments for a new language could be:
- bragging/showcasing to your family and friends that you know how to count some numbers and words
- being able order food in restaurant in the new language
- communicating with someone who speaks only the new
language
- being able to enjoy a TV show/movie in the new language etc
That's why I really like Scratch tool. I can gradually introduce new capabilities (and implicitly new programming concepts).
It should be segmented in a way that at the end of each segment there is a 'reward' (an application of the learning that is considered beneficial/cool by the student) and a 'desire' to learn more to achieve the bigger reward.
So typical segments for a new language could be: - bragging/showcasing to your family and friends that you know how to count some numbers and words - being able order food in restaurant in the new language - communicating with someone who speaks only the new language - being able to enjoy a TV show/movie in the new language etc
That's why I really like Scratch tool. I can gradually introduce new capabilities (and implicitly new programming concepts).