Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Book Review: Super Scratch Programming Adventure!

samzenpus posted about 2 years ago | from the read-all-about-it dept.

Books 74

MassDosage writes "I first heard about the Scratch programming language a few years ago and the idea of a simple language designed to teach kids to program in a fun, new way has always appealed to me. For those of you who don't know, Scratch was developed by the wonderfully named "Lifelong Kindergarten Group" at the MIT Media Lab. It's a programming language that allows programs to be built by dragging, dropping, configuring and combining various blocks that represent common coding concepts such as if/else statements and while loops. Scratch also provides tools for doing simple animation, playing audio and controlling sprites. The idea behind it is to make programming simple, fun and accessible to first time programmers so they can understand the key concepts without first needing to learn complex syntax which can come later when they move on from Scratch to other languages. It has been very successful and there are literally millions of Scratch programs freely available from the Scratch website and many others." Read below for the rest of Mass Dosage's review.The Super Scratch Programming Adventure book has recently been translated from the Chinese original and is in keeping with the Scratch ethos of bringing programming to a new generation of programmers. It is hard to tell what the age group for this book is as children have such varied technical skills but I would say it's best for relatively computer savvy youngsters who know the basics of computing and are comfortable with a mouse and keyboard and know how to drag, drop, open, save, cut, paste etc. It should be suitable for ages from 8 up to young teenagers but even those a bit older looking to learn programming could find it useful while younger children might also be able to get something out of it if guided by someone older.

The book starts of with a bit of background and points the reader to where they can freely download and install the Scratch application which is used to create Scratch programs. This is available for Windows, Mac and Linux and was a breeze to install on Ubuntu Linux. All programming is done via a GUI to avoid having to deal with typos and syntax errors. The Scratch environment is fairly simple and intuitive and easy to get started with. A downloadable zip file accompanies the book and contains skeleton programs with sound and images that are used for creating applications as well as fully complete programs which can be used for reference if you get stuck creating your own versions. The zip file also contains a "Getting started with Scratch" guide that is a very useful prelude to the book if you've never used Scratch before and covers the main concepts and tools that are used in the book itself. It is important to note that this book is not a manual for Scratch and doesn't provide exhaustive coverage of what Scratch can do or how to use all of its features. Super Scratch Programming Adventure takes a "learn by doing" approach by guiding you through the creation of a few programs and leaves you to figure the rest out yourself. Given the target audience this makes a lot of sense — most youngsters would much rather build some cool applications right away than wade through lots of dry documentation first.

Super Scratch Programming Adventure is divided into various "stages" (computer game speak for "chapters") that are linked by a colorful cartoon adventure story. Each stage guides the reader through creating a computer game from... err... scratch and teaches them some fundamental concepts along the way. Later stages build on lessons learnt earlier so they should be read in order and the book steers one towards this with the cartoon linking what you do in the various stages together as you build games which in turn become part of the story. The early stages start off showing how to use sprites and move them around and how to use the palette to build up programs and attach behaviors to things. Later stages cover user input, broadcasting and reacting to events, flow control, collision detection, variables, animation and audio with each stage harder than the previous one right up until the final stage which involves creating a fighting game with numerous sprites and interactions between them and the user. I found all the games fun to build and use and could definitely see the distinct lessons each one was designed to teach.

The learning curve is a bit higher than I expected and there is little hand holding, at some points you just have to look at the included code blocks and figure out yourself how to build them up. It's not always easy and readers will need to be fairly computer literate and able and willing to figure a fair amount out on their own but ultimately this is probably a good thing as explaining everything in minute detail would take a lot longer, be quite boring and would lead some to just blindly copying things instead of being forced to understand what they are doing. I could imagine that some young readers might find this a bit challenging so it's probably a good idea to have a computer literate adult around to help out if they get stuck. The included complete source for each game also helps although looking at this does feel a bit like cheating. Each stage ends with suggestions for further programming on ones own and I felt that these are really the key for this book to succeed as a learning tool as these make one think about and apply what was just read. Again I think this would be a good point for a parent or someone older to step in and encourage a younger reader to build on what they've learnt and suggest creating something new for themselves. The book contains plenty of pointers to online resources where readers can learn more, ask questions and share their creations with others.

I would definitely recommend Super Scratch Programming Adventure for those eager to learn programming but be aware that to really get the most out of it it's probably best if someone who already knows how to program is around to read along, help out and encourage further creation outside of what the book shows. There is a wealth of Scratch related information on the internet but this book provides a good way to get started by demonstrating how to build fun applications and hopefully this in turn will encourage readers to move on to creating more on their own.

Full disclosure: I was given a copy of this book free of charge by the publisher for review purposes. They placed no restrictions on what I could say and left me to be as critical as I wanted so the above review is my own honest opinion.

You can purchase Super Scratch Programming Adventure!: Learn to Program By Making Cool Games from Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

Sorry! There are no comments related to the filter you selected.


middlemen (765373) | about 2 years ago | (#42584585)

What is wrong with learning using BASIC ? It worked for all those folks (including me) who learned how to program in the 90s. It was not difficult and was fun in its own way.

Re:BASIC (2)

oodaloop (1229816) | about 2 years ago | (#42584623)

It worked for all those folks (including me) who learned how to program in the 90s.

You kids today! I learned BASIC in 1986. Now get off my lawn.

Re:BASIC (4, Funny)

Jailbrekr (73837) | about 2 years ago | (#42584691)

I was programming in Basic in 1979. Get off *my* lawn. Oh and keep funding Social Security for me. KTHXBYE.

Re:BASIC (0)

Anonymous Coward | about 2 years ago | (#42585137)

That's not BASIC. That's LOLCODE []

Gah! Youngsters these days. (0)

Anonymous Coward | about 2 years ago | (#42585383)

You young pup. I have fond memories of programming in BASIC on dialup back in 1971.

Re:BASIC (2)

scharkalvin (72228) | about 2 years ago | (#42585405)

I was programming in basic in 1974 so BOTH of you get off my lawn!

Re:BASIC (0)

Anonymous Coward | about 2 years ago | (#42586007)


Re:BASIC (0)

Anonymous Coward | about 2 years ago | (#42586445)

I programmed Basic in 1973.

Re:BASIC (1)

Anonymous Coward | about 2 years ago | (#42588767)

man, you guys are old!

Re:BASIC (1)

DoctorBonzo (2646833) | about 2 years ago | (#42590157)

I was programming in ALGOL in 1965 so fuck all of y'all.

Re:BASIC (-1, Troll)

marshabilly (2815513) | about 2 years ago | (#42585495)

If you think Ernest`s story is cool,, 2 weeks ago my girlfriend's half brother basically got $9854 grafting a fourty hour month from their apartment and the're co-worker's mother`s neighbour done this for 9-months and easily made more than $9854 in there spare time at their labtop. applie the instructions on this web-site..

Re:BASIC (1)

istartedi (132515) | about 2 years ago | (#42586683)

keep funding Social Security for me. KTHXBYE.

I knew the LOLcats meme was getting up in age; but I didn't think it was that old.

Re:BASIC (1)

Massacrifice (249974) | about 2 years ago | (#42588189)

That's LOLCODE you insignificant cod.

Re:BASIC (1)

istartedi (132515) | about 2 years ago | (#42588353)

LOLCODE [] came 2nd.

Re:BASIC (1)

William Miller (2821191) | about 2 years ago | (#42655069)

BASIC was indeed a real fun) It was my first programming language. And Yes, guys, programming in 1965 or 1974 was probably a real torture. Not like today, with ready-made blocks and templates.. Times change)

Re:BASIC (4, Insightful)

fuzzyfuzzyfungus (1223518) | about 2 years ago | (#42584761)

I think it's a "the first hit is free" theory applied to programming.

Especially for Those Damn Kids Today With Their 'X-Box' and 'Droid-Pad', there is a fuckton of (sometimes quite difficult, sometimes not; but definitely overwhelming) amount of boilerplate and support libraries and middleware and things behind even the most trivial applications they are likely to interact with before they are introduced to programming. Anything they are capable of producing will seem primitive by comparison, potentially causing loss of interest. If, so the theory goes, you provide them with an environment where doing at least some things is much simplified, you can draw them in and introduce the tougher stuff as you go along.

After all, between FOSS and crippleware or free-as-in-stolen proprietary tools, it's not as though the problem with programming education is lack of tools. This isn't the bad old days where getting Turbo Pascal for only $50 1983-dollars was a crazy good deal... The trick now is pedagogical.

Re:BASIC (0)

Anonymous Coward | about 2 years ago | (#42585019)

Can't speak for the book, but I think Scratch is pitched at about the right level for a lot of kids trying out programming for the first time. Our local CoderDojo uses it (I'm not sure how many of them do), and appears to be packed out every weekend with fairly young kids enthusiastically trying stuff out. Something's clearly right. Sure, it's more tacky and user-friendly/restrictive/easy-to-get-started-with than how I started, but times change and all that. Teaching basic practical programming concepts in a drag-n-drop graphical way doesn't seem inherently wrong, and it's probably better than having 90% of kids come away believing software is boring.

Re:BASIC (1)

fotoguzzi (230256) | about 2 years ago | (#42585071)

The trick now is pedagogical.

Pedagogical! Won't someone think of the children?

Re:BASIC (0)

Anonymous Coward | about 2 years ago | (#42586305)

I think that's called "pedophilical"

Re:BASIC (3, Insightful)

Bigby (659157) | about 2 years ago | (#42584809)

If something more visual can be used to teach basic algorithms in a neat/innovative way, it blows learn BASIC away. For instance, an exercise where you have to organize animals. In one scenario, you have X boxes and X animals. You cannot drag an animal in between two animals (array). In another scenario, it starts acting like a Linked List, where you can drag animals in between others. In another scenario, it introduces hashing to the pupil. A simple categorizing of animals by first letter or taxonomy family would represent the "bucket" or hash key.

In each of these, the array/list/hashmap could be completed with 10K animals automatically using their methodology and then as them to find animal Y. They would quickly learn how to best set up data models. This could then extent to binary search trees, etc...

Re:BASIC (2)

TheRealMindChild (743925) | about 2 years ago | (#42584897)

Simple. Trying to teach a 3-4 year old to type lines of code when they can't even spell their name/recognize words will be a mountain of a task that isn't necessary to teach logic concepts like programming

Re:BASIC (1)

Jeng (926980) | about 2 years ago | (#42584993)

I put a craptastic old computer running Ubuntu in the living room for the kids when they come over.

I didn't have to teach them to read, they taught themselves.

Considering their fascination with Mario I may be able to get one of them going on programming by showing him how to make his own levels.

Re:BASIC (3, Funny)

cats (316481) | about 2 years ago | (#42585223)

I didn't have to teach them to read, they taught themselves.

unkel jeng are bestest unkel
i am teech me are read by nobody!
tank u unkel jeng!

Re:BASIC (1)

Jeng (926980) | about 2 years ago | (#42586243)

Damn dude, he learned from youtube and flash video game sites, not from a dnd troll or ogre.

Please continue to submit what you think he may type like though =)

Re:BASIC (1)

tehcyder (746570) | about 2 years ago | (#42591837)

I didn't have to teach them to read, they taught themselves.

Yeah, well my kids are so smart they taught themselves how to read inside their mother's womb. At six months, they'd read War & Peace. After teaching themselves Russian first, of course.

Re:BASIC (4, Informative)

Teancum (67324) | about 2 years ago | (#42585017)

The one thing that Scratch does by far and away better than Dartmouth BASIC (and subsequent variants) is the ability to implement multimedia design. It also introduces some "real time" programming concepts like event driven interrupts, multithreaded programming, and a whole bunch of other fun and interesting ideas that simply flow from the language design where you don't even need to teach the kids what they mean before they are using them extensively in their programming.

Mind you, I was one of those folks who learned how to program not in the 1990's but rather in the 1970's on 110 baud teletype terminals with crusty yellow paper and the ability to use punch tape for data storage. That was using the real Dartmouth BASIC and not the fancy stuff that later 8-bit microcomputers did to pervert the language. BASIC has its place and does some really fun things, but if you haven't tried Scratch, you don't know what you are missing.

Having a bunch of young kids myself, I've introduced Scratch programming to them and it is a perfect fit for introducing computer programming to middle school kids (nine to twelve year olds give or take a year or two on each end). It has a couple of artificial limitations simply because of some paranoia on the part of MIT that I strongly disagree with (it has no file I/O and the Scratch 2.0 variant has a really quirky network socket layer that is just odd) but you can do some really interesting things with the language.

If you want to whip up a program in an hour or two to do something really fun and interesting, Scratch is by far and away the best language to do a prototype multimedia programming interface. That would give you the added benefit that some employer or boss that says to use that interface for production code would have to be informed that you will be using a "real" compiler for the production stuff and that the interface is only a prototype.

Re:BASIC (1)

tehcyder (746570) | about 2 years ago | (#42591937)

I was one of those folks who learned how to program not in the 1990's but rather in the 1970's on 110 baud teletype terminals with crusty yellow paper and the ability to use punch tape for data storage. That was using the real Dartmouth BASIC and not the fancy stuff that later 8-bit microcomputers did to pervert the language.

Shall we all get off your lawn now?

Re:BASIC (1)

Teancum (67324) | about 2 years ago | (#42598629)

No, you need to get off my dad's lawn. He was programming computers before I was born with real he-man computers that had water-cooled vacuum tubes and physical patch cords that were in the CPU cabinet.

Re:BASIC (0)

Anonymous Coward | about 2 years ago | (#42585041)

What is wrong with learning using BASIC ? It worked for all those folks (including me) who learned how to program in the 90s. It was not difficult and was fun in its own way.

What's wrong with BASIC? GOTO hell!

Re:BASIC (2)

Teancum (67324) | about 2 years ago | (#42588485)

On the Apple II Integer BASIC, typing in GOTO HELL would result in the software jumping to the line number contained in the variable "HE". It actually would work! It was an odd way to do a computed GOTO statement, but it was pretty effective I might add. Variables were only two letters long, and the subsequent letters in a variable name were permitted but ignored in terms of memory reference lookups.

It was fun when I typed that command in and it didn't come back as a syntax error... then I had to figure out why that was the case. I learned a whole lot about computer programming from that one statement.

Re:BASIC (0)

Anonymous Coward | about 2 years ago | (#42585771)

I hated BASIC. I found it unintuitive. C and ASM I learned faster as they made more sense.

Re:BASIC (0)

Anonymous Coward | about 2 years ago | (#42585781)

BASIC gets things done, that's part of the problem. Modern languages don't.

Strings? In BASIC they are a primitive type a mutable. Drawing? Some versions have built in line and circle statements so no need for PEEK and POKE. Text output? Some versions have a locate statement or an HTAB or VTAB for the cursor. Sound? IBM BASIC even had a PLAY statement to generate up to seven octaves of music out the PC speaker.

Everything easy to do in BASIC is hard to do in other languages. OOP languages require a class and method just to print anything. Trivial tasks in BASIC require imports of bloated APIs with complex method calls in OOP languages. OOP is so caught up in the encapsulation and polymorphism stuff that it's more about creating an elegant abstraction than the most effective way of getting things done.

But modern programming is stuck in OOP these days. The old line interpreted BASIC isn't relevant anymore.

Re:BASIC (1)

Mike Frett (2811077) | about 2 years ago | (#42589421)

BASIC, as it pertains to Windows, isn't available on Linux As-Is. But there are alternatives like KBasic and Gambas. That's why.

Scratch me ballz (-1)

Anonymous Coward | about 2 years ago | (#42584611)

This 1st post was written with Scratch

"Alice" is also a nice programming intro for kids (3, Interesting)

crazyjj (2598719) | about 2 years ago | (#42584633)

There was a similar "language" (actually more an IDE) that I worked with a few years ago with my nephew, called Alice [] . It was a lot of fun, taught a lot of fundamental OOP concepts, and was surprisingly powerful (yet simple to use). My nephew had all kinds of animation going in a pretty short time, and even did a couple of games in it. Sure beat hand-coding BASIC on a Commodore 64.

It was aimed at about the middle-school level, I would say. But it could also be used at the high-school level too, for a basic "Intro. to Programming" class--something that I wish were offered more often at the primary and secondary level in the U.S. Even non-programmers could benefit from knowing a LITTLE about programming, instead of just treating software like some kind of magic.

Re:"Alice" is also a nice programming intro for ki (0)

Anonymous Coward | about 2 years ago | (#42584893)

Sure beat hand-coding BASIC on a Commodore 64.

The problem is not the effort, it is the understanding

Re:"Alice" is also a nice programming intro for ki (0)

Anonymous Coward | about 2 years ago | (#42585239)

Funny enough, my University used Alice in its 'Intro to Programming' course for Information Technology majors.

Everyone hated using it, but it provided great OOP fundamentals for students.

My only gripe is that Professors cared more for the "show", not the code.

Re:"Alice" is also a nice programming intro for ki (1)

CastrTroy (595695) | about 2 years ago | (#42585467)

Yeah, in high school our first intro to programming was something like Hypercard [] , although ours ran on DOS. I remember having quite a bit of fun with that. We also learned quite a bit of "programming" through the use of Quattro Pro (spreadsheet) and FileMaker Pro (Database, like MS Access) The advantages of these is that they introduce you to programming while getting you acquainted with real world tools. Unlike Scratch, which (almost) nobody would use to create a real program. After that we moved on to QBasic and HTML. Yeah, we learned QBasic in 1998, because even the oldest computers in the school could run it, the teacher was familiar with it, and it could do just about everything a modern programming language could do. It didn't require an expensive IDE, or new computers. Most of us could even work at home.

Re:"Alice" is also a nice programming intro for ki (0)

Anonymous Coward | about 2 years ago | (#42588363)

I think this is not very first attempt, I use to teach programming with StarLogo (, and it seems to be quite similar to SCRATCH.
(yes, english is not my mother tongue).

Re:"Alice" is also a nice programming intro for ki (0)

Anonymous Coward | about 2 years ago | (#42589343)

I think Scratch is great for the 9-12 year olds who maybe would find a regular language slow going.

I did an after school activity at the local school with 9 year olds and I'd say about 50% were engaged. The nice thing about scratch was that the un-engaged ones could still do something (change background etcs).

There's also a Microsoft Research project Kudo which my son (10) enjoys.

BTW I put the scratch lesson plans on a quick web site if anyone wants to take a look: hopefully someone will find it useful.

WASP Male Nerd (-1)

Anonymous Coward | about 2 years ago | (#42584663)

Nothing like educational material to support stereotypes.

I'm not normally PC-sensitive, but if the purpose for the material is to make it more accessible, maybe rethink the branding/imagery associated with the material. This makes an emotional (likely subconscious) impact immediately, before the material is ever reached.

Re:WASP Male Nerd (1)

Jmc23 (2353706) | about 2 years ago | (#42584731)

Only for idiots like you who can't tell that's Pat, the sexually/racially ambigous thing. Wasps don't have fro's

Re:WASP Male Nerd (1)

CanHasDIY (1672858) | about 2 years ago | (#42584823)

Only for idiots like you who can't tell that's Pat, the sexually/racially ambigous thing. Wasps don't have fro's

Ha, +1 Nostalgic Reference!

Cue Pat's trademark moan.

Re:WASP Male Nerd (0)

Anonymous Coward | about 2 years ago | (#42585283)

The racially emotional subconscious impact you are talking about is racist in itself.

Re:WASP Male Nerd (0)

Anonymous Coward | about 2 years ago | (#42588411)

The cover is a stereotype of computer geeks everywhere:

Nothing says 'make computers accessible' like a wasp male nerd.

I wasn't so worried about race. I guess I'm sexist. So are the enrolment numbers.

Shame it came from MIT (-1)

Anonymous Coward | about 2 years ago | (#42584687)

I can't support MIT after they killed Aaron Swartz.

Re:Shame it came from MIT (1)

Jeng (926980) | about 2 years ago | (#42585319)

If you want to put artificial limitations on how you will improve your life then by all means cripple yourself with stupidity.

Get back with reality when you want to make a difference.

Re:Shame it came from MIT (1)

tehcyder (746570) | about 2 years ago | (#42592077)

I can't support MIT after they killed Aaron Swartz.

Duh, it was the Zionist-Communist-Muslim-New-World-Order guys who killed Aaron Swartz.

MIT killed JFK.

What's wrong with... (1)

Synerg1y (2169962) | about 2 years ago | (#42584713)

Visual Basic flow charts? Oh right, this book got translated from Chinese, re-invent the wheel much?

Srsly, we need to teach our kids to read properly first, math wouldn't hurt either, otherwise we'd just have a generation of retarded programmers with best practices being super-expensive primo code... oh wait I can profit here... carry on.

Re:What's wrong with... (0)

Anonymous Coward | about 2 years ago | (#42584907)

What's wrong with Visual Basic flow charts?

Literally everything.

just watch out for BrainScratch (2)

hguorbray (967940) | about 2 years ago | (#42584833),69018/

Cowboy Bebop epi about an online cult

-I'm just sayin'

Language level? (1)

vlm (69642) | about 2 years ago | (#42584871)

It is hard to tell what the age group for this book is as children have such varied technical skills

Beyond that, language level? Gimme a sample? How bout a comparison? A kid who reads "Boys Life" (the boy scouting magazine) would find this simple or complicated? On your amazon affiliate link above, there are "customer images" from "jessica" that are JUST barely too far away for me to read it.

You know what would be cool, a comic book version of "the little schemer". Assuming that translates to comics well enough.

"Literally millions"? (-1, Flamebait)

Nimey (114278) | about 2 years ago | (#42584901)

"Literally" doesn't mean what you think it does, dipshit.

Re:"Literally millions"? (4, Informative)

Barefoot Monkey (1657313) | about 2 years ago | (#42585159)

"Literally" doesn't mean what you think it does, dipshit.

From the site [] :
"Check out the 3,029,110 projects from around the world!"

Re:"Literally millions"? (1)

Anonymous Coward | about 2 years ago | (#42585177)

"Literally" doesn't mean what you think it does, dipshit.

The web site claims over 3 million Scratch projects accessible there.

So, yes, literally millions.

Re:"Literally millions"? (0)

Anonymous Coward | about 2 years ago | (#42598331)

Is it really that hard to click on a link to check? So who's the dipship?

Hey look! (-1)

Anonymous Coward | about 2 years ago | (#42585109)

Yay, it's an advertisement!

IPad app please? (0)

Anonymous Coward | about 2 years ago | (#42585153)

When will there be an iPad app?

Re:IPad app please? (1)

Nerdfest (867930) | about 2 years ago | (#42585641)

Apple blocked this originally under iOS because people might develop applications with it. Last I checked I didn't see it there. Major dick move on their part.

Re:IPad app please? (1)

Spy Handler (822350) | about 2 years ago | (#42585807)

not like anybody's really gonna want to type code using a virtual keyboard on a 9.7 inch screen. Hell, it took me two minutes just to type to get here!

Re:IPad app please? (1)

jbo5112 (154963) | about 2 years ago | (#42588173)

You hardly type anything when programming in scratch. I think it's just numbers, variable names, and maybe some strings. All the program logic is done with drag and drop code blocks, and there might even be keyboardless ways to input some of the other stuff.

Re:IPad app please? (1)

slim (1652) | about 2 years ago | (#42601365)

Bluetooth keyboard (although Scratch hardly needs any typing)

Linux, Sugar desktop, Scratch (1)

fotoguzzi (230256) | about 2 years ago | (#42585215)

Has anyone gotten these to install and work together with a reasonable amount of effort? I can get the Sweets desktop package to work, but all I see is "no file found here" type errors when I attempt to run Scratch from this environment. I guess I'm the first person in history to ever attempt this. I would have expected it to be commonplace, but I'm willing to follow behind someone's snowshoes on this. Thank you.

I use it to teach 5 classes. (2)

losfromla (1294594) | about 2 years ago | (#42585479)

I use a scratch variant called BYOB ( or Snap!), it comes out of Berkeley. We are using the "Super Scratch Programming Adventure" book although I first started with the Scratch "Getting Started" tutorial until I felt each whole class had a strong grasp on the fundamentals. The book actually does a good job of introducing the scratch IDE, which is something the getting started tutorial is lacking in. I am using it to teach 1st - 5th graders, the main difficulty with teaching it to the lower grades is that their spelling is not strong enough across the board so they sometimes pick the wrong blocks. Based on my limited experience (only been at it for about three months), it probably is best for 3rd - 8th graders as a first language and good for maybe 2-3 years before the students should move to another language.
The reason I chose BYOB over Scratch is that BYOB stands for Build Your Own Blocks, that is, users can build their own named reusable functions, something that is lacking in Scratch. To be clear, BYOB is a superset of scratch.
Kids really really really like learning BYOB/Scratch, I teach about 5 classes and the only objections I've had have been from some of the teachers who don't understand what the value is in programming. Some students also withdraw if they don't understand but once they get extra help and catch up, they too begin to enjoy it. I teach at a very racially mixed school of mixed socioeconomic demographics and all of the kids are doing great, no hand chosen group of testers for me.

Re:I use it to teach 5 classes. (1)

the agent man (784483) | about 2 years ago | (#42613557)

If you are ready to have the students move on from making simple animations in Scratch perhaps to making games in 2D and 3D you may want to check out AgentCubes [] Like BYOB, you can make your own methods, use recursion, etc.

ps: what kind of class was this? Is this an after school program? Were the students self selected?

Pretty cool book for kids (1)

linuxwrangler (582055) | about 2 years ago | (#42585595)

My daughter first played with Scratch a year or so ago. She is now eight and enjoyed the book when I got it for her a few months back.

It should be a good companion for a Raspberry Pi as Scratch is one of the front-and-center educational apps on the default Raspberri Ubuntu distro (though running it definitely shows the speed limitations of the Pi).

One advantage of a non-Internet-connected Pi, however, is that Sratch doesn't have to compete with the myriad distractions from Cool-math-games-for-kids to Barbie.

it won't work with iOS devices (0)

Anonymous Coward | about 2 years ago | (#42586555)

Scratch 2.0 will run on Adobe Flash (so it won't work with iOS devices)

It was originally written and implemented in Smalltalk and had enough headroom for the learner to reach for the stars once they reached the limit of the Scratch environment.

Can someone explain why this happened?

Re: it won't work with iOS devices (0)

Anonymous Coward | about 2 years ago | (#42587441)

Could this be why Aaron Swartz had to be silenced?

Kid (learner) friendly IDE ? (0)

Anonymous Coward | about 2 years ago | (#42587417)

Are there any python (or insert real language here) IDEs with this kind of "kid" friendly interface?

Re:Kid (learner) friendly IDE ? (0)

Anonymous Coward | about 2 years ago | (#42587995)

Are there any python (or insert real language here) IDEs with this kind of "kid" friendly interface?

I thought Scratch came from the same "family tree" at MIT as Logo, which was a kid-friendly version of Lisp. There were Apple II and Ti versions of Logo for home/school use. A previous post said Scratch was first written in Smalltalk, is that enough of a "real language" for you?

Always seemed to me that a big part of the attraction to Basic was the name. What better way to market something complex than to name it BASIC? If Logo came out earlier and was named Basic, maybe it would have had a bigger reach?

what's the next step? (1)

swell (195815) | about 2 years ago | (#42589115)

So after investing 326 hours mastering Scratch. Where does one find a similar, more powerful language that builds upon what has been learned?

Re:what's the next step? (1)

slim (1652) | about 2 years ago | (#42589813)

Scratch teaches the fundamentals of traditional imperative programming structures like variables, loops and branches, input and output. Because all the constructs are drag-and-drop, it's literally impossible to get a syntax error. That's a big deal for a 5-year-old.

All of those concepts will carry forward to a text-based imperative programming language. Python seems like a good next step to me. For, say, a 7 year old who's got good at Scratch, Python is going to look:

  - faster to write and modify -- typing is quicker than finding elements to drag and drop
  - easier to get wrong -- since there's new opportunities for syntax errors
  - more powerful -- a bright child will probably 'invent' a wish list of missing features in Scratch, such as functions; and will find them in Python.

So you'd expect the child who's taken to Scratch, will be strongly motivated to move to a more powerful 'real' language like Python, seeing the tradeoff of power versus hand-holding as worthwhile.

How hard should it be to keep new blocks around? (1)

mcarp (409487) | about 2 years ago | (#42590235)

Ok so it looked kinda neat so I decided to try it last year. I spent a couple weeks on and off messing around with Scratch and yeah I had a bit of fun. I've been coding since 1980 so of course I just see Scratch as yet another syntax. I'm a clock nut, so the first thing I wanted to do was make a clock. Welp. To do that you need to know what time it is. Guess what? You need a new block to do that! I would've expected getting time and date would be a rather likely thing to include in the default set of blocks. I'm sort of glad it wasn't because it turned me on to one fault I found with Scratch. I had no trouble digging through forum posts and eventually making a time block and a date block. I got my clock going in a matter of moments afterward with several sprites and it looked kinda spiffy. So I saved it and went to bed. Next day I get up to do some work on the thing and what a lode of BS! My time blocks were gone! Well after hours of digging in forums again I found out how to save my blocks so they'd be reloaded when I started Scratch...or so I thought. Didn't work! I still wanted to mess around with Scratch some more so I had to remake my blocks every time I loaded Scratch. From time to time I tried to solve the block saving problem again. Eventually I gave up. Maybe it was my version of Scratch that was no good but I did try a couple other versions. Now I'm sure a bunch of you /.ers will chime in and say what an idiot I was for failing at this, but I find it a shortcoming of Scratch that it should be difficult to save new and simple blocks so that they're reloaded thence forth. What a PITA it is too for would be downloaders of my project to have to create these blocks to have my program work for them. I can accept that yes thats just the way it is with mods. But for goodness sake I find it a major problem that such simple mods would be so much of a pain that most people couldn't be expected to do it just to see your pitiful little noob project. Were that issue to go away, I still wouldn't torture anyone to learn scratch vs BASIC as a first language or pick your favorite text language to start with. I don't think its too much to ask to type a bit of text to get to the fun parts and you can do it pretty quickly in a few languages. IMO, Scratch fail. PS. I thought MIT was full of smart people.

Wait... (0)

Anonymous Coward | about 2 years ago | (#42593217)

So did he program a version of Adventure using Scratch or not?

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?