And the mistake seems to be repeated every 5-7 years. One can gather a whole cemetery of such initiatives, the earliest dating back to 70s I believe
And the mistake seems to be repeated every 5-7 years. One can gather a whole cemetery of such initiatives, the earliest dating back to 70s I believe
It's not!
It's instead intended to give every child in the world, regardless of inclination, some first-hand experience in programming computers. Some of these may go on to become professional software engineers, and if they do it will be time enough to become proficient in the common lexicon. Even if they don't, at least they've gotten a better understanding of these machines that inescapably pervade our lives. And kids that wouldn't have thought they'd have an interest in programming get an easy-entry exposure and may decide to pursue it professionally after all.
Given that that's the audience, the goal is to take away any barrier to the essential skill to learn, which in this case is writing instructions for an unthinking machine.
Kids that already know they love programming and are/were willing to do whatever it takes to learn it (i.e., probably nearly everyone on this forum, including myself), are not the audience! Those kids will make it one way or another. Hedy is for all the other kids out there.
I've always thought that one of the better things we could do is to make programming not specialized; e.g. Excel-as-a-programming-language has arguably done more to bring programming to the masses than any other "real" language, and perhaps THAT's the goal.
I don't see this as a move to skip learning English terms for programming concepts, it's a move to reorder.
Starting with Python requires kids to start learning computational thinking simultaneous with learning the English terms for computational constructs. Sure, there aren't many terms to learn, and sure, in some cases (but far from all!) the English word isn't a great mnemonic even for English-speaking children, but neither one of those facts is a good explanation for why teaching a few foreign-language words isn't just accidental complexity in the early stages! And if it's accidental complexity, why not put it off for later?
The whole premise of Hedy is to gradually add complexity in levels, and yeah, that means that throughout the design (not just in the localization) there are some aspects of each level that become redundant as you move on to later levels. But if that's what you're criticizing, you're not criticizing just the fact that it's localized, you're criticizing the entire pedagogical philosophy of Hedy and of most educational institutions.
Educators in general prioritize breaking a concept down into manageable chunks, even if that means teaching some things in a way that isn't perfectly applicable in the real world. Hedy does that for programming, and if you don't like it then your beef is with the entire educational philosophy, not the localization.
Very often these are the terms for those things. Much like things named after their inventors, or discoverers; novel concepts often borrow the word of origin of its inception. What would you call "Currying" in another language?
So I guess you could rename keyboard, with <key>-<boards> with words for each coming from your native language, but you'd still be following the convention of 'form' - that the buttons are "keys" (which in other languages may not have the same meaning where a 'key' I believe is piano terminology derived from French "clé"), and its container is a "board".
Unless your language has a handy word that is a perfect fit for the concept of "keyboard", it seems like unnecessary work for the sake of it. Even English borrows 'loan'-words, and Japanese even has a separate alphabet for them.
> neither one of those facts is a good explanation for why teaching a few foreign-language words isn't just accidental complexity in the early stages
b/c you aren't really teaching a foreign word b/c the words still need further context in English, and that is a good reason IMHO, even if you disagree. You could teach ASM mnemonics ('mov', 'div', 'cdq'..) which are also derived from English terms, and I doubt it'd be much different given how abstract the relationship to the words is, and how unusual the terms (e.g. "execute" an action isn't that common in English, outside of CS, or perhaps the military).
> gradually add complexity in levels ... you're criticizing the entire pedagogical philosophy of Hedy and of most educational institutions.
> Educators in general prioritize breaking a concept down into manageable chunks ... if you don't like it then your beef is with the entire educational philosophy
It isn't clear to me that 'English" terms are a layer of complexity on top of local terms. I'd say you are teaching jargon either way, neither of which is clearly easier to learn - I could just as well argue that using native words could cloud the issue and create misunderstandings if they don't match the programmatic meaning well.
The point of Hedy is not to localize programming, the point is to break down the process of learning the absolute fundamentals of programming into bite-sized, completely simple chunks that students can explore, mess around with, build silly and cool things, without having to worry about the minutiae and quirks of real computers. That's why they introduce an "ask" statement that assigns a temporary, invisible variable that can only be used by immediately putting an echo statement afterwards - because they're building up to variable assignment, but they want to show the concept of input first.
Disclaimer: I've been involved with the project (in a tiny way), and am a fan.
1. English is taught widely, and they need it anyway.
2. The lexicon to master is pretty short.
3. Kids naturally learn words. Say, with moderate interest in K-pop a European teen can remember Korean names, sometimes even in Korean script.
4. "For" in programming is not the same word as "for" in natural language. You may be under illusion that when it's in a local language, it will be easier to digest, but it's not. You need to explain its separate meaning anyway. And when you did it not in Programming English - sorry, you simply missed the opportunity. You spent roughly the same amount of time to create a redundant word-slot in student's memory.
5. "Tried" is not a valid metrics for success here. One could as well offer free cookies, and number of tries would be growing. But that elephant in the room will look at us without approval!
I have doubts whether the gradual language is confusing or sensible to the average brain. Only time and competition in these kinds of educative tools will tell.
But, there is one thing I'm very sure of: the more kids that get to experience the joy of creatimg something by programming, and the more kids that get to experience the feedback loop, the better!
A key insight. Feels like the usual human confusion over activity and output. Activity metrics bias for participation / attention at the top end of the funnel, whereas Output metrics assess the end: the quality & quantity of production. The first is visible, immediate, plays to human bias, whereas the second is much farther off and usually less interesting to the general public.
Applied to kid coding, adults like seeing many kids doing work socially, whereas the few kids who stick with it aim for genuine, even selfish, creation.
It's not a bad initiative, just one that seems to cater mostly to the ideals of the teachers and the parents.
AI
The best learning tool, "stepping stone" for kids. And they're already familiar with it when cheating on their homework.
I wasn't saying that AI is not here. It is, and it is very important. Happy to have a proper discussion about that.
If this were your intentions, you would have done exactly that. So far you have produced 0 statements on AI beside empty affirmations "AI is very important." We can do better than that on HN.
But you might want to teach very simple programming concepts before that. You end up using programming as "applied math" and "applied reading / writing".
It's okay. Not all of them will learn programming. Just like it might be usefull to call some angles A in math class, before we learn enough greek to call them omega like all Physical Engineers.
And if they get serious, yes, they will learn english.
(Now that I think of it, I'm pretty old, and I grew up during the "Computer Science for all" years, so I had some very early english and some very early LOGO classes taught the same year. And I'm pretty sure the LOGO went first. Ooooh, memories.)
Always reminding yourself that 'if' means 'jezeli' (or paste if in your lang) before writing is an extra cognitive load, quite annoying for a kid in the age of dopamine disruption.
Is that problem huge? Don't think so.
Actually, you do. There's a reason you teach kids multiplication by aligning blocks into groups and things like that, rather than jumping straight into rote algorithms.