JavaScript is the language of the browser: every interactive thing a child has clicked on a website was built with it. That makes it unusually motivating - the output is the kind of thing they already use.
This course goes from a first variable through arrays, objects, arrow functions and error handling, with the same animated explanations used throughout the site.
Start this course freeFull lessons from this course are readable here, with no account - the explanation, a worked example and the mistakes children usually make:
Each lesson opens with the child’s own coding buddy explaining the idea. The explanation is spoken aloud, typed on screen and performed by an animation at the same time - the same sentence in all three, so a child who reads slowly can listen, and a child who is not reading at all can watch.
After the explanation come the practice games: spot the bug, predict the output, order the code, and a written challenge that runs the child’s real code and checks it.
Either works. Python has simpler punctuation, which suits a younger or first-time coder; JavaScript pays off sooner for a child who mainly wants to make websites and games in the browser. Children here often do Python first and find JavaScript quick afterwards.