Your concern for modern kids is misplaced. The existence of complexity does not require that baby steps aren't available, customary and inspiring with a sense of achievement.
Whether that is literally crawling in a world of runners, riders, drivers, aviators, astronauts...
Or if it's a kid set in front of a term, taught to type "python" and then:
whileTrue:print("Thomas is cool!")
And it remains as true today as it was in the '80s, that computing, like math, like English, is not just an esoteric field of study with its own academic degree and fan club, but also simply a useful skill for all sorts of professionals, notably, but not only, engineers, and scientists. And that latter group is focused on outcomes, efficiently and after any first effort to reread what they did last year, lucidly with maintainability in mind.
I liked your comment. However, simply adding OO to the mix, makes the task of learning software development orders of magnitudes more cognitively challenging.
Really? I mean no need to touch OO for ages when learning Python, but the idea is not complicated, and introduced easily with ideas like Fruit as a class and Orange and Apple and objects ... etc.
Python does open up small nest of complexity by making private members impossible and so the more stuff a class implements in term of attributes (be they vars or funcs) the more noise its API presents. But c'est la vie, that's easy to avoid in the first hours of Python, in fact you can successfully code lots in Python and never go there. Though it does rear its head eventually given Python's intriguing implementation of everything as an object! Even class definitions are objects! That is, while simple, something many will struggle to get their heads around fully.
For you (and me) this is easily understood. For a noob, it's rocket science. When I started coding, I could turn on my computer, and within 3 seconds I could start writing line numbers and goto statements in a procedural language. Today you have to download an IDE, a compiler, and dozens of libraries and other tools. Before you've even started the downloading process, you've had to wade through hundreds of articles to figure out what you should even download in the first place. Such things does not inspire creativity ... :/
Not sure that I agree. I mean you can have similar all you need is to turn on the computer if it's set up right (I can do that for my kids) and in term type "python" and you're in the same spot. Just can't use GOTOs, and I'm not sure that was an easier an idea than while, or for ... it was sure as heck harder to follow and understand - I wrote a game of Pong that way using PEEK and POKE and GOTO as my first coding jaunt as a kid ;-), and it wasn't easy to follow GOTOs. And that fun convention of incrementing line numbers by 10, so we could slip new lines in ;-).
Not so sure that it needs to be much harder today. Though I do agree, it often is ... more immersive. For example, I just checked this out for the kids: py.checkio.org/ a full on adventure game with little Python exercises but yes, the first induction exercise throws this at you:
defmult_two(a:int,b:int)->int:# your code here
returnNoneprint('Example')print(mult_two(1,2))assertmult_two(3,2)==6assertmult_two(0,1)==0print("The first mission is done! Click 'Check' to earn cool rewards!")
Which, I agree, is more than I expected for a Elementary level first exposure. I'd have started with:
a=3b=2# calculate c as the multiplication of a and b
That is enough for a total noob, to tackle the abstraction of variables (as in these kids haven't done algebra yet ;-)
Alas, methinks they want/need asserts to provide automated success feedback. Shrug.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Your concern for modern kids is misplaced. The existence of complexity does not require that baby steps aren't available, customary and inspiring with a sense of achievement.
Whether that is literally crawling in a world of runners, riders, drivers, aviators, astronauts...
Or if it's a kid set in front of a term, taught to type "python" and then:
And it remains as true today as it was in the '80s, that computing, like math, like English, is not just an esoteric field of study with its own academic degree and fan club, but also simply a useful skill for all sorts of professionals, notably, but not only, engineers, and scientists. And that latter group is focused on outcomes, efficiently and after any first effort to reread what they did last year, lucidly with maintainability in mind.
I liked your comment. However, simply adding OO to the mix, makes the task of learning software development orders of magnitudes more cognitively challenging.
Really? I mean no need to touch OO for ages when learning Python, but the idea is not complicated, and introduced easily with ideas like Fruit as a class and Orange and Apple and objects ... etc.
Python does open up small nest of complexity by making private members impossible and so the more stuff a class implements in term of attributes (be they vars or funcs) the more noise its API presents. But c'est la vie, that's easy to avoid in the first hours of Python, in fact you can successfully code lots in Python and never go there. Though it does rear its head eventually given Python's intriguing implementation of everything as an object! Even class definitions are objects! That is, while simple, something many will struggle to get their heads around fully.
For you (and me) this is easily understood. For a noob, it's rocket science. When I started coding, I could turn on my computer, and within 3 seconds I could start writing line numbers and goto statements in a procedural language. Today you have to download an IDE, a compiler, and dozens of libraries and other tools. Before you've even started the downloading process, you've had to wade through hundreds of articles to figure out what you should even download in the first place. Such things does not inspire creativity ... :/
Not sure that I agree. I mean you can have similar all you need is to turn on the computer if it's set up right (I can do that for my kids) and in term type "python" and you're in the same spot. Just can't use GOTOs, and I'm not sure that was an easier an idea than while, or for ... it was sure as heck harder to follow and understand - I wrote a game of Pong that way using PEEK and POKE and GOTO as my first coding jaunt as a kid ;-), and it wasn't easy to follow GOTOs. And that fun convention of incrementing line numbers by 10, so we could slip new lines in ;-).
Not so sure that it needs to be much harder today. Though I do agree, it often is ... more immersive. For example, I just checked this out for the kids: py.checkio.org/ a full on adventure game with little Python exercises but yes, the first induction exercise throws this at you:
Which, I agree, is more than I expected for a Elementary level first exposure. I'd have started with:
That is enough for a total noob, to tackle the abstraction of variables (as in these kids haven't done algebra yet ;-)
Alas, methinks they want/need asserts to provide automated success feedback. Shrug.