Discuss Scratch

bethanysum
New Scratcher
1 post

Benefits for using Snap/BYOB modification?

Many of the reasons I see listed for using the Snap/BYOB over Scratch only apply to older releases of Scratch. Given the current advances of Scratch (most notably the ability to build your own blocks), what are some reasons for still using the Snap modification?

In particular, I'm trying to judge what is best for teaching an intro level programming class to high school students. I've been told that I would run out of things to teach in a semester class with Scratch, and that Snap will allow me to teach more computer science concepts. I've only been messing around with Scratch and Snap for a few weeks, and so far the biggest advantage to Snap is that it doesn't require Flash and can be run on more devices. Aside from that, I see many more reasons to use Scratch. Can someone with more experience in both platforms help me answer these questions:
  1. What types of things would I be limiting my students from making if I used Scratch in class instead of Snap?
  2. What concepts would I be unable to teach with Scratch as opposed to Snap?

Many thanks!
-Bethany
Poemon1_REMIX
New Scratcher
100+ posts

Benefits for using Snap/BYOB modification?

Hey, bethanysum! I wouldn't just judge Scratch v.s. it's modifications. Snap!, BYOB, and Scratch all have different features, some of which one has that the other doesn't. But, I would just go with Scratch, since it's the easiest.
Hardmath123
Scratcher
1000+ posts

Benefits for using Snap/BYOB modification?

If you're teaching CS, use Snap!. If you're introducing some kids to programming, use Scratch.

Scratch is designed for anyone, even non-programmers. That means it avoids a lot of critical CS concepts (see below). But on the bright side, you get a huge, brilliant community (Snap! only gives you Brian and Jens, who are admittedly more than enough ). The Scratch community welcomes artists and animators, too. So use Scratch if you want to introduce a new tool to non-computery people.
Programming in Scratch is like art class.

Snap! is designed for students. Big difference. It has several technical features. You get lambda, first-class data (including lists!), the ability to build your own reporters/predicates, and call-with-current-continuation. It's supposed to be Scheme, but hidden behind friendly-looking blocks. There are hundreds of things you can do in Snap! that you can't to in Scratch, and an aspiring CS student needs to know all of them. If you want to teach CS to serious students, use Snap!.
Programming in Snap! is like math class.

Neither language expects any prior experience with programming; it's just a matter of where you want to go with it. I started with Scratch, and loved the community and artistic possibilities. Had I started with Snap! (or BYOB, back in the day), I may not have stuck with programming. But if I hadn't switched to Snap! a year or so later, I would never be as good a programmer as I am today. I wouldn't have understood functional programming, and I might have been one of those poor soul who consider C++ a pretty good language.

So to answer your questions:
1. Almost nothing, in a very nitpicky sense, since I'm sure whatever you can do in Snap! you can eventually simulate with Scratch. But Snap! programs will always be more elegant. The flipside is that Scratch offers many primitives that Snap! can't due to Flash, like Kinect-ish video sensing, sensing sound, outputting in MIDI sound, cloud variables (persistent data), etc. So Scratch programs are actually a superset! Go figure.

2. Here's a partial list:
- Lambda
- Functional programming (a.k.a. custom reporter blocks)
- Recursion! You can do something with stack blocks, but real power is with reporters!
- Call/cc
- Using first-class lists
- Thinking like a Scheme hacker instead of a C++ hacker

Finale: So for an intro-level course, I suggest Scratch because it'll get them hooked. But tell them about Snap! early on so that the mathier of the kids have something to explore.
scimonster
Scratcher
1000+ posts

Benefits for using Snap/BYOB modification?

Hardmath123 wrote:

(Snap! only gives you Brian and Jens, who are admittedly more than enough )
What about us and tb and blob and n?

I doubt you would run out of things to teach during a semester course using Scratch. There's always more to learn.

Hardmath123 wrote:

Finale: So for an intro-level course, I suggest Scratch because it'll get them hooked. But tell them about Snap! early on so that the mathier of the kids have something to explore.
Pretty much sums it up in my opinion.
hansellynn
New Scratcher
1 post

Benefits for using Snap/BYOB modification?

Anyone finding any performance differences btw the two? Been using Snap for a month or so, and just tried to reproduce Breakout in Scratch. Scratch seems “snappier”, so to speak… Clicking on the various functional groupings (sensing, looks, etc) seems to be instantaneous in Scratch, where there's a bit of lag in Snap. The ball bouncing around in my Breakout game seems choppy in Snap compared to Scratch.

Anyone do an actual benchmark yet, or have any anecdotal experience on whether Snap feels a little laggy at times?
Jens
Scratcher
100+ posts

Benefits for using Snap/BYOB modification?

Snap is optimized for certain single-threaded, computation-intensive tasks. For interactive, multi-threaded games it's best to turn on “Scratch compatibility mode” in Snap's settings menu, it's called “prefer smooth animations”, and you can set it per project. After you've set it “on” break-out should work pretty much exactly the same as in Scratch.
andymwat
Scratcher
11 posts

Benefits for using Snap/BYOB modification?

In my experience, there are quite a few differences between the Snap 4.0 beta and Scratch 2.0. Here are a few of the ones I've noticed the most:
1: In terms of custom blocks, Snap allows you to create custom commands, reporters, and predicates. This can be very useful for complex projects.
2: I'm not sure when this was added, but most things, including lists, are first-class variables. This can be confusing, but it allows you to make a list in which certain items are lists, and those lists could contain lists. This is very different from Scratch's approach to variables, and can be confusing to people new to programming.

I'm certainly not an expert, but I prefer Snap over Scratch for more complex projects.

Like hardmath123 said above, Scratch is better for an intro to basic programming, while Snap is a more flexible and powerful.
andymwat
Scratcher
11 posts

Benefits for using Snap/BYOB modification?

Jens wrote:

Snap is optimized for certain single-threaded, computation-intensive tasks. For interactive, multi-threaded games it's best to turn on “Scratch compatibility mode” in Snap's settings menu, it's called “prefer smooth animations”, and you can set it per project. After you've set it “on” break-out should work pretty much exactly the same as in Scratch.

Are you the same “Jens” that created Snap with bharvey?
technoboy10
Scratcher
1000+ posts

Benefits for using Snap/BYOB modification?

andymwat wrote:

Are you the same “Jens” that created Snap with bharvey?
Yes, he is.
geaplanet
Scratcher
4 posts

Benefits for using Snap/BYOB modification?

I like very much a feature in Snap that is not present in Scratch: modify the stage size :-)
nathanprocks
Scratcher
1000+ posts

Benefits for using Snap/BYOB modification?

geaplanet wrote:

I like very much a feature in Snap that is not present in Scratch: modify the stage size :-)
Wow that is cool! How long has Snap! had that feature?
rockymountainboy
Scratcher
18 posts

Benefits for using Snap/BYOB modification?

Snap and Scratch are very similar. the pros and cons are below:

Scratch:
Pros:
-easy use
-easy to share projects
Cons:
-you can't turn projects into standalone games

Snap:
Pros:
-you can turn them into standalone games with this
website: http://snapp.citilab.eu
-you can turn scratch games into snap games (but it might not work that well
Cons:
-the sounds sometimes don't work
-the bigger the screen size when playing the game the more laggy it gets

they both have a custom block maker but snaps one has a better design

hope this helps

when green flag clicked
play sound [AIR HORN]

Powered by DjangoBB