|
|
|
|
|
by acbart
3998 days ago
|
|
I suggest reading up on the block-based literature, it's very interesting stuff. I focus on introductory programming experiences for non-CS-major undergraduates. Some of that research involves block-based languages. The scaffolding is extremely helpful in getting them to write working code quickly, and that's a valuable trade-off with "real" coding. Of course my goal is to transfer them into real coding (we use Mutual-Language Transformation a la Matsuzawa and embeddable code snippets a la Weintrop). However, from what I've read of work with younger learners, you'd be amazed at the level of complexity their code can reach. Just because you're young doesn't mean you can't write big complex programs. Of course, when they're older they'll look back on much of their work and say, "Oh it's so bad". But that's just what learning means. As for "damaging" learners - banish the thought. Short of actively lying and gaslighting students, I've always found learners to be extremely robust. In fact, technology and context have relatively little impact on young students long-term compared to positive, excellent interactions with educators who know what they're doing. It's more important for students to have successful experiences that are fun and make them think, "Hey, this does stuff! Like, real stuff!" There are many nuances to that statement (gender is particularly fascinating), but I've found it's mostly true. Learning is all about constructing experiences on top of experiences, and your introductory experiences will always have degrees of artificiality and scaffolding. Understanding evolves with time, effort, and feedback. |
|