Live data from Hacker News

Scratch is the world’s largest coding community for children

scratch.mit.edu

321–330 of 397 posts

Re: Scratch is the world’s largest coding community for children

#321

My 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 t…

As for reaching the limits of Scratch, that depends on what you think the limits are. It's amazingly versatile and surprisingly powerful. I teach at Code Clubs and am constantly encountering children (and even teachers) that believe Scratch is good for making a cat walk across the screen but not so much above and beyond this. To counter this I made my own projects to demonstrate what can be achieved (though not necessarily what "should" be achieved). These vary from accurate reproductions of arcade games (Mr Do, Scramble, Galaga, etc) through to ports of classics (z-code adventures including Zork, Hitchhiker's Guide, etc through to Beneath the Steel Sky) and even a fully working BBC Micro emulator that plays most original Disk Images. You can view these projects at https://www.rokcoder.co.uk - you really can create very impressive projects using native Scratch

Re: Scratch is the world’s largest coding community for children

#322

I'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 Looking around, it also seems possible to set up your own Scratch server, which is comparable t…

I mentioned this already in an earlier post but I've been working towards addressing this by building a tool that bridges the gap between Scratch and Unity. Talking with Scratch Team members in the past, Unity has been cited as a good exit strategy. Unlike many other languages you aren't being dropped into a text-only environment. I think the main downside is the initial presentation of Unity can be a little daunting.

The tool I'm working on adds a new entry to the main Unity menu bar - "Scratch". Clicking on this allows you to enter the project ID of a Scratch project. Once done, the tool pulls the assets (graphics, sounds, etc) directly from the Scratch website as well as pulling the code and converting it to native C#. The idea behind this is that a student who is intermediate to high level at Scratch can import their favourite Scratch project over to Unity. They can look at the C# code to see the comparison, inspect and modify any of the assets, see the Unity components added to each Unity Game Object, etc. Basically it puts them in a position where they have a project that they have written in Scratch that they can no play in Unity. They can breakpoint the code and single step through it. Essentially it is designed to take away much of the initial impact of having to start from an empty canvas in Unity.

This is currently a WIP but I'm aiming to have a beta version ready within months. I made an early pre-beta video a while back to demonstrate it in action. You can view the video at https://youtu.be/nuUF9BcJT8g

Re: Scratch is the world’s largest coding community for children

#323
I'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

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 and I'm happy to get feedback and/or discuss the idea.

Re: Scratch is the world’s largest coding community for children

#324
post #83

Full 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.a…

Are you hiring backend engineers in the near future? Asking for a friend, naturally

Possibly! We post jobs to https://www.scratchfoundation.org/careers

Re: Scratch is the world’s largest coding community for children

#325
post #231

My 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 t…

[I was an engineer at Scratch for 4 years] The "what do we do after Scratch" question is tricky! There's no super clear answer (and a big market opportunity!) It is important for people getting deeper into programming to learn a text-based language. But I do want to say that you don't need to stop using Scratch -- lots of adults use it, and it's really great for many things... e.g., this memory portrait of my mother…

I've seen some children move onto Unity for the 3D graphics. Physical computing can sometimes give an incentive for Python when its the only lanaguage available. We've done some stuff with Minecraft Pi at code clubs I've been involved with. although it's such an early version of Minecraft. My elder son likes maths, so we've done some mathematical things in Python, which are easier in that, although probably wouldn't be impossible in Scratch.

But it's tricky!

Re: Scratch is the world’s largest coding community for children

#327
post #313

Earlier quoted context omitted.

Please 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.

> I quite literally believe they are violating child labor laws. Couldn't agree more the more I learn about them.

I would actually be very interested to hear from a lawyer—or at least someone with legal knowledge—why Roblox hasn't been prosecuted for this. These children are creating value for the company, and they're being compensated via a currency which can be converted into dollars. How is that not payment for work?

If Robux could only be converted into Amazon gift cards, I would still argue that was a labor violation, but I could at least understand why the case was murky.

Can Uber hire 16-year-olds to drive for them without a work permit as long as they're paid in special UbiCoins which are converted into dollars later?

Re: Scratch is the world’s largest coding community for children

#328
post #221

Earlier quoted context omitted.

My 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.

in what way does it lean to hard into community? you can run scratch 3 offline, without any community at all.

Not on Linux, you can't

Re: Scratch is the world’s largest coding community for children

#329
post #83

Full 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.a…

Scratch was what got me into programming around 10 years ago! I was in middle school at the time and now I've just started working full time as a junior engineer. Without Scratch, I probably would've pursued something different. Thanks for your work!

Re: Scratch is the world’s largest coding community for children

#330

Earlier quoted context omitted.

Is there any appetite to support more serious programming with Scratch? I’ve created a toy or two but would love to do more. The start/stop flags are the main blocker for me. If there was an option to start automatically and run forever (or until a break) I think I’d do a lot more experimenting with it.

I volunteer for a code club, so maybe I can help you out. I’m not sure what I’m missing in your issue, but Scratch scripts run continuously once the green flag is clicked. You can stop execution programmatically using the stop() block. https://en.scratch-wiki.info/wiki/Stop_()_(block)

That’s the problem. I don’t want a green flag that is required to start the application.
Post reply on HN