25 ms·
Scratch is the world’s largest coding community for children
- hcaz 4y agoI have spent countless hours in scratch when I was younger. I learnt to program in basic originally but I loved scratch for its ease of use. There was a group of us during ICT classes who would try and make the best games with scratch. Ended up learning the basics of momentum and control schemes by messing around with it.
- balls187 4y agoScratch is also one of the largest places for kids to play games.
- stevenkkim 4y agoYeah, I learned this when I thought my kid was spending hours coding, he was actually spending hours playing games.
- snowwrestler 4y agoThis is true—and watch animated stories. But the cool thing is that for any game or story on Scratch, the kid can click into the project to see how it was made, and even access the code and assets. They can copy, fork, alter, build. The technology is different obviously, but it feels like the early days of the Web, when you could “view source” and “save as” to easily explore and learn how any web page was put together.
- Turing_Machine 4y ago> But the cool thing is that for any game or story on Scratch, the kid can click into the project to see how it was made, and even access the code and assets. Definitely an important feature for learning. Seeing something cool and then immediately being able to find out how it was done is much more motivating than reading and memorizing docs ahead of time. It's similar in some respects the early days of the web when "View source" was enough to figure out how something worked. It's rather sad that feature has mostly been lost.
- contemplatter 4y ago[flagged]
- pavlov 4y agoWhy spend money on expensive Legos when you can buy any imaginable plastic toy for cheaper on AliExpress?
- khochesh_kushat 4y agoI suspect even with AIs certain kinds of people will still enjoy creating by hand. Certain kinds of people won't, of course, and that's ok.
- gs17 4y agoBecause they're doing this for fun. A lot of kids genuinely enjoy the process of making games.
- patchymcnoodles 4y agoWhy learning anything, if we have GPT-4? Why even commenting here, GPT-4 could do that, too ;).
- mattw2121 4y agoAlso used in Harvard's, excellent, CS50. I recommend this for any middle or high schoolers thinking about a career in tech. https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0 https://pll.harvard.edu/course/cs50-introduction-computer-sc...
- trustingtrust 4y agoMy 9 year old nephew today told me he wants to learn scratch. I don’t know where he heard that from but he was very specific about it. Wow.
- NayamAmarshe 4y agoAnybody remember Logo? That turtle graphics program? That's what they taught us at school. Programming for kids surely has changed a lot since then.
- jazzido 4y agoScratch is part of the same lineage [0]. Seymour Papert (creator of Logo) was one of the doctoral advisors of Mitch Resnick, who leads the group at MIT that maintains Scratch. [0] https://el.media.mit.edu/logo-foundation/what_is_logo/history.html https://el.media.mit.edu/logo-foundation/what_is_logo/histor...
- kleer001 4y agoTHAT is fantastic and heartwarming. I wish they put that front and center on a History of Scratch page.
- mcshicks 4y agoYou can do turtle graphics in scratch. I have taught some beginner scratch classes at my local library and used the turtle graphics feature for the example for the class
- latchkey 4y agoMy grandfather got me a lesson in Logo when I was <10 on his apple ii. It was before I understood the concept of degrees, so I really struggled with it. That said, it is part of what made me into a software engineer today.
- empressplay 4y agoThere are modern web-based Logo interpreters too, including: Lynx (2D): https://lynxcoding.club https://lynxcoding.club turtleSpaces (3D): https://turtlespaces.org/weblogo https://turtlespaces.org/weblogo Logo is still taught by many schools, all around the world!
- theonething 4y agoI played around with Scratch and all the pointing, clicking and dragging drove me nuts.
- Kelamir 4y agoI was impressed when I had seen that the scratch forum has millions of posts: https://scratch.mit.edu/discuss/ https://scratch.mit.edu/discuss/
- JoeOfTexas 4y agoMy 9 year old daughter surprised me yesterday with her little game made with Scratch. I was impressed. I surprised her back when I did user-testing haha. She discovered the fun world of bugs and user's doing things they shouldn't!
- asciii 4y ago> I surprised her back when I did user-testing Wait till she gets tough PR reviews. This block is ugly, and our team does not like looking at it :P
- samstave 4y agoAND This damn kid WORKS FROM HOME every darn day and doesnt even let me know on Slack!
- qikInNdOutReply 4y agoRemember that robblox investigation, were they interviewed that 12 year old that already talked like a burned out developer, feeling cheated out of the revenue. The children yearn for the mines.. https://www.youtube.com/watch?v=_gXlauRB1EQ https://www.youtube.com/watch?v=_gXlauRB1EQ
- asciii 4y agoYikes... Scratch and Roblox conspiracy to create an army of child developers? :O
- Wowfunhappy 4y agoPlease do not conflate Scratch and Roblox! Scratch is open source software created by a nonprofit foundation to promote education and creativity. Roblox exploits children for profit and I quite literally believe they are violating child labor laws.
- asciii 4y ago
- throw0101b 4y agoIf any parents live in Toronto, the TPL has programs for kids (9+) on Scratch at various branches: * https://www.torontopubliclibrary.ca/search.jsp?Ntt=Scratch+Coding+For+Kids https://www.torontopubliclibrary.ca/search.jsp?Ntt=Scratch+C...
- csmeyer 4y agoWhen people use scratch with their kids, what tutorials do they follow? Do they try and figure things out from first principles, or are their popular content creators who make stuff? How do people transition their kids from scratch to Python? From my experience teaching, it seems like it's really hard for kids to make that transition.
- khochesh_kushat 4y agoThere's an official YT channel with lots of small simple game tutorials.
- NDizzle 4y agoGreat questions, and good timing. My daughter asked about learning "line programming" instead of "block programming" yesterday. Finally, out of 3 kids one is interested! Now what do I do?! Python, I'm assuming, but following what curriculum?
- jalk 4y agoHow about p5.js Graphics centric which imo is easier to keep kids engaged. The coding train yet channel has tons of videos on P5.js
- ocfnash 4y agoThere is a marvelous app designed to solve exactly this problem called Pytch: https://www.pytch.org/app/ https://www.pytch.org/app/
- Agrue8u 4y agoI follow https://www.youtube.com/@griffpatch https://www.youtube.com/@griffpatch He has some amazing programs.
- memco 4y agoHaven’t worked with scratch myself, but I do enjoy HelloComics’ stream where they’re making a pretty fun looking 2d metroidvania style game in Scrtatch. If you’re interested in seeing how it could be used for a large scale project it might be worth a look: https://m.twitch.tv/hellocomics https://m.twitch.tv/hellocomics.
- CoryAlexMartin 4y agoHe’s actually using Stencyl, which has a programming interface based on Scratch.
- davepeck 4y agoSeattle Public Schools participates in code.org’s “hour of code” program, which introduces students to programming in general and to the (delightfully good) free resources and programming environments on both code.org and scratch.mit.edu. My daughter had her first “hour” in first grade and it stuck; she loves toying with scratch and making little games. Both organizations are doing amazing work.
- varun_ch 4y agoHour of Code is wonderful. I think my old school was one of the first to try it, in 2013 or 2014, and that's how I discovered my love for computers. It's a really great initiative that has no doubt impacted thousands of people around the world. I hope Hour of Code and Scratch continue to exist for years to come.
- stuckinhell 4y agoDoubtful, I believe that actually goes to Roblox or Minecraft.
- kleer001 4y agoMaybe it terms of total users, but I don't think every Roblox or Minecraft user is actually coding. Most of them are assuredly just players.
- titchard 4y agoScratch is a great tool for teaching the entry level elements before you move onto a written code. I have been running after school classes for kids using Scratch (under the Raspberry Pi charity arm codeclub.org) and they take to it very quickly.
- ksab 4y agoMy 4 year old made his first program using Scratch Jr. What was this program? He made a story where cats jump up and down 25 times and then walk away. He recorded sound effects for the cats that repeated as the cats jump. It’s simple but offers so much more of a creative outlet than games/educational apps aimed at his age group.
- ryanjshaw 4y agoThanks for mentioning this option -- much easier to use for early readers!
- meterplech 4y agoThis is really cool. Out of curiosity - how did you actually set this up for him to use? Was it on tablet or a computer or phone? Any suggestions for a dad of a 3.5 year old? Also, is he reading / at what level? Trying to get a feel for when I can introduce it to him.
- ksab 4y agoWe’re using an iPad. It’s theoretically aimed at older children (5+) but my son was able to pick it up no problem. I sat down with mine about 6 months ago (he was 3.75 at the time) and we learned what each of the blocks did and how to combine them. Now he asks to make a program and can do it independently. He experiments with the backgrounds, sound effects, loops and motion. My son can read but knowing how to count/recognize numbers is more important in this interface. Everything is graphical. Loops require a number input. Another toy aimed at older children that younger ones can play with is snap circuits. We introduced the toy at 3. He can copy the project schematic and build the project. He built the AM radio project independently.
- meterplech 4y agoReally helpful - thanks for the details!
- efitz 4y agoI bought a subscription to CodeSpark Academy and my kid has spent literally hundreds of hours on it over the last few years. He’s 9 now but started at 5 or 6. It allows him to do exactly the kind of things you describe- simple animations with kid-provided sound effects, a simple visual building block programming language, etc. I think that the key advantage of these types of systems is that they allow kids to do things that kids like (animated cats, poop noises, whatever) right off the bat. Getting enough python skill to do these kinds of things would take many hours of learning.
- myth_drannon 4y agoI find Scratch so confusing. So many menu options, drop downs , select here click here. Very frustrating experience. I don't think my child (8 years old) learns coding from it. I'm trying to find away to introduce him to Basic. But he looses interest once he sees just lines. Scratch is flashy and things can be moved and clicked which is what the kids are used now, but I just don't see any educational or fun value added.
- Mezzie 4y agoCan you start him with JavaScript and basic web development instead? That's how I learned around that age (started around 5 or 6). The immediate feedback of being able to change something in text and immediately see the impact was a big thing that helped me. Likewise, something like helping him mod games he plays might be good. Scratch always kind of struck me as a non-programmer's idea of how to teach children to code personally. (Or at least programmers that didn't start/weren't active as children).
- khochesh_kushat 4y agoMy 7 year old watched it and it clicked quickly, but we also watched a couple example videos on their official YouTube channel. Maybe give that a try. Once it clicked we were able to make some cool stuff together, and she was able to add features on her own.
- zabzonk 4y agohonestly, you don't need to use the menus much at all. it's mostly just drag and drop from the block pallette. this thing has been specifically designed to be easy for kids to use, and all the evidence is that it has worked amazingly well.
- eimrine 4y ago> But he looses interest once he sees just lines. This hits me deeply. I do not have kids, even not married. But when/if they will appear I will manage to disallow any GUI on the territory of my house for everybody including me (I hope old Nokias will still be a thing at that time for having ability to communicate or it will not work). Then a child will look at the lines as at the most interesting thing in the house and maybe starts going a GNU/Linux hacker way as early as some greatest mathematicians have started their math careers. I respect such thing as Scratch and any of his competitors, but let's be honest, gentlemen - games is a misusing of computer and the lines is what matters.
- photochemsyn 4y agoI'd imagine learning at least a little Python alongside Scratch would be more optimal than Scratch alone. It's like bilingual education, it has great benefits although individuals may gravitate towards a preferred option. Perhaps it's a bit like comparing Minecraft to Factorio: https://www.idtech.com/blog/scratch-vs-python https://www.idtech.com/blog/scratch-vs-python Looking around, it also seems possible to set up your own Scratch server, which is comparable to setting up a Minecraft server, then you could use Python to pound away via the Scratch API (which is otherwise disallowed by the Scratch team on the public Scratch servers, reasonably enough). That might be a good project for older kids (teenagers).
- cyrialize 4y agoOther platforms similar to Scratch actually teach Python! They start off with drag and drop coding and then Python. The Python is actually pretty fun, you write code to make animals move around and get stars.
- teucris 4y agoWhich platforms are you referring to?
- giovannibonetti 4y agoNot OP, but CodeWars is a platform I heard about that fits the description
- mstade 4y agoI think maybe Lego mindstorms does this.
- Elte 4y agoAlso not OP, but I literally just learned about Hedy [1] today. No experience except from clicking through it for 20 minutes, but it looks quite interesting, taking somebody from a language with a very simple syntax (and limited functionality) to full blown Python, one level at a time, by making the language gradually more complicated (and more powerful). [1] https://www.hedycode.com/ https://www.hedycode.com/
- zabzonk 4y agoi (a 69 year old c++ dev) use it for writing interactive xmas & birthday cards - it really is great! give it a try.
- samstave 4y agoPlease post an example?
- zabzonk 4y agocannot - they are all personal
- Turing_Machine 4y agoFor sure. Though designed for kids, Scratch is a lot of fun for adults as well. I encourage everyone to spend a little time playing with it. I think you'll be impressed.
- berkle4455 4y agoWith LLM's, Scratch is probably a closer interface to the sort of programming we'll all be doing in the near future.
- quonn 4y agoWhen the managers have do this „programming“ themselves they will go back to letting developers pick their tools. Just like now.
- bastardoperator 4y agoCan you run scratch locally?
- khochesh_kushat 4y agoYes: https://scratch.mit.edu/download/ https://scratch.mit.edu/download/
- Kon-Peki 4y agoMy kids got started with Scratch 1.4 on a Raspberry Pi. That's as far as we've gone with it. Scratch 2 was a lost cause from the start, and Scratch 3 leans way too hard into the "community" aspect of it. It's really too bad.
- adolph 4y agoScratch also has a plugins for BBC Micro:bit and Lego Boost. They work well although the old Boost hardware is lacking storage so only works in Bluetooth tethered mode. The solutions have two parts: 1. a side application to facilitate the Bluetooth connection from the web browser to the device; 2. additional block types to control the servos etc. https://scratch.mit.edu/microbit https://scratch.mit.edu/microbit https://scratch.mit.edu/boost https://scratch.mit.edu/boost https://scratch.mit.edu/boost https://scratch.mit.edu/boost
- shultays 4y agoLooks kinda similar to early Flash, which was my first real programming experience. Actionscript had a similar visual programming tool back then and you could also switch to "text mode" if you wanted to see what those visual blocks meant as a code. And it came with an amazing offline help manual. Flash/Macromedia was start of my career basically
- salawat 4y agoDoes no one do Logos anymore?
- khochesh_kushat 4y agoWhat is doing logos?
- dhosek 4y agoThere’s a logo app for ios that my son (9yo) has been playing with.
- empressplay 4y agoYes! Many schools around the world still teach Logo. Two web-based Logo interpreters are: Lynx: https://lynxcoding.club https://lynxcoding.club turtleSpaces: https://turtlespaces.org/weblogo https://turtlespaces.org/weblogo
- ocfnash 4y agoI mentioned this in a reply to a comment below but I think it is worth repeating at top level: there is a great app called Pytch which is a bridge between Scratch and Python (and runs in a web browser). I always recommend it to anyone teaching young kids to program. You can find it here: https://www.pytch.org/app/ https://www.pytch.org/app/
- cxr 4y agoI'm a little weirded out by all the reaching in this thread to try to shoehorn Python in where it doesn't fit well. Scratch is an accessible, browser-based programming environment. The browser already includes first-class support for a text-based programming language. It's not Python.
- disembiggen 4y agoI was obsessed with scratch as a child. It was my way in to computer programming, and I've taught in schools using it. It's an incredible tool and I'll hype it up any chance I get! It really is a miracle!
- yalogin 4y agoFolks here who used scratch with their kids, what is the next step after scratch? How did you introduce a language/platform to your kid? I have introduced python and my kid is able to pick it up, but am unable to come up with projects that sustain interest. It feels dry without UI and one shouldn't be doing web dev with python too. So what is the progression for python and kids?
- ronilan 4y ago[dead]
- jawns 4y agoFor our kids, the progression has been: - Scratch Jr. - Scratch - Replit Scratch helps them understand programming concepts such as variables, lists, conditionals, and events, but still in an intuitive visual programming interface. Replit gives the kids access to real programming languages (JS, Python, etc.) but with lots of support, and the same "remix other people's projects" culture. Indeed, our kids have found that there are a LOT of Replit users in their early teens (12-15), and they all help each other out.
- csmeyer 4y agoWhat projects do your kids complete on replit? Are they following youtube tutorials or first party content from replit?
- giraffe_lady 4y agoBBC microbit is a decent transition in my experience. It gives a couple sensors and simple LED and sound output built in which helps come up with ideas for playing around with it. The IDE also allows you to switch back and forth between scratch and, I think js or python, and see the code output of the scratch you've written.
- tropicaljacket 4y agoAfter scratch, we tried this: - https://www.codemonkey.com/ https://www.codemonkey.com/ (mix of block programming and python) . Step by step guidance. A lot of kid-oriented UI/fun stuff. - https://codecombat.com/ https://codecombat.com/ (python or JS). Still have levels, hint etc but the solution is less straightforward (sometimes I'm even stuck trying to help my kid!) - If your kid is advanced enough, try https://open.kattis.com/ https://open.kattis.com/ One common problem that kids encountered that's not straightforward is debugging simple coding issue (e.g. missing colon, mixing variable names, etc.) Even with great guidance from the platform, it's very common for kids to run into this and the compiler error is not helpful. A parent/teacher with programmer experience is needed to unblock.
- Retr0id 4y agoThey're selling it short - it's the largest coding community full stop. "As of 15 February, 2023, community statistics on the language's official website show more than 123 million projects shared by over 103 million users, over 804 million total projects"[1] Compare to GitHub: "As of January 2023, GitHub reported having over 100 million developers and more than 372 million repositories"[2] Of course, the average Scratch user is very different from the average GitHub user, and the average Scratch project is very different from the average GitHub repo - but the numbers don't lie (probably). [1] https://scratch.mit.edu/statistics/ https://scratch.mit.edu/statistics/ [2] https://github.blog/2023-01-25-100-million-developers-and-counting/ https://github.blog/2023-01-25-100-million-developers-and-co... Edit: Somewhat tangentially, bear in mind that Scratch publicly launched in 2007. The first generation of Scratch learners are now adults with jobs in-industry, who appear from time to time on the front page of HN ;)
- __mharrison__ 4y agoPretty sure Excel is the largest coding group in the world, they just don't share their code in Github.
- Retr0id 4y ago"Community" being the key word.
- TeMPOraL 4y agoAll Microsoft needs to do here is to include a stripped down IM inside Excel, a blend between MS Teams and Chatroulette, but with a twist: it will upload what you're working on to Bing to take a look at, group you with others whose Excel sheets are closest to your in the latent space, and connect you all in a group chat. Like magic, fluid, self-associative communities.
- idinnoaname 4y agoI can see why this got down-voted, but seeing this in fruition would be quite interesting. Of course, this would probably require sharing internal corporate data which is a big no-no.
- Brajeshwar 4y agoIf your kids tinker with Scratch, try out TurboWarp[1], a Scratch mod that compiles projects to JavaScript. Other alternatives to tinker with are Blocky[2] and Snap[3]. 1. https://turbowarp.org https://turbowarp.org 2. https://developers.google.com/blockly/ https://developers.google.com/blockly/ 3. https://snap.berkeley.edu https://snap.berkeley.edu
- michelb 4y agoMy nephew loved Scratch, he went on to https://www.hedycode.com/ https://www.hedycode.com/ in school and is now continuing in Python. Great stuff.
- MikeTheRocker 4y agoI love Scratch! I credit it partially with getting me into programming in middle school.
- matthew28845 4y agoSame, I think I made my account when I was 9. I have Scratch to thank for a lot of my interests today.
- roland35 4y agoI love that my son enjoys scratch, but I wish there was some way to have parental controls on the social aspects of it! I am a little uncomfortable with the fact that random users have messaged my son and there really isn't anything I can do besides periodically logging in myself
- khochesh_kushat 4y agoYou can use the local version instead, maybe.
- dabei 4y agoIs there any effort to connect Scratch with LLMs?
- deleted 4y ago[deleted]
- __mharrison__ 4y ago"It's like Scratch but annoying" - One my of children's friends when describing working with Python in hour of code.
- diego_sandoval 4y agoI Learned to program using Microsoft Small Basic. I was 14 and the experience was really good. I learned through the PDF tutorial [1], which now has also been translated to HTML documents [2]. And I think that if I had been 9 years old when I learned, I would have still chosen to use Small Basic rather than Scratch. Block-style coding feels less versatile than text. It may look more attractive to some kids, but I would also suppose that some kids would rather use a text-based language. Graphic capabilities in Small Basic were still really easy to use (look at the PDF from chapter 6 onwards). [1] https://download.microsoft.com/download/9/0/6/90616372-C4BF-4628-BC82-BD709635220D/Introducing%20Small%20Basic.pdf https://download.microsoft.com/download/9/0/6/90616372-C4BF-... [2] https://smallbasic-publicwebsite.azurewebsites.net/tutorials/chapter1#top https://smallbasic-publicwebsite.azurewebsites.net/tutorials...
- cgk 4y agoFull disclosure: Principal Software Engineer here on the Scratch backend... Scratch is not built to be a "teach your kid programming languages" system, it is based on the work and ideas of the Life Long Kindergarten group at the MIT Media Lab (the director of this group is Professor Mitch Resnick, the LEGO, Papert Professor of Learning Research). The Papert part is where the term Mindstorms comes from (https://www.amazon.com/Mindstorms-Children-Computers-Powerful-Ideas/dp/0465046746 https://www.amazon.com/Mindstorms-Children-Computers-Powerfu...) and was used by the Lego Group when branding those products, and our philosophy is heavily influenced by that. I can say that the https://scratch.mit.edu/statistics/ https://scratch.mit.edu/statistics/ are real and we have a substantial footprint of backend services and custom software to support it. We handle on the order of 15-20 million comments/month. The primary design philosophy is: Passion: You have a strong interest in a subject/problem to solve/explore Projects: Build something based on your passions, gain directly interactive experience with it. Peers: Share your work with folks who are interested and provide feedback to you Play: It should be fun! Note that there is nothing in there about STEM/STEAM nor application development. We build and support Scratch to provide creative tools for anyone to explore computation in a from that is relatable and has a low floor for understanding/entry. Having said that, the complexity of what Scratch can do rises sharply the more you work with it and the concepts behind "forking" and opensource are built in via the remix ability on individual projects. A lot of design thinking goes into the frontend of Scratch to build on a creativity feedback loop that is not focused on learning Python or any other specific language (or the syntax of them, i.e. avoid "why isn't my program working... oh, one too many tabs... or maybe this semi-colon, or maybe this .") Another part I think is worth raising, the Scratch frontend is a sophisticated virtual machine interpreter that has it's own machine code and model that is executing in a Javascript environment in browser and it is still open source. Google's Blockly project was based on the ideas of Scratch 1.4 and when we ported Scratch 2 away from being Flash based, we partnered with the Blockly group to fork their code base and create Scratch Blocks. Based on the TIOBE index, we're usually somewhere in the top 20 most popular "programming languages". _eat it Fortran!_
- mjb 4y ago> We build and support Scratch to provide creative tools for anyone to explore computation in a from that is relatable and has a low floor for understanding/entry. I love this philosophy. Computing is so much more than application development. It's a creative tool, and exploration tool, a tool for finding insight and exploring spaces. Giving people access to those tools without gatekeeping or accidental complexity is fantastic. The popularity "you need to start with SICP" and "BASIC mutilates programmers" lines of thinking have done so much damage to the way we, as an engineering community, think about the role of computation in society.
- n3storm 4y agoMy kid has learnt a lot both programatically and online social skills thanks to Scratch.mit.edu. Thanks from Spain!
- tropicaljacket 4y agocan you explain more about social skills? And how old is your child?
- maliker 4y agoI would have guessed Roblox was the largest. 214 million monthly active Roblox users in Feb 2023, assume only 20% are kids actually building something so 43 million, beating scratch's 36 million monthly unique visits [1]. Still awesome how huge Scratch has become. [1] https://scratch.mit.edu/statistics/ https://scratch.mit.edu/statistics/
- moneywoes 4y agoIs there monetization?
- thesausageking 4y agoMy 8 yo loves Scratch. She's made over 30 apps with it and has had a great time. However, now that she's reached the limits of what it can do, I have been frustrated that there isn't a natural place for her to graduate to. And Scratch does get really limited quickly. There are unofficial forks like SheepTester's one which let you drop JavaScript into Scratch projects, but they're not easy to use. We've failed a few times trying to setup it and make her successful with it. And it also requires you to know JavaScript moderately well.
- RRWagner 4y agoMaybe this: https://snap.berkeley.edu/ https://snap.berkeley.edu/
- john-tells-all 4y agoAgree. My nephew has made 800 Scratch projects, which is mind-blowing. I'd love to offer him a smooth path to other development. However: - Python has graphics, but it's a very steep climb from the simple drag-and-drop of Scratch - Javascript has easy UI elements, but he'd have to learn HTML and other things Scratch is so different from "straight" programming, I'm not sure if it's worth his time to learn JS and then translate his Scratch knowledge to it.
- mkehrt 4y agoPossibly Processing? or processing.js? The Coding Train on youtube (run by Daniel Shiffman) (https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw) has some great tutorials.
- birdyrooster 4y agoIt's so wonderful how prolific children can be when they get excited about something.
- skeaker 4y agoA younger relative of mine did a course through code.org a few years ago. I remember it being essentially Javascript but you could toggle to a code blocks view and could drag-and-drop some HTML elements so you wouldn't have to worry about the HTML side. Not sure if the actual courses are any good, but it might be similar to what you're looking for.
- ar9av 4y agoScratch gets a lot of hate with semi-experienced programmers (the kind to browse this sub) because of its simplicity, but it's actually really good. It teaches you basic programming concepts without all of the complexity of other programming languages. I remember back in school, some of the students in my computer science classes didn't understand the basic concepts of programming: variables, loops, functions, etc. and programming is 90% logic and problem-solving. You can't teach programming by teaching the syntax of a language, you have to teach logic. If you know one language, figuring out another is going to be easy because most of the things are the same, the only difference is the syntax.
- jackson1442 4y agoI think it's great- most of the hate probably comes from people who came into their first programming class already knowing how to code to some degree and had to "downgrade" from a traditional language to Scratch to learn along with the class. I've been there, but there's still some cool stuff you can do when you bring in your outside programming knowledge.
- birdyrooster 4y agoMy first CS course used Scratch to teach it and I have to say I enjoyed it a lot more than the C++ which followed and I certainly remember more from the experience. C++ was my introduction to pain.
- deleted 4y ago[deleted]
- overthrow 4y agofyi, this comment is a copy/paste of a 4 year old comment from https://old.reddit.com/r/learnprogramming/comments/asqslg/if_you_have_0_programming_experience_i_strongly/ https://old.reddit.com/r/learnprogramming/comments/asqslg/if... I guess HN has karma farming bots now
- raspasov 4y ago
- deleted 4y ago[deleted]
- distcs 4y agoNot a Scratch user. Also not a child here. A grown up software programmer. But I did try Scratch and I could not make much sense of it. Maybe I am missing something. So read this comment as a request for help. The last time I tried, I remember I had to drag and drop building blocks available as tiles. Some tiles made the character turn right. Some tiles did something else. Some implemented conditionals. Am I remembering it right? And then when you run the program, the character moves across the screen in the way it was programmed. Is that all? Is there something more that we can do with Scratch? Can we write an interactive adventure game for example? Just making sure I did not miss something. I would really like to try it again but not sure what I was missing. Or is it really meant for children and it would not appeal to adults?
- Retr0id 4y agoScratch also has variables, lists, if/else and looping control flow structures, and procedures (the main limitation, imho, being that procedures don't have scoped local variables and cannot return a value) It also has event-based concurrency.
- distcs 4y agoAre they all available as tiles to be dragged and dropped? Or can I type it out too with a keyboard?
- Retr0id 4y agoThe former. If you want text, other languages are available. If you really want to use a keyboard, Tosh exists, effectively acting as an alternative front-end for Scratch https://tosh.blob.codes/ https://tosh.blob.codes/ If even using a keyboard is too much effort, I have a Python library for doing Scratch metaprogramming and code generation, with optional vscode integration: https://github.com/davidBuchanan314/boiga https://github.com/davidBuchanan314/boiga I've used it to write non-trivial Scratch programs, such as X25519 key exchange with ChaCha20-Poly1305 authenticated encryption https://scratch.mit.edu/projects/714773326/ https://scratch.mit.edu/projects/714773326/
- danabrams 4y agoI took a refactoring class where we used scratch and it was a lot of fun. I now have a 5-month old and I can't wait to introduce him to scratch jr in a few years.
- irrational 4y agoI had no idea my son even knew scratch, but the other day I looked over his shoulder at his chromebook and was astonished to see him working on a huge scratch project. I asked if he had any other projects and he had dozens of projects, some incredibly complex. I was both surprised and pleased.
- JamesSwift 4y agoIts a really good intro, but can become stifling really fast for young learners. You risk losing their interest too soon if they want to push past the boundaries.
- ciconia 4y agoBoth of my teenage kids are learning Scratch at school. They both find it confusing and annoying, and I don't disagree. I believe teaching them something like LOGO would have been much more efficient and gratifying.
- SpaceManNabs 4y agoI first used scratch in 200X as a freshman. Glad to see lots of other kids are still using it to learn. My best friend at the time made an incredible sonic game and it showed me how deep you can go with any tool.
- MH15 4y agoScratch was instrumental in my path to software, I loved using the old desktop version as a kid. Thrilled to see it continues to inspire a new generation of children.
- pradn 4y agoScratch supports message-passing and concurrency, which makes writing parallel programs fairly straight-forward. This is usually considered a more advanced series of programming concepts, and yet, I've seen children use them for their own games. The language is more powerful than you think!
- GaggiX 4y agoEveryone talks about their kids trying Scratch but I'm pretty young myself, I remember playing with Scratch when I was a kid, very simple games that I would then show my friends. It was a fun experience.
- zzixp 4y agoWithout scratch I would not have connected with programming the way I did when I was a kid. Fantastic program, and a great community as well.
- avodonosov 4y agoMy experience (past HN thread): https://news.ycombinator.com/item?id=32122972 https://news.ycombinator.com/item?id=32122972
- mavili 4y agoIsn't it pretty much the only coding community for children? Headlines like this are always catchy but also not so. Largest community.. for children.. of 10-11 years.. :D the group just gets narrower and narrower as you read
- skulk 4y agoScratch is why I got into software. One day, more than 10 years ago, my dad showed me this weird program for making a cat move around, and the rest is history.
- Joeri 4y agoScratch also really lets you focus on one concept at a time. My son followed a programming course in scratch and the entire first lesson was about sequence, they learned to drag one instruction after another and saw how the order of steps impacted the result. I would have never conceived of explaining something as basic as sequence first, but scratch is ideal for that because it doesn’t require any boilerplate.
- JustinGarrison 4y agoIf you’re interested in what’s on the backend I interviewed one of the infrastructure engineers and talked about it here https://youtu.be/QrBztSqCmlk https://youtu.be/QrBztSqCmlk
- Wasserpuncher 4y agoOhh yes! We also use it at school.
- martin1b 4y agoMy kids love scratch. Excellent introduction to coding for kids. Wish it was taught in schools more as it helps build methodical cognitive thinking. I consider it modern BASIC.
- sobkas 4y agoBut for how long programming will be an useful skill? Because if it become a hobby/toy it will have to compete with other activities that are more fun/fulfilling. Or it could become part of existing hobbies eg. let's write software for onboard computer in this model rocket.
- pcwalton 4y agoScratch is brilliant, and the research that has gone into creating a visual programming language has paid off handily. I wish that node-based visual scripting systems like Unreal Blueprints (and, to a certain extent, things like Blender Shader Nodes and Geometry Nodes†) worked more like Scratch: 1. Edges in node-based programming get tangled easily and it becomes hard to read. Scratch has no visual edges: the pieces snap together, making it easy to visually follow the flow. 2. Having to manually drag nodes around is a chore. Scratch does automatic layout within individual functions. 3. Some node-based systems use colors to distinguish types. This is inherently less readable than the different shapes that Scratch uses. 4. Scratch is structured programming, unlike node-based systems which are essentially based on GOTO. 5. Visual programming systems based on nodes have no easy way to step up to text-based programming languages, unlike Scratch which follows the form of standard source code. This is largely because of (4): nodes are based on GOTO, which is not how modern programming languages work. † Node-based programming is more defensible when there's no control flow, such as with common shaders, but I still think it'd be worthwhile to try something like Scratch in this domain, perhaps modified a bit to better visualize "pipeline" workflows.
- dang 4y agoRelated. I'm a bit surprised there hasn't been more (most of these threads were small). Others? Ask HN: Alternatives to Scratch for a blind child? - https://news.ycombinator.com/item?id=34229502 https://news.ycombinator.com/item?id=34229502 - Jan 2023 (67 comments) Ask HN: is learning Elixir suitable for a kid who currently uses MIT’s Scratch? - https://news.ycombinator.com/item?id=32242897 https://news.ycombinator.com/item?id=32242897 - July 2022 (4 comments) Show HN: CodeStruct – Python programming environment for novices after Scratch - https://news.ycombinator.com/item?id=32232110 https://news.ycombinator.com/item?id=32232110 - July 2022 (5 comments) Show HN: PickCode – An educational coding environment for students after Scratch - https://news.ycombinator.com/item?id=32230329 https://news.ycombinator.com/item?id=32230329 - July 2022 (32 comments) I made advanced BI queries with Scratch puzzle pieces - https://news.ycombinator.com/item?id=32130444 https://news.ycombinator.com/item?id=32130444 - July 2022 (20 comments) Scratch is a big deal - https://news.ycombinator.com/item?id=32120445 https://news.ycombinator.com/item?id=32120445 - July 2022 (296 comments) Linux Kernel Module written in Scratch (a visual programming language for kids) - https://news.ycombinator.com/item?id=31921996 https://news.ycombinator.com/item?id=31921996 - June 2022 (38 comments) Snap is Scheme disguised as Scratch [pdf] - https://news.ycombinator.com/item?id=28337196 https://news.ycombinator.com/item?id=28337196 - Aug 2021 (40 comments) Syllabus for teaching Scratch programming to kids - https://news.ycombinator.com/item?id=24633742 https://news.ycombinator.com/item?id=24633742 - Sept 2020 (2 comments) Show HN: My 10 yr olds recent scratch creations - https://news.ycombinator.com/item?id=23892698 https://news.ycombinator.com/item?id=23892698 - July 2020 (9 comments) Scratch: Block-based visual programming language - https://news.ycombinator.com/item?id=22854218 https://news.ycombinator.com/item?id=22854218 - April 2020 (10 comments) Recursion and Fractals - https://news.ycombinator.com/item?id=21879638 https://news.ycombinator.com/item?id=21879638 - Dec 2019 (19 comments) Scratch 3.0 - https://news.ycombinator.com/item?id=18810216 https://news.ycombinator.com/item?id=18810216 - Jan 2019 (110 comments) Game of Life in Scratch - https://news.ycombinator.com/item?id=14625653 https://news.ycombinator.com/item?id=14625653 - June 2017 (7 comments) How Scratch teaches kids to follow the hacker ethic - https://news.ycombinator.com/item?id=14274249 https://news.ycombinator.com/item?id=14274249 - May 2017 (115 comments) A Forth to Scratch compiler - https://news.ycombinator.com/item?id=13564754 https://news.ycombinator.com/item?id=13564754 - Feb 2017 (7 comments) Why I Believe Scratch Is the Future of Programming - https://news.ycombinator.com/item?id=13129030 https://news.ycombinator.com/item?id=13129030 - Dec 2016 (62 comments) Scratch is probably the answer - https://news.ycombinator.com/item?id=10144228 https://news.ycombinator.com/item?id=10144228 - Aug 2015 (27 comments) MIT Scratch – Teach kids to program stories, games, and animations - https://news.ycombinator.com/item?id=8751969 https://news.ycombinator.com/item?id=8751969 - Dec 2014 (30 comments) MIT's Scratch Team releases Scratch 2.0 editor and player as open source - https://news.ycombinator.com/item?id=7739604 https://news.ycombinator.com/item?id=7739604 - May 2014 (61 comments) Scratch for Arduino - https://news.ycombinator.com/item?id=6613619 https://news.ycombinator.com/item?id=6613619 - Oct 2013 (11 comments) What's New in Scratch 2.0 - https://news.ycombinator.com/item?id=5685448 https://news.ycombinator.com/item?id=5685448 - May 2013 (47 comments) Super Scratch Programming Adventure--A new programming comic for kids - https://news.ycombinator.com/item?id=4419513 https://news.ycombinator.com/item?id=4419513 - Aug 2012 (2 comments) Using Kinect with MIT's Scratch (visual programming language) - https://news.ycombinator.com/item?id=2086238 https://news.ycombinator.com/item?id=2086238 - Jan 2011 (4 comments) Use Scratch to Easily Program Household Appliances - https://news.ycombinator.com/item?id=2077265 https://news.ycombinator.com/item?id=2077265 - Jan 2011 (8 comments) Apple Rejects Kid-Friendly Programming App - https://news.ycombinator.com/item?id=1281738 https://news.ycombinator.com/item?id=1281738 - April 2010 (26 comments) Scratch: Programming for all - https://news.ycombinator.com/item?id=955228 https://news.ycombinator.com/item?id=955228 - Nov 2009 (2 comments) Ask HN: Guido van Rossum's comment about go and scratch - https://news.ycombinator.com/item?id=946338 https://news.ycombinator.com/item?id=946338 - Nov 2009 (26 comments) Scratch Helps Kids Get With the Program - https://news.ycombinator.com/item?id=608629 https://news.ycombinator.com/item?id=608629 - May 2009 (11 comments) Scratch is a Programming Language for Kids - https://news.ycombinator.com/item?id=36053 https://news.ycombinator.com/item?id=36053 - July 2007 (5 comments)
- singhrac 4y agoI am a Scratch-taught programmer in that I played with Scratch in 5th grade and ended up programming professionally. It was great and I'm sure they've done a good job with it since. I'm very, very grateful.
- deleted 4y ago[deleted]
- smfjaw 4y agoScratch gets meme'd way too hard, such a good way to learn, we did this for a few classes in highschool as an intro to the concepts, got me hooked and now I'm a dev at a hedge gund
- avtar 4y agoAt work [1], we've wanted to provide kids with cognitive and/or physical disabilities an introduction to coding fundamentals (sequences, loops, etc). As a result, we've created Weavly [2]. It's a React app that can work standalone, but also integrates with some off-the-shelf robots. It's free, open source [3], and accessible to people using screen readers, switches, and other assistive technologies. [1] https://idrc.ocadu.ca/ https://idrc.ocadu.ca/ [2] https://weavly.org/ https://weavly.org/ [3] https://github.com/codelearncreate/c2lc-coding-environment https://github.com/codelearncreate/c2lc-coding-environment
- insane_dreamer 4y agoMy favorite language for teaching kids to code and which I taught my daughter starting around 9 or 10, is Ruby. Expressive syntax, easy to read, good introduction to objects. Her first real program was a treasure hunt game in the terminal, using classes, inheritance, methods, and conditionals, etc. It didn't have the cute graphics side of things, but she learned all the concepts well (she now has a degree in engineering and being paid to write code)
- ptd 4y agoDoes she like her job? I only ask because you specified comp in a way that suggested that is what is most important to you(and her).
- insane_dreamer 4y agoGood question. She actually got a degree in chemical engineering not CS, but then switched over to fulltime software dev at her company a couple of years out of school as she liked that more -- so yeah, I would say so.
- ptd 4y agoAwesome! Glad to hear things worked out.
- nrjames 4y agoAs a parent who used Scratch with their kids... it all started out great and then veered into being an unregulated social media network lacking any ability to create a space where they could build and learn to code in private. It wasn't long before they were doing it only for the likes and, without constant supervision, trying to figure out how to join various groups and challenges simply for the attention they would receive. I really like the idea of Scratch, but I feel like parents and teachers who use it in the classroom should have a way to create for their kids accounts that are not part of the community aspects of the tool. Kids don't need to be doing anything online for "likes" at the age of 8 or 9.
- khochesh_kushat 4y agoYou can run a local copy, which I believe is unconnected from anything online. It's what I plan to set up for my daughter.
- em-bee 4y agotrying to figure out how to join various groups and challenges simply for the attention they would receive were they not learning anything in that process?
- tropicaljacket 4y agoYeah.. another thing is there is a lot of published games in Scratch (from other users), many are very tempting to play/try out and often the Scratch session just turns into playing those games without educational/learning activity. Anyone figured out how to avoid this?
- schneems 4y agoCode.org is more focused on learning and has some controls to lock down what they can and cannot access. I use it in 3rd, 4th, and 5th grades to teach kids coding at an elementary school. It’s more setup for kid/teacher than kid/parent though so YMMV.
- frankosaurus 4y agoI run the standalone Scratch program on an offline raspberry PI. My kids enjoy it. The best thing about offline is that they have to create something to play a game. We formerly used Scratch online, starting in 2nd grade at school. It had good and bad aspects. It was great to follow griffpatch, who has really sophisticated coding tutorials. On the downside, they got creepy comments on their Scratch projects. There were also various ruses to get the kids to upvote projects, typical social media crap. Also, being on the Scratch community means my kids could just search for someone else's clone of (insert game here). So Scratch can turn into just another way to play video games. With offline, that's not an option. If your kids are good at self-regulation, online can be fine, though.
- manchmalscott 4y agoI had to log in and look around my old account, revisit the silly projects I made when I was 9 years old. Scratch wasn't my first exposure to programming (that would be batch scripting) but I still remember how fun it was to use and how it felt like I could make anything with it. I'm incredibly glad to see it still going strong.
- valid4life 4y agoIt's almost embarrassing typing this but growing up as a "leet cod3r kid writing c++" I used to be a Scratch hater. It didn't dawn on me until much later that the RPG Maker VX I grew up with was just a different version of Scratch and visual programming :) Keep kicking ass Scratch!
- bighoki2885000 4y ago[flagged]
- lfnoise 4y agoMy son, 17, learned to program in Scratch, and wrote a lot of games in it. Since then he has learned Python, Lua (in which he wrote a space invaders), and Java in both high school and during the summer at Cornell. He can write in these languages, but the problem is, he thinks in Scratch. He always goes back to write things in Scratch. In Scratch he has written a number of ray tracing and path tracing renderers which can model roughness, specularity, ambient occlusion.. He teaches me stuff about rendering that he reads from papers. Right now he is working on an NES emulator in Scratch that necessarily includes a 6502 emulator. It can load and play Mario games. But I can't get him move his ideas to a textual language.
- sharp11 4y agoThat is utterly fascinating. From his pov, is it a problem, or only from yours?
- lfnoise 4y agoI'd like him to make a more firm next step. He sometimes brings up some of the difficulties he has expressing things that would be simple in another language. I point this out. He understands that but still prefers to work in Scratch. One factor may be that he has a social network on Scratch.
- deleted 4y ago[deleted]
- MichaelMoser123 4y agoi have written/am working on a simplified programming language for kids. The language has it's own REPL/Shell and is more kind of text based. https://github.com/MoserMichael/jscriptparse https://github.com/MoserMichael/jscriptparse i would really appreciate some some feedback on my side project
- wslh 4y agoJust my experience though, but I had better results with Alice: http://www.alice.org/ http://www.alice.org/ the 3D building blocks were more appeal. Now I cannot believe that they moved the objects using drag and drop with a small basic notebook touchpad. BTW I am talking about normal IQ children.
- guywithahat 4y agoFalse; python is the worlds largest community of children programming (\s)
- RokCoder 4y agoI'm a long time advocate of Scratch and love the fact it makes programming so accessible to children. In the early days of computing you would turn on your computer and be able to program in BASIC straight away. There were no extra packages needed, no hoops to jump through - it was just there. After the popularity of PCs took off I feel this went by the wayside. To program you would have to boot into windows and (purchase and) install an IDE. It just made programming harder to get into. With the advent of Scratch you can simply fire it up in a browser and jump straight in. As a programmer by profession and a Code Club teacher by choice, I wanted to test out the boundaries of Scratch. So many children (and teachers) think it's a very basic programming environment with very limited application. I have found this to be far from the case and have created dozens of advanced projects to demonstrate as much. From replicas of arcade games (Galaga, Scramble, Mr Do and many more) through to ports of PC projects (Beneath a Steel Sky, The Manhole, Zork and more) through to a complete BBC Micro emulator that plays most original disk images. There's some delicious irony to having created an emulator of the computer I learned to program with in a modern language that children now learn to program in. For anyone interested, you can view and play all of these project at https://www.rokcoder.com https://www.rokcoder.com I'm not suggesting that Scratch should be taught to this level but I think it's interesting and useful to know just how flexible and powerful it can be. I discussed the exit strategy from Scratch with Scratch Team members at the Scratch Conference back in 2019. One suggestion they put forward was Unity due to the fact it's not dropping children directly into a text-only scenario which is the case with most programming languages. I found this to make a lot of sense but also recognised that putting a child in front of an empty Unity screen can be a little daunting. Because of this I started creating a tool to bridge the gap - to give children something other than the blank canvas to start from and to ease their journey into Unity. The tool simply adds a "Scratch" option to the main Unity menu. Using this it allows you to enter a Scratch project ID and then imports the project directly from the Scratch website and into Unity. The idea behind this is that intermediate to advanced Scratch users can pull their own favourite project that they have made directly into Unity. The assets (graphics and sound effects) are imported and the actual code is converted to C#. Within minutes anyone can play their own Scratch project from within Unity. They can see the C# code equivalent of their Scratch project. They can see the Unity components in action, the Unity scene, who the IDE works. They can even breakpoint their code and single step through it. If they wish they have the ability to export their Scratch projects as apps for Windows, iPhones, Android devices or even XBox or other consoles. Right now the tool is in pre-beta but I'm hoping to make it available for testing within a matter of months. An early demonstration of the tool in action can be seen at https://www.youtube.com/watch?v=nuUF9BcJT8g https://www.youtube.com/watch?v=nuUF9BcJT8g and I'm happy to get feedback and/or discuss the idea.
- bighoki2885000 4y ago[flagged]
- smashfizzle2 4y ago[dead]
- litlikeamatch 4y ago[dead]
- seekingthelight 4y ago[dead]
- lavenderwitch 4y ago[dead]
- foodgobblers2 4y ago[dead]
- myinstaspace 4y ago[dead]
- fillinyourblank 4y ago[dead]
- livincool5 4y ago[dead]
- velvetandlinen 4y ago[dead]
- busyreading0 4y ago[dead]
- sharing_genes 4y ago[dead]
- indigosparkle 4y ago[dead]
- rowiethelabel 4y ago[dead]
- morelight33 4y ago[dead]
- stellarflower 4y ago[dead]
- ivoryroses 4y ago[dead]
- curiouscat22 4y ago[dead]
- powerpuff3 4y ago[dead]
- allthatisme1 4y ago[dead]
- thriftandflip2 4y ago[dead]
- throwaway689236 4y agoThat's cool, wish I had something like this in my childhood.
- sarimkhalid 4y agoScratch was my first introduction to programming. Thanks to everyone behind it!
- behindmylens1 4y ago[dead]
- calini 4y agoReally curious how and why North Korea has a number of Scratch users per capita 3 times higher than South Korea
- E20life 4y ago[dead]
- lifeonthefarm2 4y ago[dead]
- theveganwarrior 4y ago[dead]
- whatsthewifi 4y ago[dead]
- askastylist 4y ago[dead]
- moreplease3 4y ago[dead]
- thesocialhub 4y ago[dead]
- thecheeseclub 4y ago[dead]
- askastylist34 4y ago[dead]
- tweetysweetie43 4y ago[dead]
- mintandrose34 4y ago[dead]
- lemonhoneypie2 4y ago[dead]
- blissand234 4y ago[dead]
- snowysecret8 4y ago[dead]
- alwaysaugust3 4y ago[dead]
- tulipheart32 4y ago[dead]
- secretwisher4 4y ago[dead]
- angeliccutie23 4y ago[dead]
- alwaysaugst2 4y ago[dead]
- paperinas23 4y ago[dead]
- spellboundead5 4y ago[dead]
- lovehunter56 4y ago[dead]
- virshereads34 4y ago[dead]
- rubysunn68 4y ago[dead]
- fleurlovin23 4y ago[dead]
- infintesoul57 4y ago[dead]
- theseafiles75 4y ago[dead]
- zephyr345 4y ago[dead]
- magicalworld13 4y ago[dead]
- iblamejordan75 4y ago[dead]
- petiue456 4y ago[dead]
- bagatiba575 4y ago[dead]
- openair754 4y ago[dead]