Scratch programming -- absolutely not a dead end
This user comes from
Find other posts in the same category: | | | | |

Long description

I would have to contradict the article published earlier about Scratch being a dead end.

Scratch may not be suitable for advanced college work - but unlike Greenfoot and other excellent tools, this one meets the needs of the weaker students. This one stretches the reasoning of the slower high school student and even the special needs students. This is not a tool to teach java and data structures. This is a tool to teach basic concepts of loops - conditionals - variables - math reasoning.
Part of the judgement about it must be rendered with consideration of the audience. For non-gifted high school students I would argue it is fantastic.

Having taught Scratch in an animation environment to approximately 70 mainstream and weaker high school students including special ed students for an entire year, I would also argue about it being a dead end.

For years there has been an ongoing discussion of what concepts should be focused on and what language to teach them with. Therefore Scratch can not be called a dead end as it does teach many of these concepts and more to come with the new updates to come out so far. SO what if it is drag and drop. Once a kid learns the CONCEPT.....they can transfer to other languages by learning syntax. That point has also been argued and proven otherwise there would be not be people teaching Python - Dr Scheme or Visual basic or Jeroo or Alice as introductions to CS - since the AP is in Java and they can only learn proper syntax in Java.

Earlier this year - my students built an interactive Rock Paper Scissor game.

One of my B student kids built his with clickable interface (GUI)

He also put the blocks together like this for scoring -

Assuming Rock =1 paper = 2 and Scissors = 3

if playerchoice =1 AND compchoice=3 OR playerchoice =2 AND compchoice = 1 OR playerchoice = 3 AND compchoice=2
increase playerscore by 1
if playerchoice=1 AND compchoice = 2 OR playerchoice =2 and compchoice = 2 OR playerchoice = 3 AND compchoice=1
increase compscore by 1

He coded that after watching me do simpler conditional

if playerchoice =1 AND compchoice = 3
increase playerscore by 1

I am in a small rural school with near 50% minority students. We have had success as I have taken teams of every grade - gender and minority group to compete and place in CS State level contests. This past year my first ever student to take the AB just scored a 5. Still I fight for every CS student I get. So when I saw the reasoning and success my students were having with Scratch - I was ecstatic. I also got at least 3 who are taking Pre-AP this fall as a result of their success in Scratch.

For the record scratch teaches more than 4 CS concepts.

Scratch offers these concepts that I have found.

Algorithms - Evaluating what to click and what to put in order is still algorithms

Iteration - looping - Also a key concept- and infinite loops are much funnier and much stronger impact when it leaves your animation looking like a cartoon on crack as an animated charcter moves forever.or a counter looks like a slot machine spinning...or a character's movemtns get faster and faster. After about once of that- it doesn't happen except for fun.

Conditional statements - If and else make checking conditions possible-

Variables - create an Instance variable - make it available to one sprite (object) - or a class variable - make it available to all sprites. New Scratch is bringing String variables to complement integer and doubles.

Boolean Logic - AND, OR, and NOT both in simple and compound use.

Math Operations - basics plus MOD Sqrt, trig functions and logs

Threads - simultaneous execution of more than one stack - key to many video effects and gaming ideas

Synchronization - coordinate multiple sprites and their actions

Real time interaction - ability to use Mouse_x and Mouse_y position as well as current loudness can be used as dynamic input for real time action

Random numbers - not as elaborate as other languages but easier introduction when ranging from something other than zero

Event Handling - When a key is pressed or a sprite is mouse clicked - Easy to do and expands kids minds with possibilities (hot key to cheat in games - their expansion of it )

User Interfaces - Graphic buttons by using clickable sprites - yea it does that too.

and for those of you with long memories- the fun of turtle logo - yea - its in there - pen up Pen down - change color - all in there.

and coming in the new version of Scratch - this month - LISTS and ????? more to come

In short in my digital graphics class, my students did more interaction and had more complex reasoning than they ever realized. Some hated the graphics part but loved the reasoning in making games work.. Sounds like a programmer rather than an artist.

We built interactive kids alphabet, Etch a Sketch with many options, Maze Game with trap doors, Rock Paper Scissors, Break-Out - 7 levels with bonuses, and Who Wants to be a Millionaire while still taking off 6 weeks to play with Windows MovieMaker.

All of this was accomplished in our first year with Scratch. I made the change to it after conflicts implementing Game Maker for some Independent study kids.

So....lets see - it teaches basic CS concepts - it pulls people into my Pre_Ap CS class - It reinforces Algebra skills (Must keep counselors and state tests in mind) - and kids love it.....

Tell me again how that makes it a dead end?

Part of me would love to put Scratch in the middle school and let it build my CS program. That would rob me of teaching it in 4 classes and mean going back to Flash which has a MUCH steeper learning curve especially when it comes to coding games.So I am recruiting freshmen to it as a way of feeding them into Pre_AP-showing them Jeroo, Greenfoot and Alice projects as a hook into CS.

Rating (1 to 100) 75 = very good; 50 = good; 1 = unknown

To see articles on the same topic, click the links below the name of the author at the top of this page.