5 ms·
Now that you're a computer science major... is there anyway you could think of making a better environment for learning? I personally really struggled with "con
by mrspeaker 8y ago
Now that you're a computer science major... is there anyway you could think of making a better environment for learning? I personally really struggled with "connector-set" style programming thing like Scratch. It always felt too limiting, or, I don't know... forced? It's very obvious how the blocks match to code - so it feels (to me) like it's "begging the question": to know how to connect the blocks you need to know how to construct the code. It's like it's missing a layer of abstraction after you figure out the very basics.
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!
- brianm 8y agoIt is really limited, but kids pick it up MUCH more quickly than anything else I've seen. Alice ( https://www.alice.org/ 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/ https://codecombat.com/ ), but has trouble with javascript||python in less structured environments.
- edwintorok 8y agoFWIW if you are greeted with a white page try using Chromium. Apparently the site doesn't work at all in Firefox64 with an error about lazyYT being undefined (I sent an email to webmaster@).
- krackers 8y agoThere's always the classic LOGO environment. You get all the same visual fun but with a "real" lisp-esque programming language
- existencebox 8y agoNot parent, but I also got to touch scratch back in the 06/07 time period, and found it quite pleasant. 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.
- ZeikJT 8y agoHelp fellow TI-83 programmer! That's what I would do back in my high school days. Also learned it to make silly little games like rock-paper-scissors, guess the random number (difficulty was larger number ranges, you'd get 'higher' or 'lower' as feedback after each guess, if you got it right it would list out how many tries it took), and of course a simple 8-ball. 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 :)
- snazz 8y agoThe default output of Scratch being on the stage is a big step up from text as far as intuitiveness goes, and it allows beginners to accomplish a lot more with a lot less work. 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.
- abecedarius 8y agohttps://en.wikipedia.org/wiki/ToonTalk https://en.wikipedia.org/wiki/ToonTalk shows a different approach that I think could stand to be tried more. You 'train a robot' to do the thing, then generalize the example by erasing specifics. It's said to scale from children who can't read to real CS using recursion.
- vez- 8y agoI've been wondering the same thing. I feel like there could be a more exclusively visual programming paradigm. 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?
- gbear605 8y agoThere are a few ways to create actual apps/exes, but none are actively supported or very good. The new version of Scratch does work on mobile, but it needs to be optimized.
- alexis_read 8y agoQuick plug for my node red port to android (and can do ios) https://github.com/alexisread/noreml https://github.com/alexisread/noreml It's missing a table component really for UI programming, but can support visually programming apps on mobile devices :)
- disqard 8y agoI've been working on a visual programming language where "the pictures are the code", in a sense. It's called BlockStudio, and you can use it online (for free) [1]. 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