the syntax... not the ideas. The ideas are simple, but the syntax is horrendous. It's a testament to how smart kids are if they can get their heads round BASIC syntax.
i think gosub is harder than function calls. I grew up with Enterprise BASIC, which has function calls, they are easier to grasp because you get this coherent unit that you can call much like any native command. It's an abstraction; gosub is concrete. I think it's a mistake to assume concrete ideas are simpler than abstract ones, especially for children. We become concrete as we become set in our ways as adults, or as were *taught* to become set in our parents' or teachers' ways... children are natural abstract thinkers.
Just look at children's drawings. They don't draw static images. They draw stories. Everything is symbolic, it doesn't matter to them that it doesn't look photo-realistic because it's about what it means not just what it looks like. Then we bully it out of them throughout their whole time at school, making them draw still lifes.
Sadly i think our education system is built around producing worker drones rather than expanding people's minds. Also i remember being continuously frustrated at school, because at every next step we found out that what we'd learned previously was wrong. They teach you wrong things because they think it's "simpler" than the truth, as if the point of understanding were just to sate your curiosity and stop you asking awkward questions. Adults are terrified of children actually understanding things and asking good questions they can't answer. It was doubly frustrating when i was ahead of the class and already knew that what i was being taught was wrong, because my dad had taught me, or i'd read a book or something...
@Dunny have they specifically requested you write a "BASIC"? Because it really doesn't seem like a good fit to the problem anymore. What is the motivation behind this choice? And how do you even define "BASIC" these days?
Line numbers don't exist to make it simpler. They are a relic from the old days of punched cards. Actually they are the stuff of nightmares. I remember always using increments of 10 (as my dad taught me) so that i could squeeze more instructions in the middle if i needed to, starting each function on multiples of 1000's &c. There's nothing simple about that, it quickly becomes a major task of engineering even for a moderately complex project. They are redundant now with modern editors, and only meaningful as the target of GOTO/GOSUB, which you shouldn't be teaching kids anyway imho. I never use them even in AMOS.