5 ms·
Scratch is far better and deeper than most people think. It's also interesting because the developer interface forces thinking for yourself on things like how t
by creer 3y ago
Scratch is far better and deeper than most people think. It's also interesting because the developer interface forces thinking for yourself on things like how to manage complexity in your project, or how to get different modules to communicate - and that's useful (if only helpers thought to point that out).
It's very unlikely the school is digging deep in Scratch. Most likely they are keeping to the very basics - and a kid can go deeper on their own... or not.
As the next step, moving to python or whichever other language is okay. And I doubt very much that at 11 they are already exhausting Scratch. A web browser and javascript is fine too.
- adamspiers 2y agoCheck out https://pytch.org/ https://pytch.org/ which is a great way for kids (or anyone) to transition from Scratch to Python. Built by a friend of mine.
- AstroJetson 3y agoI do elementary school Robotics, we program the robot in a version of scratch / blockly. There is a huge amount what you can do. The programming club does some pretty cool game things.
- ericd 3y agoAre there any good starter kits that you'd recommend on the hardware side that work well with the software stack you all use?
- tomr75 3y agoAlso onterested
- AstroJetson 3y agoVEXIQ is what we use. It has a little sister called VexGO it’s limit is the 4 channel brain. All of the mechanical parts are interchangeable, so do some VexGO, then add more motors, sensors, etc with VexIQ
- ericd 3y agoThanks for the pointer, these look awesome (not cheap, but well designed to not be too frustrating for kids). Trying to figure out if it can handle proper full res camera input, looks like the optical sensor is a bit limited. Maybe these ports don't have enough bandwidth, tho. EDIT: Looks like the Exp level has the "AI Vision Sensor"
- AstroJetson 3y agoYou would be surprised what you can do without the camera. The EXP/V5 camera is a closed garden, for example it can't do April tags yet. Two schools of thought are 1)Software is the key to robotics - so the more powerful brain / camera is the selling point 2) Mechanical interfaces to the physical world is the key - the VIQ ecosystem makes this practical at a pretty low cost. If you root around on ebay for HEXBUG VEX ROBOTICS you can see lots of the plastic kits for sale that can give you parts that make something that you can later frankenmash into other things. Good luck with your adventures!
- ericd 2y agolol awesome. Yeah, I’m kind of considering looking around for something more generic/open, but if it makes it too hard to do the basics, that might kill the enthusiasm well before we get anywhere near needing a camera. And I really like what I see of the mechanical aspects of this system. Thank you so much for letting me know about all this stuff. This is really cool.
- jacknews 3y agoIt is deeper, of course it's turing-complete, and I do applaud how easy it is just to get started, and make something, which is absolutely the key to getting kids interested and keeping them so. But I take huge issue with some of the 'deliberate' limitations. No function returns? No way to share code blocks? These are some of the fundamentals of code. In my experience these limitations present a big barrier to kids who want to just get some things done, and teaches a very hacky style to those who are willing to learn the complex workarounds to overcome the barriers. Ultimately it leads to the majority being 'confined' to doing typical simple scratch projects, and a small 'elite' who go beyond. Possibly the opposite of what was intended.
- creer 3y agoSure. But it's now easy to move on to the next bigger thing. A kid, club or school, can onboard with Scratch, and any laptop can also run python et al. By the time a kid notices all the cool stuff that seems possible and that they could achieve total world domination, they are in a decent situation to pick another language: python, javascript, whatever. And they can do that on their own - they don't even need the school anymore.
- jacknews 3y agoWell there's quite a big jump in complexity moving to python or whatever. It's complex to even decide what to jump to, then there's setting up the environment, learning text editing and syntax, usually much more complex (and completely unfamiliar) graphics libraries, etc. And then they can't share projects so easily and aim to be curated, etc. I like lua and love2d as the next step, as it's much simpler and cleaner than kitchen-sink Python (don't get me started on significant-whitespace), but it's still a big jump from Scratch. I wish there was a Thonny for lua though.
- creer 3y agoIt is a big step. But the kid is now older and knows what programming overall is about. Less likely to get discouraged then. But sure, Lua will work. I agree though that debuggers are usually too complicated - print-based troubleshooting will be enough to start with.
- musicale 3y ago> A web browser and javascript is fine too. There seem to be many online environments where you can type your {html, css, javascript} code and run it. For example, MDN has one at https://developer.mozilla.org/en-US/play https://developer.mozilla.org/en-US/play (Unfortunately it has advertisements... which I suppose is incentive to learn how to use custom stylesheets.) I wish there were an offline environment like that built into firefox. You can bring up a javascript console, but it's not really a friendly development environment. And something like visual studio code is capable but large and complicated. Unfortunately for javascript in browsers, the browser DOM is complicated and unwieldy. It's hard for beginners to figure out the right subset/features of (html, css, javascript, DOM) that they could use to create simple apps and games.
- nox101 3y agonot sure it counts as "HyperCard" but for environments there's p5js.org (https://editor.p5js.org/ https://editor.p5js.org/) > I wish there were an offline environment like that built into firefox. You can bring up a javascript console, but it's not really a friendly development environment. And something like visual studio code is capable but large and complicated. That seems like a day project in electron. At least to MVP. Use CodeMirror or Monaco. As long as you pass the right options you can run the user's code in an iframe in a separate process. That way you can kill it even if it has an infinite loop.
- ben_w 3y ago> I wish there were an offline environment like that built into firefox. You can bring up a javascript console, but it's not really a friendly development environment. And something like visual studio code is capable but large and complicated. I use BBEdit whenever I do web stuff (caveat: not a pro web dev) — if someone wanted to learn HTML/JS from scratch, I'd suggest a plain text editor like that.
- WillAdams 3y agoAgreed. It would be nice if more apps would build scripting in. Krita has: https://scripting.krita.org/lessons/introduction https://scripting.krita.org/lessons/introduction while for Inkscape there is: https://inkscape.org/~pakin/%E2%98%85simple-inkscape-scripting https://inkscape.org/~pakin/%E2%98%85simple-inkscape-scripti...
- SeanLuke 3y ago> Scratch is far better and deeper than most people think. Scratch has no local variables, no recursion, no pointers or references, and no data structures, correct?
- dbtablesorrows 3y ago[dead]