Lately I've been wondering if there is a better way that doesn't match 1-to-1 with coding constructs - something visual, but something that isn't just "a for-loop represented as a physical block". Not sure what that would be though!
Lately I've been wondering if there is a better way that doesn't match 1-to-1 with coding constructs - something visual, but something that isn't just "a for-loop represented as a physical block". Not sure what that would be though!
Alice ( https://www.alice.org/ ) is a step more advanced than Scratch, and works well for my middle-school-aged kiddo, who can work through exercises in CodeCombat ( https://codecombat.com/ ), but has trouble with javascript||python in less structured environments.
I'm not sure how it would work, but it would be very nice if Scratch emphasized creating functions and building with more advanced programming concepts. Last time I played with it, functions and "make your own block" were hard to access and not necessary for the target audience to make basic games.
Although it's gotten smaller, I think it's Scratch's responsibility to close the gap between it and a "real" programming language.
My initial environment for learning however, had been a TI-83 calculator, and had StackOverflow existed back then (or had the calculator come with a "quick start coding examples" book or something) it would have been 200% ideal. As is I learned most of the core concepts via trial and error, because I was very motivated to make games for my friends and program solutions to homework problems. For keeping me interested at that age the "Real world applicability" aspect cannot be understated.
To share a fun failure mode however, and emphasize the need for accompanying documentation (and this is what scratch does somewhat well in being rigid, at the tautological downside of being rigid) When I first learned about for loops, I didn't actually realize how one used them typically. I thought they were a "wait for N seconds" sleep-style function, and would actually use it in this fashion with laughably high loop iterations and strange formulations in the boolean field.
I was also completely unhappy that schools tested learning and perfection at the same time. If I solve a physics problem using the correct formula but make some silly error along the way and get a wrong answer that really sucks since there's not usually enough time to check work. So... I wrote programs to solve any and all equations we'd learned so I could really quickly check my work for correctness. We had to write out all the steps to solve the problem anyway so it never felt like cheating to me, just proper validation :)
I'm curious to hear your feedback (if you do try it), because you've asked the sort of question that prompted its creation.
[1] www.blockstudio.app
I wish there was a better way to program on mobile, because typing just doesn't feel good. Maybe a visual way to program could bridge that gap.
I also feel that kids would love to be able to create their own install-able apps with something like Scratch. Maybe could be done with something like PWAs?
The new version of Scratch does work on mobile, but it needs to be optimized.
It's missing a table component really for UI programming, but can support visually programming apps on mobile devices :)