Discuss Scratch
- Discussion Forums
- » Things I'm Making and Creating
- » Coding for kids studio (link to studio)
- Joshuay2
-
100+ posts
Coding for kids studio (link to studio)
Hi
Here is the cheat sheet
Coding For Kids For Dummies
From Coding For Kids For Dummies by Camille McCue
Getting started with writing code is similar to learning a new language: You've got to know the vocabulary and punctuation and how to put those together. You also need to know how to use the painting tools and how to make buttons and other features to create a graphical user interface for your programs.
How to Create an Action Plan When Writing a MicroWorlds EX Computer Program
Writing a new computer program begins with creating an action plan. The action plan tells what smaller parts you need to make and put together to build the entire program. Your action plan should contain steps such as the following.
Planning your design and layout:
Define the program purpose: game, simulation, or animated scene.
Select or paint backgrounds on the pages.
Create pages or screens that your program needs: splash page, action page, and levels. Add transitions between pages.
Create characters if needed by hatching turtles and then selecting shapes from the Painting/Clipart palette, or painting new shapes in shape spots on the Shapes pane. (Double-click a shape spot to open the Shape Editor.)
Make text boxes with titles, labels, and instructions.
Make text boxes to show variable values. If a variable value carries over between pages, define a project variable and then make text boxes to show the project variable value.
Creating character actions:
In each turtle backpack on the State tab, set character attributes. This is especially useful for attributes that don’t change during the program — after these are assigned, you don’t have to set these values again. Examples include size, shape, and heading and I have variablename values. However, these values can be changed at any time during program execution, if needed.
In each turtle backpack on the Rules tab, add primitives or procedures to the OnClick, OnColor, OnTick, OnTouching, OnMessage, and When This Do That fields.
If needed, add universal color under conditionals to the background. Commands added to the background will be executed when a turtle touches a designated color.
Adding features, such as ways for users to interact and multimedia:
If a drop-down list will be used, create and name the drop-down list and add the items to the list.
If a slider will be used, create and name the slider. The slider is a variable with values that can be changed in the graphical user interface.
Add buttons to the graphical user interface so that users can execute the code you have written and interact with your program.
If needed, add audio features such as music or sound effects.
Programming the actions:
In the Procedures pane, write procedures that will be executed to control program flow, react to program conditions, and react to user input.
In the Procedures pane, write an initialization procedure to set starting conditions for program execution. This may include setting initial variable values and turtle sizes, shapes, headings, and positions, whether turtles show or hide, and whether turtles are clicked on or clicked off.
How to Use Primitives in MicroWorlds EX
Primitives are commands that MicroWorlds EX already knows. Typing a primitive into the Command Center (at the bottom of the interface) and then pressing Enter (Windows) or Return (Mac) immediately executes the primitive.
Note that some primitives need an input, such as a number, a word, or a list of words or instructions. When using these primitives, remember to check that they have the right type of input.
Primitive What Current Turtle Does
home Sets coordinates to (0,0) and heading to 0
show who Identifies name of current turtle
fd distance Turtle moves forward distance steps
bk distance Turtle moves backward distance steps
glide distance speed Turtle moves distance at a speed
rt angle Turtle turns right angle degrees
lt angle Turtle turns left angle degrees
seth angle Sets turtle heading to angle degrees
pd or pu Turtle puts drawing pen down or pen up
setc “color Sets the turtle and its pen to color (for example, blue)
setpensize num Sets the size of the turtle pen
setbg ”color Sets the background color (for example, yellow)
setsh "shapename Sets the shape of the turtle to shapename
clean Cleans the background, but leaves all objects where they are
st or ht Show turtle or hide turtle
pd or pu Turtle puts drawing pen down or pen up
wait time Waits time (in tenths of a second)
setx xcor Sets the x-coordinate of the turtle to xcor
sety ycor Sets the y-coordinate of the turtle to ycor
setpos Sets the coordinates of the turtle to (xcor, ycor)
repeat num Executes the commands a total of num times
random num Generates a random number from 0 to num – 1
setvariablename value Sets the variable variablename to value
t1, commands Assigns t1 as current turtle; t1 executes commands
if condition If condition occurs then execute consequence
everyone All turtles execute commands (not just current turtle)
How to Write Procedures in MicroWorlds EX
Procedures combine primitives and other procedures to create new commands. Procedures are written in the Procedures pane of the MicroWorlds EX interface. A procedure begins with the word to and a one-name word for the procedure. It ends with the word end, which must be on its own line. The procedure can then be executed by typing the procedure name in the Command Center, or by including it in another procedure or a button instruction or anywhere a command is used. Following are some examples of procedures.
The following code defines a procedure named redsquare that draws a red square of side length 50:
to redsquare
setc "red
pd
repeat 4
end
The following code assumes that there are two text boxes: one named heads and one named tails. This code defines a procedure named initialize that sets the value of the heads variable to 0:
to initialize
setheads 0
settails 0
end
The following code assumes that there are two shapes: one named heads and one named tails. This code defines a procedure named cointoss that sets the value of the flip variable to a randomly generated number (either 0 or 1); it then shows a heads shape or a tails shape according to the outcome:
to cointoss
setflip random 2
if flip = 0
if flip = 1
end
Here is the cheat sheet
Coding For Kids For Dummies
From Coding For Kids For Dummies by Camille McCue
Getting started with writing code is similar to learning a new language: You've got to know the vocabulary and punctuation and how to put those together. You also need to know how to use the painting tools and how to make buttons and other features to create a graphical user interface for your programs.
How to Create an Action Plan When Writing a MicroWorlds EX Computer Program
Writing a new computer program begins with creating an action plan. The action plan tells what smaller parts you need to make and put together to build the entire program. Your action plan should contain steps such as the following.
Planning your design and layout:
Define the program purpose: game, simulation, or animated scene.
Select or paint backgrounds on the pages.
Create pages or screens that your program needs: splash page, action page, and levels. Add transitions between pages.
Create characters if needed by hatching turtles and then selecting shapes from the Painting/Clipart palette, or painting new shapes in shape spots on the Shapes pane. (Double-click a shape spot to open the Shape Editor.)
Make text boxes with titles, labels, and instructions.
Make text boxes to show variable values. If a variable value carries over between pages, define a project variable and then make text boxes to show the project variable value.
Creating character actions:
In each turtle backpack on the State tab, set character attributes. This is especially useful for attributes that don’t change during the program — after these are assigned, you don’t have to set these values again. Examples include size, shape, and heading and I have variablename values. However, these values can be changed at any time during program execution, if needed.
In each turtle backpack on the Rules tab, add primitives or procedures to the OnClick, OnColor, OnTick, OnTouching, OnMessage, and When This Do That fields.
If needed, add universal color under conditionals to the background. Commands added to the background will be executed when a turtle touches a designated color.
Adding features, such as ways for users to interact and multimedia:
If a drop-down list will be used, create and name the drop-down list and add the items to the list.
If a slider will be used, create and name the slider. The slider is a variable with values that can be changed in the graphical user interface.
Add buttons to the graphical user interface so that users can execute the code you have written and interact with your program.
If needed, add audio features such as music or sound effects.
Programming the actions:
In the Procedures pane, write procedures that will be executed to control program flow, react to program conditions, and react to user input.
In the Procedures pane, write an initialization procedure to set starting conditions for program execution. This may include setting initial variable values and turtle sizes, shapes, headings, and positions, whether turtles show or hide, and whether turtles are clicked on or clicked off.
How to Use Primitives in MicroWorlds EX
Primitives are commands that MicroWorlds EX already knows. Typing a primitive into the Command Center (at the bottom of the interface) and then pressing Enter (Windows) or Return (Mac) immediately executes the primitive.
Note that some primitives need an input, such as a number, a word, or a list of words or instructions. When using these primitives, remember to check that they have the right type of input.
Primitive What Current Turtle Does
home Sets coordinates to (0,0) and heading to 0
show who Identifies name of current turtle
fd distance Turtle moves forward distance steps
bk distance Turtle moves backward distance steps
glide distance speed Turtle moves distance at a speed
rt angle Turtle turns right angle degrees
lt angle Turtle turns left angle degrees
seth angle Sets turtle heading to angle degrees
pd or pu Turtle puts drawing pen down or pen up
setc “color Sets the turtle and its pen to color (for example, blue)
setpensize num Sets the size of the turtle pen
setbg ”color Sets the background color (for example, yellow)
setsh "shapename Sets the shape of the turtle to shapename
clean Cleans the background, but leaves all objects where they are
st or ht Show turtle or hide turtle
pd or pu Turtle puts drawing pen down or pen up
wait time Waits time (in tenths of a second)
setx xcor Sets the x-coordinate of the turtle to xcor
sety ycor Sets the y-coordinate of the turtle to ycor
setpos Sets the coordinates of the turtle to (xcor, ycor)
repeat num Executes the commands a total of num times
random num Generates a random number from 0 to num – 1
setvariablename value Sets the variable variablename to value
t1, commands Assigns t1 as current turtle; t1 executes commands
if condition If condition occurs then execute consequence
everyone All turtles execute commands (not just current turtle)
How to Write Procedures in MicroWorlds EX
Procedures combine primitives and other procedures to create new commands. Procedures are written in the Procedures pane of the MicroWorlds EX interface. A procedure begins with the word to and a one-name word for the procedure. It ends with the word end, which must be on its own line. The procedure can then be executed by typing the procedure name in the Command Center, or by including it in another procedure or a button instruction or anywhere a command is used. Following are some examples of procedures.
The following code defines a procedure named redsquare that draws a red square of side length 50:
to redsquare
setc "red
pd
repeat 4
end
The following code assumes that there are two text boxes: one named heads and one named tails. This code defines a procedure named initialize that sets the value of the heads variable to 0:
to initialize
setheads 0
settails 0
end
The following code assumes that there are two shapes: one named heads and one named tails. This code defines a procedure named cointoss that sets the value of the flip variable to a randomly generated number (either 0 or 1); it then shows a heads shape or a tails shape according to the outcome:
to cointoss
setflip random 2
if flip = 0
if flip = 1
end
- Joshuay2
-
100+ posts
Coding for kids studio (link to studio)
Here is the scratch cheat sheet
Scratch For Kids For Dummies
From Scratch For Kids For Dummies by Derek Breen
When you open Scratch, the user interface has several panes, buttons, and icons rather than text. Knowing how to use the main interface, including the Bitmap and Vector Paint Editors, the Sound Editor, and Scratch’s coding blocks and scripts, can help you design Scratch projects in no time.
Opening the Scratch User Interface
The Scratch user interface divides the development environment into several panes. On the left of the screen are the Stage and the Sprites areas. In the middle of the screen are the coding blocks. When selected, the Scripts area, Costumes Editor, and Sounds Editor appear on the right.
image0.png
Drawing in the Scratch Bitmap Paint Editor
The Scratch Bitmap Paint Editor allows users to create sprites, costumes, and backdrops with the bitmap tools and techniques in Bitmap Mode. The Bitmap Paint Editor is the default editor when creating a new sprite, costume, or backdrop. By clicking the Convert to Vector button, users can design sprites, costumes, and backdrops with the vector editing tools and techniques in Vector Mode.
image0.png
Drawing in the Scratch Vector Paint Editor
The Scratch Vector Paint Editor allows users to create sprites, costumes, and backdrops with the vector tools and techniques in Vector Mode. Vector graphics allow users to design various parts of an image separately, resize parts of an image, and increase the image size without the image becoming blurry or pixelated.
To design sprites, costumes, and backdrops using the vector editing tools and techniques, a Scratch user must click the Convert to Vector button to enter Vector Mode.
image0.png
Recording with the Scratch Sounds Editor
The Scratch Sounds Editor allows users to record and edit sounds to use within a Scratch project. By using visual waveforms, The Sounds Editor makes precisely trimming the beginning and ending of audio clips easy. Users can also use the Effects menu to change the volume, fade in or out, and reverse the audio.
image0.png
Coding with Scratch Blocks and Scripts
Scratch blocks are puzzle-piece shapes used to create code in Scratch. Each type has its own shape and a similarly shaped slot for it to be inserted into. A series of connected blocks is called a script. The blocks are grouped into categories and color-coded to make them easier to find and identify.
image0.pngimage1.png
Scratch For Kids For Dummies
From Scratch For Kids For Dummies by Derek Breen
When you open Scratch, the user interface has several panes, buttons, and icons rather than text. Knowing how to use the main interface, including the Bitmap and Vector Paint Editors, the Sound Editor, and Scratch’s coding blocks and scripts, can help you design Scratch projects in no time.
Opening the Scratch User Interface
The Scratch user interface divides the development environment into several panes. On the left of the screen are the Stage and the Sprites areas. In the middle of the screen are the coding blocks. When selected, the Scripts area, Costumes Editor, and Sounds Editor appear on the right.
image0.png
Drawing in the Scratch Bitmap Paint Editor
The Scratch Bitmap Paint Editor allows users to create sprites, costumes, and backdrops with the bitmap tools and techniques in Bitmap Mode. The Bitmap Paint Editor is the default editor when creating a new sprite, costume, or backdrop. By clicking the Convert to Vector button, users can design sprites, costumes, and backdrops with the vector editing tools and techniques in Vector Mode.
image0.png
Drawing in the Scratch Vector Paint Editor
The Scratch Vector Paint Editor allows users to create sprites, costumes, and backdrops with the vector tools and techniques in Vector Mode. Vector graphics allow users to design various parts of an image separately, resize parts of an image, and increase the image size without the image becoming blurry or pixelated.
To design sprites, costumes, and backdrops using the vector editing tools and techniques, a Scratch user must click the Convert to Vector button to enter Vector Mode.
image0.png
Recording with the Scratch Sounds Editor
The Scratch Sounds Editor allows users to record and edit sounds to use within a Scratch project. By using visual waveforms, The Sounds Editor makes precisely trimming the beginning and ending of audio clips easy. Users can also use the Effects menu to change the volume, fade in or out, and reverse the audio.
image0.png
Coding with Scratch Blocks and Scripts
Scratch blocks are puzzle-piece shapes used to create code in Scratch. Each type has its own shape and a similarly shaped slot for it to be inserted into. A series of connected blocks is called a script. The blocks are grouped into categories and color-coded to make them easier to find and identify.
image0.pngimage1.png
- Joshuay2
-
100+ posts
Coding for kids studio (link to studio)
Here is it
Tips
The tips window.
This article is about the help window. For tips on using Scratch 1.4, see Scratch Secrets.
The tips window is a new form of getting help in Scratch. It is built directly into the editor, a bit like the help dialog of 1.x. It is always visible, even when zoomed in with the browser or when viewing a project in full screen.
It is a full guide through a user's first few experiences with Scratch. It contains a getting started guide, some “how to”s, and a reference on how to use blocks.
Contents
1 Getting Started
1.1 Step-by-Step Intro
1.2 Map of Project Editor
1.3 Paint Editor Tips
2 How To
2.1 Effects
2.2 Animation
2.3 Games
2.4 Stories
2.5 Music
2.6 CartoonNetwork
3 Step By Step Projects
4 Blocks
5 See Also
Getting Started
The Getting Started section contains a getting started guide, helping the user get acquainted with the Scratch User Interface and make their first project.
Step-by-Step Intro
It contains a 13-step introduction to creating a simple project, called the Step-by-Step Intro. The steps shown are:
Drag a Move () Steps block into the Scripts Area.
Add a Play Drum () for () Beats block.
Negate the move, and play another drumbeat.
Add a Repeat () block around the stack.
Add a Say () for () Secs block.
Use the Green Flag.
Create a new script, starting with the Change () Effect by () block.
Activate it via key press.
Add a backdrop to the Stage.
Create a new sprite.
Explore on your own.
Share the project.
There are lots more possibilities with Scratch!
Map of Project Editor
This section has 5 images, each focusing on a different part of the project editor (studio).
The first shows the whole studio, with large parts explained. The second focuses on the Stage area. The third is the cursor tools in the toolbar. The fourth shows the Paint Editor. The fifth focuses on the tools in the Paint Editor.
Paint Editor Tips
This section contains a 28-second long silent video explaining a bit about the new vector paint editor. Specifically, it shows how to group and ungroup shapes, and changes the Scratch Cat to look like it is sitting.
How To
This section contains short tutorials about simple scripts.
Effects
This section contains three tutorials, focused on the graphic effects.
The first one, titled “Play with effects”, is a basic introduction to effects. The second, “Create interactive effects”, uses Reporters to change effects. The third, “Interact with a microphone”, is not quite about effects, but fits slightly.
Animation
This section also contains three tutorials, which teach how to do simple animation.
The first one, “Switch from happy to sad”, explains about switching costumes. The second, “Make a sprite talk”, introduces speech bubbles, and also recording. The third, “Make a sprite walk”, again talks about switching costumes, and also teaches about rotation style.
Games
This section contains four tutorials about basic game-making.
The first, “Use arrow keys to move”, teaches how to create a simple user-controlled moving script. The second, “Bounce around”, introduces the If on Edge, Bounce block. The third, “Collide”, gives a script for creating a simple ball and paddle. The final tutorial, “Keep score”, introduces variables, and shows how to create a simple score.
Stories
This section contains three tutorials that tell how to make a story.
The first tutorial, “Talk to each other”, tells how a knock-knock joke can be made. The second one, “Glide off the stage”, teaches how to make a sprite look as if it is exiting the stage. The final tutorial, “Switch backdrops”, shows how the backdrop can be switched to another one.
Music
This section contains a total of five tutorials on how to use music in a project.
The first tutorial, “Play an Instrument”, introduces the instrument blocks in Scratch. The second one, “Play background music”, explains how one can put background music into a project. The third, “Import your music”, teaches how to import music into Scratch. The fourth tutorial, “Record sounds”, shows how one can record sounds using a microphone. The final one, “Edit Sounds”, introduces Scratch's sound editor.
CartoonNetwork
CartoonNetwork has sponsored a We Bear Bears Project tip that is in the Tips Menu.
Step By Step Projects
There are currently nine (9) projects seperate from the “Getting Started With Scratch” tutorial that are listed under Step By Step. These 9 tutorials have step-by-step instructions showing each script needed to create the project. The tutorials available currently under the Tips Window are Getting Started With Scratch, Animate Your Name, Make Music, Race to the Finish, Dance,Dance Dance, Create a Pong Game, Catch Game, Hide-and-Seek Game, Create a Virtual Pet, and Favorite Things.
Blocks
This last section contains help on how to use each block.
The tip for the 2.0 Pen Down.png block (actual size)
See Also
Scratch Video Tutorials
Tips
The tips window.
This article is about the help window. For tips on using Scratch 1.4, see Scratch Secrets.
The tips window is a new form of getting help in Scratch. It is built directly into the editor, a bit like the help dialog of 1.x. It is always visible, even when zoomed in with the browser or when viewing a project in full screen.
It is a full guide through a user's first few experiences with Scratch. It contains a getting started guide, some “how to”s, and a reference on how to use blocks.
Contents
1 Getting Started
1.1 Step-by-Step Intro
1.2 Map of Project Editor
1.3 Paint Editor Tips
2 How To
2.1 Effects
2.2 Animation
2.3 Games
2.4 Stories
2.5 Music
2.6 CartoonNetwork
3 Step By Step Projects
4 Blocks
5 See Also
Getting Started
The Getting Started section contains a getting started guide, helping the user get acquainted with the Scratch User Interface and make their first project.
Step-by-Step Intro
It contains a 13-step introduction to creating a simple project, called the Step-by-Step Intro. The steps shown are:
Drag a Move () Steps block into the Scripts Area.
Add a Play Drum () for () Beats block.
Negate the move, and play another drumbeat.
Add a Repeat () block around the stack.
Add a Say () for () Secs block.
Use the Green Flag.
Create a new script, starting with the Change () Effect by () block.
Activate it via key press.
Add a backdrop to the Stage.
Create a new sprite.
Explore on your own.
Share the project.
There are lots more possibilities with Scratch!
Map of Project Editor
This section has 5 images, each focusing on a different part of the project editor (studio).
The first shows the whole studio, with large parts explained. The second focuses on the Stage area. The third is the cursor tools in the toolbar. The fourth shows the Paint Editor. The fifth focuses on the tools in the Paint Editor.
Paint Editor Tips
This section contains a 28-second long silent video explaining a bit about the new vector paint editor. Specifically, it shows how to group and ungroup shapes, and changes the Scratch Cat to look like it is sitting.
How To
This section contains short tutorials about simple scripts.
Effects
This section contains three tutorials, focused on the graphic effects.
The first one, titled “Play with effects”, is a basic introduction to effects. The second, “Create interactive effects”, uses Reporters to change effects. The third, “Interact with a microphone”, is not quite about effects, but fits slightly.
Animation
This section also contains three tutorials, which teach how to do simple animation.
The first one, “Switch from happy to sad”, explains about switching costumes. The second, “Make a sprite talk”, introduces speech bubbles, and also recording. The third, “Make a sprite walk”, again talks about switching costumes, and also teaches about rotation style.
Games
This section contains four tutorials about basic game-making.
The first, “Use arrow keys to move”, teaches how to create a simple user-controlled moving script. The second, “Bounce around”, introduces the If on Edge, Bounce block. The third, “Collide”, gives a script for creating a simple ball and paddle. The final tutorial, “Keep score”, introduces variables, and shows how to create a simple score.
Stories
This section contains three tutorials that tell how to make a story.
The first tutorial, “Talk to each other”, tells how a knock-knock joke can be made. The second one, “Glide off the stage”, teaches how to make a sprite look as if it is exiting the stage. The final tutorial, “Switch backdrops”, shows how the backdrop can be switched to another one.
Music
This section contains a total of five tutorials on how to use music in a project.
The first tutorial, “Play an Instrument”, introduces the instrument blocks in Scratch. The second one, “Play background music”, explains how one can put background music into a project. The third, “Import your music”, teaches how to import music into Scratch. The fourth tutorial, “Record sounds”, shows how one can record sounds using a microphone. The final one, “Edit Sounds”, introduces Scratch's sound editor.
CartoonNetwork
CartoonNetwork has sponsored a We Bear Bears Project tip that is in the Tips Menu.
Step By Step Projects
There are currently nine (9) projects seperate from the “Getting Started With Scratch” tutorial that are listed under Step By Step. These 9 tutorials have step-by-step instructions showing each script needed to create the project. The tutorials available currently under the Tips Window are Getting Started With Scratch, Animate Your Name, Make Music, Race to the Finish, Dance,Dance Dance, Create a Pong Game, Catch Game, Hide-and-Seek Game, Create a Virtual Pet, and Favorite Things.
Blocks
This last section contains help on how to use each block.
The tip for the 2.0 Pen Down.png block (actual size)
See Also
Scratch Video Tutorials
- Joshuay2
-
100+ posts
Coding for kids studio (link to studio)
Last edited by Joshuay2 (June 2, 2016 11:23:31)
- Joshuay2
-
100+ posts
Coding for kids studio (link to studio)
This is today's learning point
Teaching your kids how to
write computer programs
by Marshall Brain
Let's say that you have children, and you would like to help them learn computer programming at a youngish age. As the father of four kids, I have tried to approach it from several different angles. What I would like to do here is collect some ideas for parents who are looking for different options.
Let's start with a something important: Every kid is different. Some kids are reading and writing fluently years ahead of other kids. For them, learning to program is probably easier. Some kids have the basic analytical skills a lot earlier than others (Here's a story about a 9-year-old writing full-blown iPhone apps). And so on. You try to expose your kids to programming and it may or may not “take” the first time, simply because of these differences. So you wait a few months and try again, or you might try a different approach. Understand that, the first time you try to introduce your kids to programming, your kids might not “get it” at all. And that's OK.
The second thing to realize is that real analytical skills often don't start appearing until age 11 or 12 or 13 in many kids, so expecting huge breakthroughs prior to that may be unrealistic.
That being said, there are lots of fun things you can try as early as five or six…
Games
Let's start with a few games. Here are three games that my kids have particularly enjoyed. They teach basic problem solving ideas in different ways:
Magic Pen (wait 15 seconds to see word “play”)
Fantastic Contraption
Auditorium
If you look around on the web you can find lots of “problem solving” games like these three.
Then there is this game, which actually does a very good job of teaching simple programming skills:
Light Bot (the “Play” button is on the bottom right, under the ad, after it loads)
LightBot
I love Light Bot. It will engage kids for a couple of hours, starting at age 7 or 8. Some of the puzzles in LightBot are too hard for kids. There are walkthroughs on YouTube that help.
Prefer games on a tablet or phone? Wired.com recently recommended a robot app here. See also this list.
LOGO
As soon as you try Light Bot it may remind you a little of LOGO - a language for younger kids. You can find out more about it on a page like this:
LOGO Programming
Or jump into Google. There is lots of stuff about LOGO on the Web.
Python for Kids
Logo is pretty limited. What if you want to teach your kids a “real” programming language? Python may be a good option to try because it is now fairly ubiquitous and it is easy to get started. These tutorials can get you going fast:
Python Turotials
Or type “Python for kids” into Google - there is lots of stuff out there.
Bigger efforts
Lego Mindstorms One thing that one of my kids enjoyed quite a bit is Lego Mindstorms. This is a Lego robotics kit. I've seen kids as young as six or seven doing meaningful programs with it. It uses a graphical language that is pretty simple to understand. If you don't mind blowing $200, then it is definitely worth a look. If you find that your kid really likes it, you might also look into FIRST Lego League (FLL teams build Mindstorms robots, work on presentations, etc.). One of my kids has been on an FLL team for several years and it has been great for him.
The good thing about Mindstorms is that it lets kids build some interesting stuff. The problem is that, after a month or two, you may find that you have come to the limits of what it can do.
A friend recommended this educational system for programming robot simulations. It is free:
RoboMind
Another big effort like this is Phrogram, formerly known as Kids Programming Language. KPL had the huge advantage that it was free and pretty amazing. It came with dozens of sample programs and could do both simple and complex things (for example, a really good pinball machine was one of the samples). But for some reason they killed KPL off and morphed it into Phrogram. Phrogram is $50, and I haven't tried it, but assuming that it is a similar package it might be worth it.
On these pages, a father talks about his efforts to teach programming to his daughter using a tool called Greenfoot:
Teaching my daughter to code - Part 1
Teaching my daughter to code - Part 2
Teaching my daughter to code - Part 3
Teaching my daughter to code - Part 4
Which is interesting. He's able to create some pretty sophisticated stuff with her using object oriented techniques.
In a similar object oriented vein is a free system from MIT called Scratch:
Scratch
My kids played with this for a couple of days.
If your kids would like to create games, here is one option to try:
GameMaker
GameMaker is a pretty sophisticated tool with a lot of options. There are tutorials to help you get started. I would not use this as a “first foray” perhaps, but it is something to consider for a second foray.
Also there is a free eBook on creating games with Python which states, “written to be understandable by kids as young as 10 to 12 years old, although it is great for anyone of any age who has never programmed before”:
Invent with Python
A friend has suggested that this is a nice intro.
One other thing to try is:
Codecademy.com
The tagline is: “Codecademy is the easiest way to learn how to code. It's interactive, fun, and you can do it with your friends.”
MIT App Inventor
This summer my twins (age 12) took a class using the MIT App Inventor. This is an impressive system for creating simple apps on Android devices. The twins were creating simple Android apps on the first day, and went on to create a bunch of apps themselves. They really enjoyed it!
MIT App Inventor
If you would like an introduction, you can find lots of introductory videos like these:
Making Web Sites
What if your kid wants to make web sites? This is a programming realm now. Here is one free, comprehensive educational experience I have seen:
The Odin Project
Again, this is not for little kids, but definitely possible for teens with the knack. It covers a lot of ground: HTML, CSS, Ruby on rails, Javascript, etc. This could be a career path if your kid really enjoys this stuff - a lot of opportunities are available in the job market.
What about a simple web site, without any programming at all? I would recommend Wordpress. You can get started with it here:
Wordpress: A simple and quick way to create a web site
You can do some amazing things without any code. But it really helps if the kid is “technical” and likes putting things together.
Real programming - Stanford's Java Class
My son (around age 13) started using Stanford's free online Java class and he has gotten a lot out of it. The class includes YouTube lectures and class assignments that reinforce the concepts discussed in class. The programming environment used in the class is called Eclipse. Eclipse is a full-featured development tool with a great debugger and it is free too. This is the class my son took:
Introduction to Computer Science | Programming Methodology
See also:
CS106A: Programming Methodologies
Our son needed a little encouragement from his parents (i.e. deadlines) to get through the first assignments, but by the time be got to Programming Assignment #4 (writing the code for the game called “Breakout”) he was completely engaged and extended that basic game in a number of directions without any prompting from us. I feel like this class taught him the essence of being a “real” programmer.
Stanford has many classes to explore - click for list. Their offerings represent a valuable resource for anyone wanting to learn programming.
Once comfortable with Java, something like this might be interesting to try - a combination of Greenfoot and Java:
Real programming - C and C++ Programming
The C and C++ programming languages are two of the most widely used programming languages in the world. There are free compilers that are readily available and lots of tutorial information can be found for free. Here are two resources that can help get you started:
The Basics of C Programming
C Programming and C++ Programming
Google is your friend and can help you find tons of other stuff.
Learning to write iPhone and iPad apps
Writing apps for the iPhone and iPad is not for newbies, but it is definitely something that middle school and high school students can master if they have a knack for programming. And the audience for these apps is gigantic through the App Store that Apple operates. Here are the steps that you need to take if you want to get started:
Step 1 - Step 1 is to buy a Mac computer from Apple so that you can compile apps. The cheapest entry point is a Mac Mini at $600. A MacBook Pro is a laptop that costs about twice as much.
Step 2 - Once you own a Mac, go to the Mac App Store and download XCode. It is free. This package contains the development environment, the compiler, SDK and libraries, and a simulator so you can test your apps on simulated iPhones and iPads.
Step 3 - Apple offers a series of introductory tutorials:
Start Developing iOS Apps Today
Creating Your First iOS App - Hello, World
Creating Your Second iOS App - Storyboards
Your Third iOS App: iCloud
Step 4 - Take the Stanford class on app development: CS 193P iPhone Application Development. Here is the first lecture:
Step 5 - Once you develop your first app then it is time for Your First App Store Submission - You have to pay $99 to join the Apple Developers Program to take this step.
Google can help you to answer nearly any question or problem you run into as you are learning.
What about Android Apps?
After talking about Apple Apps, it is only fair to talk about the Android platform too. Here is the “official site”:
Building Your First App
It is some pretty technical stuff. A teen with the knack should be able to approach it though. This page follows the same vein:
Want to Learn How to Program for Android? Start Here
Google is your friend, again. Use phrases like “Getting started with android apps” and “How to write your first android app”. Find something that feels comfortable for your teen. Also consider the Standford option: CS193a Android Programming or:
That will get stale as time passes, but it is a nice intro.
The BASIC Stamp (and see below for the Arduino)
BASIC Stamp I have actually had a good bit of luck engaging my 10-year-old in programming using a device called a BASIC Stamp. So I would like to spend a little time here talking about it. It is not cheap, but it has three things going for it:
It combines programming and simple electronics
The programming tends to be very simple
You can do real things with it, or at least things that seem realer (to my kids anyway) than Mindstorms.
We were first introduced to the BASIC Stamp when we found this kit at Radio Shack for $90:
What's a Microcontroller BASIC Stamp Kit
You can also order it here:
BASIC Stamp Activity Kit
The big caveat is that you need to have a computer with a serial port to use it. If you do not have such a computer (most computers made since 2005 don't have a serial port), then you need the USB version of the kit for $160:
BASIC Stamp Discovery Kit - Serial (With USB Adapter and Cable)
And if you are going to do that, I might suggest you consider this robot kit instead, because it is the same price:
Boe-Bot Robot Kit - USB Version
So, already, you can see that the BASIC Stamp is not simple or cheap. We've already had to worry about port types and which kit to get. And if that puts you off, so be it.
But we did buy the kit at Radio Shack, and we did have an older machine with a serial port, and we did get it set up and it did all work and… here is what was amazing about it. My kid could sit down with the book, by himself, and on his own he could wire up little circuits and write little pieces of code and get it all working. The programs and the electronics are easy enough that a 10-year-old can manage it. This is admittedly simple stuff, like wiring up a push button and having it make an LED blink, or making a servo motor turn or making sounds come out of a speaker. But the idea that my kid (who hates reading for the most part) could get this stuff working was impressive. And then he could think of extensions on his own. Trivial extensions, yes, like making two LEDs blink, but extensions.
The nice thing about this approach is that you can buy other pieces at Parallax.com and they are pretty easy to hook up. One of the first things we bought was a PIR module ($10), which is the kind of thing you use in a burglar alarm or an automatic light to sense a warm human body. We also bought a little text LCD panel ($25). And he built a device that could count people as they walked by. If you have a family of six people, how many times do they use the stairs in the house? How many times do they open the refrigerator? With this device you can find out. (The refrigerator was funny - it was opened something like 50 times a day!)
Next thing was a ultrasonic sensor ($30). With that and the LCD display you can build a little ultrasonic tape measure. They have a lot of little sensors like this that you can try. We've used the accelerometer, the thermometer, the RFID tag reader, etc.
His latest adventure is with the GPS module ($90) and the USB memory stick reader/writer ($35), which he used in a science fair project. With the USB memory stick thing, you can plug in a USB memory stick (AKA “thumb drive”) and read and write files. So you can create a text file and start dumping in data. Then you can hook up the GPS, let it gather data and save the data into the memory stick. With that you can create bread crumb trails everywhere you go. You can then plug the memory stick into your laptop's USB port, load the data into a spreadsheet and do a scatter graph…
GPS Scatter Plot
…or you can drop the data into Google maps as described here:
Mapping GPS Coordinates using Google Maps
As it turns out, the Parallax GPS is not the greatest. When we first hooked it up, it would never get a lock on the satellites. After an hour of probing on Google, we found out that you have to mount the GPS about 10 inches away from the Stamp (because of electrical noise generated by the Stamp). It would have been wonderful if this fact had been revealed in the Parallax documentation. But even after you do that, this device can have trouble getting a lock sometimes (ours doesn't work at all in rainy weather, for example). It does work in the car if you put it on the dashboard, but not from the interior.
It also led us looking for material on the web about the BASIC Stamp. There is a lot of it. For example, there are people building autopilots from BASIC Stamps:
Basic Stamp autopilot tutorial, part 3 (this is the page that taught us not to put the GPS on the Stamp board)
BASIC Stamp UAV code now in beta
You can find all kinds of stuff like that. Then you discover that there are many other platforms more advanced than the Stamp, like for example the Arduino, the Teensy, the Microchip PICkit (see also this book and this book), the Gumstix, etc.
The Arduino
Since this article was first written, the Arduino platform has really taken off and replaced the BASIC Stamp in the hearts and minds of hobbyists. There are so many different flavors of Arduino, so many different accessories, so many different kits, that it is now a very rich environment, and a lot of fun.
Here are some examples of different kits available:
Arduino Kits
Kits
Arduino Kits
Arduino stuff
Sensor kit
Programming Arduino: Getting Started With Sketches
The easiest way to get started with the Arduino is to buy one (for example, buy an Arduino Uno) and start programming. This article is a great introduction to getting the development environment downloaded to your machine and starting to program:
Arduino How To
The first time I tried it, it did not work. There were two settings (the type of Arduino and the com port) that I had to set, and the article provided guidance. We have purchased a number of accessories, including this touch screen, and have had a lot of fun with Arduinos.
The Raspberry Pi
Then there is the Raspberry Pi - a very small but complete computer that fits in your hand. You hook it up to a keyboard, mouse and monitor and turn it on. It boots up a version of Linux and you can start programming. It comes with Scratch (see above) and Python and can easily handle other stuff. It can also send signals to hardware like Stamps and Arduinos do. I own a Pi, its camera, a relay board, etc. My kids and I have played with it. But for some reason it never really caught on with them.
Conclusion
The point is, if you want to introduce your kids to programming, there are MANY different ways to do it. If you want to go down this road, Google is your friend. It is amazing how much stuff is out there. Just start looking, try different things with your kids, and see what works for you. It can be a lot of fun.
PS - Note to self: Open GPS Tracker, the BigAVR2
You may also enjoy this in-depth interview, “Marshall Brain on Singularity 1on1: We're approaching humanity’s make or break period”:
See Also
About the Author
Robotic Nation
Robots in 2015
Robotic Freedom
Robotic Nation FAQ
Robotic Nation Evidence
Basic Income
Discard your body
Manna - the book
Science on the Brain
Careful Parents
Star Wars
How God Works
How to make a million dollars
Reviews
Salon
Wired
LiveScience
LATimes Editorial
Geek of the week
Thanks for visiting today,
© Copyright 2003-2014 by Marshall Brain. All rights reserved.
Teaching your kids how to
write computer programs
by Marshall Brain
Let's say that you have children, and you would like to help them learn computer programming at a youngish age. As the father of four kids, I have tried to approach it from several different angles. What I would like to do here is collect some ideas for parents who are looking for different options.
Let's start with a something important: Every kid is different. Some kids are reading and writing fluently years ahead of other kids. For them, learning to program is probably easier. Some kids have the basic analytical skills a lot earlier than others (Here's a story about a 9-year-old writing full-blown iPhone apps). And so on. You try to expose your kids to programming and it may or may not “take” the first time, simply because of these differences. So you wait a few months and try again, or you might try a different approach. Understand that, the first time you try to introduce your kids to programming, your kids might not “get it” at all. And that's OK.
The second thing to realize is that real analytical skills often don't start appearing until age 11 or 12 or 13 in many kids, so expecting huge breakthroughs prior to that may be unrealistic.
That being said, there are lots of fun things you can try as early as five or six…
Games
Let's start with a few games. Here are three games that my kids have particularly enjoyed. They teach basic problem solving ideas in different ways:
Magic Pen (wait 15 seconds to see word “play”)
Fantastic Contraption
Auditorium
If you look around on the web you can find lots of “problem solving” games like these three.
Then there is this game, which actually does a very good job of teaching simple programming skills:
Light Bot (the “Play” button is on the bottom right, under the ad, after it loads)
LightBot
I love Light Bot. It will engage kids for a couple of hours, starting at age 7 or 8. Some of the puzzles in LightBot are too hard for kids. There are walkthroughs on YouTube that help.
Prefer games on a tablet or phone? Wired.com recently recommended a robot app here. See also this list.
LOGO
As soon as you try Light Bot it may remind you a little of LOGO - a language for younger kids. You can find out more about it on a page like this:
LOGO Programming
Or jump into Google. There is lots of stuff about LOGO on the Web.
Python for Kids
Logo is pretty limited. What if you want to teach your kids a “real” programming language? Python may be a good option to try because it is now fairly ubiquitous and it is easy to get started. These tutorials can get you going fast:
Python Turotials
Or type “Python for kids” into Google - there is lots of stuff out there.
Bigger efforts
Lego Mindstorms One thing that one of my kids enjoyed quite a bit is Lego Mindstorms. This is a Lego robotics kit. I've seen kids as young as six or seven doing meaningful programs with it. It uses a graphical language that is pretty simple to understand. If you don't mind blowing $200, then it is definitely worth a look. If you find that your kid really likes it, you might also look into FIRST Lego League (FLL teams build Mindstorms robots, work on presentations, etc.). One of my kids has been on an FLL team for several years and it has been great for him.
The good thing about Mindstorms is that it lets kids build some interesting stuff. The problem is that, after a month or two, you may find that you have come to the limits of what it can do.
A friend recommended this educational system for programming robot simulations. It is free:
RoboMind
Another big effort like this is Phrogram, formerly known as Kids Programming Language. KPL had the huge advantage that it was free and pretty amazing. It came with dozens of sample programs and could do both simple and complex things (for example, a really good pinball machine was one of the samples). But for some reason they killed KPL off and morphed it into Phrogram. Phrogram is $50, and I haven't tried it, but assuming that it is a similar package it might be worth it.
On these pages, a father talks about his efforts to teach programming to his daughter using a tool called Greenfoot:
Teaching my daughter to code - Part 1
Teaching my daughter to code - Part 2
Teaching my daughter to code - Part 3
Teaching my daughter to code - Part 4
Which is interesting. He's able to create some pretty sophisticated stuff with her using object oriented techniques.
In a similar object oriented vein is a free system from MIT called Scratch:
Scratch
My kids played with this for a couple of days.
If your kids would like to create games, here is one option to try:
GameMaker
GameMaker is a pretty sophisticated tool with a lot of options. There are tutorials to help you get started. I would not use this as a “first foray” perhaps, but it is something to consider for a second foray.
Also there is a free eBook on creating games with Python which states, “written to be understandable by kids as young as 10 to 12 years old, although it is great for anyone of any age who has never programmed before”:
Invent with Python
A friend has suggested that this is a nice intro.
One other thing to try is:
Codecademy.com
The tagline is: “Codecademy is the easiest way to learn how to code. It's interactive, fun, and you can do it with your friends.”
MIT App Inventor
This summer my twins (age 12) took a class using the MIT App Inventor. This is an impressive system for creating simple apps on Android devices. The twins were creating simple Android apps on the first day, and went on to create a bunch of apps themselves. They really enjoyed it!
MIT App Inventor
If you would like an introduction, you can find lots of introductory videos like these:
Making Web Sites
What if your kid wants to make web sites? This is a programming realm now. Here is one free, comprehensive educational experience I have seen:
The Odin Project
Again, this is not for little kids, but definitely possible for teens with the knack. It covers a lot of ground: HTML, CSS, Ruby on rails, Javascript, etc. This could be a career path if your kid really enjoys this stuff - a lot of opportunities are available in the job market.
What about a simple web site, without any programming at all? I would recommend Wordpress. You can get started with it here:
Wordpress: A simple and quick way to create a web site
You can do some amazing things without any code. But it really helps if the kid is “technical” and likes putting things together.
Real programming - Stanford's Java Class
My son (around age 13) started using Stanford's free online Java class and he has gotten a lot out of it. The class includes YouTube lectures and class assignments that reinforce the concepts discussed in class. The programming environment used in the class is called Eclipse. Eclipse is a full-featured development tool with a great debugger and it is free too. This is the class my son took:
Introduction to Computer Science | Programming Methodology
See also:
CS106A: Programming Methodologies
Our son needed a little encouragement from his parents (i.e. deadlines) to get through the first assignments, but by the time be got to Programming Assignment #4 (writing the code for the game called “Breakout”) he was completely engaged and extended that basic game in a number of directions without any prompting from us. I feel like this class taught him the essence of being a “real” programmer.
Stanford has many classes to explore - click for list. Their offerings represent a valuable resource for anyone wanting to learn programming.
Once comfortable with Java, something like this might be interesting to try - a combination of Greenfoot and Java:
Real programming - C and C++ Programming
The C and C++ programming languages are two of the most widely used programming languages in the world. There are free compilers that are readily available and lots of tutorial information can be found for free. Here are two resources that can help get you started:
The Basics of C Programming
C Programming and C++ Programming
Google is your friend and can help you find tons of other stuff.
Learning to write iPhone and iPad apps
Writing apps for the iPhone and iPad is not for newbies, but it is definitely something that middle school and high school students can master if they have a knack for programming. And the audience for these apps is gigantic through the App Store that Apple operates. Here are the steps that you need to take if you want to get started:
Step 1 - Step 1 is to buy a Mac computer from Apple so that you can compile apps. The cheapest entry point is a Mac Mini at $600. A MacBook Pro is a laptop that costs about twice as much.
Step 2 - Once you own a Mac, go to the Mac App Store and download XCode. It is free. This package contains the development environment, the compiler, SDK and libraries, and a simulator so you can test your apps on simulated iPhones and iPads.
Step 3 - Apple offers a series of introductory tutorials:
Start Developing iOS Apps Today
Creating Your First iOS App - Hello, World
Creating Your Second iOS App - Storyboards
Your Third iOS App: iCloud
Step 4 - Take the Stanford class on app development: CS 193P iPhone Application Development. Here is the first lecture:
Step 5 - Once you develop your first app then it is time for Your First App Store Submission - You have to pay $99 to join the Apple Developers Program to take this step.
Google can help you to answer nearly any question or problem you run into as you are learning.
What about Android Apps?
After talking about Apple Apps, it is only fair to talk about the Android platform too. Here is the “official site”:
Building Your First App
It is some pretty technical stuff. A teen with the knack should be able to approach it though. This page follows the same vein:
Want to Learn How to Program for Android? Start Here
Google is your friend, again. Use phrases like “Getting started with android apps” and “How to write your first android app”. Find something that feels comfortable for your teen. Also consider the Standford option: CS193a Android Programming or:
That will get stale as time passes, but it is a nice intro.
The BASIC Stamp (and see below for the Arduino)
BASIC Stamp I have actually had a good bit of luck engaging my 10-year-old in programming using a device called a BASIC Stamp. So I would like to spend a little time here talking about it. It is not cheap, but it has three things going for it:
It combines programming and simple electronics
The programming tends to be very simple
You can do real things with it, or at least things that seem realer (to my kids anyway) than Mindstorms.
We were first introduced to the BASIC Stamp when we found this kit at Radio Shack for $90:
What's a Microcontroller BASIC Stamp Kit
You can also order it here:
BASIC Stamp Activity Kit
The big caveat is that you need to have a computer with a serial port to use it. If you do not have such a computer (most computers made since 2005 don't have a serial port), then you need the USB version of the kit for $160:
BASIC Stamp Discovery Kit - Serial (With USB Adapter and Cable)
And if you are going to do that, I might suggest you consider this robot kit instead, because it is the same price:
Boe-Bot Robot Kit - USB Version
So, already, you can see that the BASIC Stamp is not simple or cheap. We've already had to worry about port types and which kit to get. And if that puts you off, so be it.
But we did buy the kit at Radio Shack, and we did have an older machine with a serial port, and we did get it set up and it did all work and… here is what was amazing about it. My kid could sit down with the book, by himself, and on his own he could wire up little circuits and write little pieces of code and get it all working. The programs and the electronics are easy enough that a 10-year-old can manage it. This is admittedly simple stuff, like wiring up a push button and having it make an LED blink, or making a servo motor turn or making sounds come out of a speaker. But the idea that my kid (who hates reading for the most part) could get this stuff working was impressive. And then he could think of extensions on his own. Trivial extensions, yes, like making two LEDs blink, but extensions.
The nice thing about this approach is that you can buy other pieces at Parallax.com and they are pretty easy to hook up. One of the first things we bought was a PIR module ($10), which is the kind of thing you use in a burglar alarm or an automatic light to sense a warm human body. We also bought a little text LCD panel ($25). And he built a device that could count people as they walked by. If you have a family of six people, how many times do they use the stairs in the house? How many times do they open the refrigerator? With this device you can find out. (The refrigerator was funny - it was opened something like 50 times a day!)
Next thing was a ultrasonic sensor ($30). With that and the LCD display you can build a little ultrasonic tape measure. They have a lot of little sensors like this that you can try. We've used the accelerometer, the thermometer, the RFID tag reader, etc.
His latest adventure is with the GPS module ($90) and the USB memory stick reader/writer ($35), which he used in a science fair project. With the USB memory stick thing, you can plug in a USB memory stick (AKA “thumb drive”) and read and write files. So you can create a text file and start dumping in data. Then you can hook up the GPS, let it gather data and save the data into the memory stick. With that you can create bread crumb trails everywhere you go. You can then plug the memory stick into your laptop's USB port, load the data into a spreadsheet and do a scatter graph…
GPS Scatter Plot
…or you can drop the data into Google maps as described here:
Mapping GPS Coordinates using Google Maps
As it turns out, the Parallax GPS is not the greatest. When we first hooked it up, it would never get a lock on the satellites. After an hour of probing on Google, we found out that you have to mount the GPS about 10 inches away from the Stamp (because of electrical noise generated by the Stamp). It would have been wonderful if this fact had been revealed in the Parallax documentation. But even after you do that, this device can have trouble getting a lock sometimes (ours doesn't work at all in rainy weather, for example). It does work in the car if you put it on the dashboard, but not from the interior.
It also led us looking for material on the web about the BASIC Stamp. There is a lot of it. For example, there are people building autopilots from BASIC Stamps:
Basic Stamp autopilot tutorial, part 3 (this is the page that taught us not to put the GPS on the Stamp board)
BASIC Stamp UAV code now in beta
You can find all kinds of stuff like that. Then you discover that there are many other platforms more advanced than the Stamp, like for example the Arduino, the Teensy, the Microchip PICkit (see also this book and this book), the Gumstix, etc.
The Arduino
Since this article was first written, the Arduino platform has really taken off and replaced the BASIC Stamp in the hearts and minds of hobbyists. There are so many different flavors of Arduino, so many different accessories, so many different kits, that it is now a very rich environment, and a lot of fun.
Here are some examples of different kits available:
Arduino Kits
Kits
Arduino Kits
Arduino stuff
Sensor kit
Programming Arduino: Getting Started With Sketches
The easiest way to get started with the Arduino is to buy one (for example, buy an Arduino Uno) and start programming. This article is a great introduction to getting the development environment downloaded to your machine and starting to program:
Arduino How To
The first time I tried it, it did not work. There were two settings (the type of Arduino and the com port) that I had to set, and the article provided guidance. We have purchased a number of accessories, including this touch screen, and have had a lot of fun with Arduinos.
The Raspberry Pi
Then there is the Raspberry Pi - a very small but complete computer that fits in your hand. You hook it up to a keyboard, mouse and monitor and turn it on. It boots up a version of Linux and you can start programming. It comes with Scratch (see above) and Python and can easily handle other stuff. It can also send signals to hardware like Stamps and Arduinos do. I own a Pi, its camera, a relay board, etc. My kids and I have played with it. But for some reason it never really caught on with them.
Conclusion
The point is, if you want to introduce your kids to programming, there are MANY different ways to do it. If you want to go down this road, Google is your friend. It is amazing how much stuff is out there. Just start looking, try different things with your kids, and see what works for you. It can be a lot of fun.
PS - Note to self: Open GPS Tracker, the BigAVR2
You may also enjoy this in-depth interview, “Marshall Brain on Singularity 1on1: We're approaching humanity’s make or break period”:
See Also
About the Author
Robotic Nation
Robots in 2015
Robotic Freedom
Robotic Nation FAQ
Robotic Nation Evidence
Basic Income
Discard your body
Manna - the book
Science on the Brain
Careful Parents
Star Wars
How God Works
How to make a million dollars
Reviews
Salon
Wired
LiveScience
LATimes Editorial
Geek of the week
Thanks for visiting today,
© Copyright 2003-2014 by Marshall Brain. All rights reserved.
- Joshuay2
-
100+ posts
Coding for kids studio (link to studio)
l]…file
//storage/emulated/0/Download/watch.html/url]

- the2000
-
1000+ posts
Coding for kids studio (link to studio)
(Should this be moved to “Show and Tell”?)
- Joshuay2
-
100+ posts
Coding for kids studio (link to studio)
code for studio
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=“X-UA-Compatible” content=“IE=Edge” /><script type=“text/javascript”>window.NREUM||(NREUM={}),__nr_require=function(e,t,n){function r(n){if(!t){var o=t={exports:{}};e.call(o.exports,function(t){var o=e;return r(o||t)},o,o.exports)}return t.exports}if(“function”==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n);return r}({1:[function(e,t,n){function r(e,t){return function(){o(e,.concat(a(arguments)),null,t)}}var o=e(“handle”),i=e(2),a=e(3);“undefined”==typeof window.newrelic&&(newrelic=NREUM);var u=,c=,f=“api-”;i(u,function(e,t){newrelic=r(f+t,“api”)}),i(c,function(e,t){newrelic=r(f+t)}),t.exports=newrelic,newrelic.noticeError=function(e){“string”==typeof e&&(e=new Error(e)),o(“err”,)}},{}],2:,r=“”,i=0;for(r in e)o.call(e,r)&&(n=t(r,e),i+=1);return n}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],3:=e;return i}t.exports=r},{}],ee:.apply(i,r);var s=f[g];return s&&s.push(),i}function p(e,t){w=l(e).concat(t)}function l(e){return w||}function d(e){return s=s||o(n)}function v(e,t){c(e,function(e,n){t=t||“feature”,g=t,t in f||(f=)})}var w={},g={},m={on:p,emit:n,get:d,listeners:l,context:t,buffer:v};return m}function i(){return new r}var a=“nr@context”,u=e(“gos”),c=e(2),f={},s={},p=t.exports=o();p.backlog=f},{}],gos:[function(e,t,n){function r(e,t,n){if(o.call(e,t))return e;var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return e=r,r}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],handle:[function(e,t,n){function r(e,t,n,r){o.buffer(,r),o.emit(e,t,n)}var o=e(“ee”).get(“handle”);t.exports=r,r.ee=o},{}],id:,loader:;if(e&&e.licenseKey&&e.applicationID&&t){c(l,function(t,n){e||(e=n)});var n=“https”===p.split(“:”)||e.sslForHttp;v.proto=n?"https://“:”http://“,u(”mark",,null,“api”);var r=s.createElement(“script”);r.src=v.proto+e.agent,t.parentNode.insertBefore(r,t)}}}function o(){“complete”===s.readyState&&i()}function i(){u(“mark”,,null,“api”)}function a(){return(new Date).getTime()}var u=e(“handle”),c=e(2),f=window,s=f.document;NREUM.o={ST:setTimeout,CT:clearTimeout,XHR:f.XMLHttpRequest,REQ:f.Request,EV:f.Event,PR:f.Promise,MO:f.MutationObserver},e(1);var p=“”+location,l={beacon:“bam.nr-data.net”,errorBeacon:“bam.nr-data.net”,agent:“js-agent.newrelic.com/nr-943.min.js”},d=window.XMLHttpRequest&&XMLHttpRequest.prototype&&XMLHttpRequest.prototype.addEventListener&&!/CriOS/.test(navigator.userAgent),v=t.exports={offset:a(),origin:p,features:{},xhrWrappable:d};s.addEventListener?(s.addEventListener(“DOMContentLoaded”,i,!1),f.addEventListener(“load”,r,!1))
s.attachEvent(“onreadystatechange”,o),f.attachEvent(“onload”,r)),u(“mark”,,null,“api”);var w=0},{}]},{},);</script><script type=“text/javascript”>window.NREUM||(NREUM={});NREUM.info={“beacon”:“bam.nr-data.net”,“queueTime”:0,“licenseKey”:“1c6ed9743c”,“agent”:“”,“transactionName”:“M1IHN0NYXEZWAEFRCgoYIxZfWkZcWA0aXwQIWwARWFxBG0EKUE8WXnAED11cQExzBkFZDAgZAgZF”,“applicationID”:“2845391”,“errorBeacon”:“bam.nr-data.net”,“applicationTime”:86}</script>
<meta name=“google-site-verification” content=“m_3TAXDreGTFyoYnEmU9mcKB4Xtw5mw6yRkuJtXRKxM” />
<title>Scratch Studio - «Coding For Kids »</title>
<meta name=“description” content="«Coding For Kids », a Studio on Scratch“ />
<link rel=”stylesheet“ href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/vendor/redmond/jquery.ui.all.css“ />
<link href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/css/main.css“ rel=”stylesheet“ type=”text/css“ />
<link rel=”stylesheet“ href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//css/handheld.css“ media=”handheld, only screen and (max-device-width:480px)“/>
<!– templates/galleries/base.html block css –>
<link href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//css/pages/gallery.css“ rel=”stylesheet“>
<link href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//css/modules/carousel.css“ rel=”stylesheet“>
<link href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//vendor/redmond/jquery.ui.all.css“ rel=”stylesheet“/>
<link href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//css/modules/modal.css“ rel=”stylesheet“/>
<!– end block css –>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/jquery.min.js“></script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/js/lib/underscore-min.js"></script>
<script>
window.console||(window.console={log:$.noop,error:$.noop,debug:$.noop}); // ensure console fails gracefully when missing
// define _gaq here to log errors with GA. ga.js script gets loaded furthe down
var sessionCookieName = ‘scratchsessionsid’;
var _gaq = window._gaq || ;
_gaq.push();
_gaq.push();
_gaq.push();
_gaq.push();
</script>
<script type=“text/javascript”>
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie != ‘') {
var cookies = document.cookie.split(’;');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + ‘=’)) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
function setCookie(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = “; expires=” + date.toGMTString();
} else {
expires = “”;
}
document.cookie = escape(name) + “=” + escape(value) + expires + “; path=/”;
}
</script>
<script>
var Scratch = Scratch || {};
Scratch.INIT_DATA = Scratch.INIT_DATA || {};
Scratch.INIT_DATA.ADMIN = false;
Scratch.INIT_DATA.LOGGED_IN_USER = {
model: {
username: ‘Joshuay2’,
username_truncated: ‘Joshuay2’,
has_outstanding_email_confirmation: ‘false’,
id: 10550028,
profile_url: ‘/users/Joshuay2/’,
thumbnail_url: ‘//cdn.scratch.mit.edu/static/site/users/avatars/1055/0028.png’
},
options: {
authenticated: true
,
related: {
},
owner: true,
permissions: [
‘edit-gallery’
],
follower: true,
}
};
Scratch.INIT_DATA.comment_posting = true;
Scratch.INIT_DATA.BROWSERS_SUPPORTED = {
chrome: 35,
firefox: 31,
msie: 8,
safari: 7
};
Scratch.INIT_DATA.TEMPLATE_CUES = {
unsupported_browser: true,
welcome: true,
confirmed_email: false
};
Scratch.INIT_DATA.GALLERY = {
model: {
id: 2098766,
title: '«Coding For Kids »',
owner: ‘Joshuay2’,
comments_allowed: true
},
related_counts: {
},
}
Scratch.INIT_DATA.IS_IP_BANNED = false;
Scratch.INIT_DATA.GLOBAL_URLS = {
‘media_url’: ‘//cdn.scratch.mit.edu/static/site/’,
‘static_url’: ‘//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/’,
‘static_path’: ‘/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/’
}
Scratch.INIT_DATA.IS_SOCIAL = true;
Scratch.ALERT_MSGS = {
‘error’: ‘Oops! Something went wrong’,
‘inappropriate-generic’: ‘Hmm…the bad word detector thinks there is a problem with your text. Please change it and remember to <a target=“_blank” href=“/community_guidelines/”>be respectful</a>.’,
‘image-invalid’: ‘Upload a valid image. The file you uploaded was either not an image or a corrupted image.’,
‘thumbnail-missing’: ‘Missing file’,
‘thumbnail-upload-bad’: ‘Bad upload’,
‘thumbnail-too-large’: ‘Maximum file size is 1 MB.’,
‘inappropriate-comment’: ‘Hmm…the bad word detector thinks there is a problem with your comment. Please change it and remember to <a target=“_blank” href=“/community_guidelines/”>be respectful</a>.’,
‘comment-has-chat-site’: ‘Uh oh! This comment contains a link to a website with unmoderated chat. For safety reasons, please do not link to these sites!’,
‘empty-comment’: “You can't post an empty comment!”,
‘delete_comment’: ‘<div title=“Delete Comment?”><p>Are you sure you want to delete this comment? If the comment is mean or disrespectful, please click report instead, to let the Scratch Team know about it.</p></div>’,
‘report_comment’: ‘<div title=“Report Comment?”></p>Are you sure you want to report this comment?</p></div>’,
‘report_comment_educator’: ‘<div title=“Delete Comment?”></p>Are you sure you want to delete this comment?</p></div>’,
‘followed’: ‘You are now following ’,
‘unfollowed’: ‘You are no longer following ’,
‘comment-spam’: “Hmm, seems like you've posted the same comment a bunch of times. Please don't spam.”,
‘comment-flood’: “Woah, seems like you're commenting really quickly. Please wait longer between posts.”,
‘comment-muted’: “Hmm, the filterbot is pretty sure your recent comments weren't ok for Scratch, so your account has been muted for the rest of the day. :/”,
‘comment-unconstructive’: “Hmm, the filterbot thinks your comment may be mean or disrespectful. Remember, most projects on Scratch are made by people who are just learning how to program. Read the <a href='/community_guidelines'>community guidelines</a>, and be nice.”,
‘comment-disallowed’: “Hmm, it looks like comments have been turned off for this page. :/”,
‘project-complaint-length’: “That's too short. Please describe in detail what's inappropriate or disrespectful about the project.”,
‘project-complaint-buglength’: “That's too short! Please describe in detail what you expected the project to do, and how exactly it is broken. Thanks!”,
‘editable-text-too-long’: “That's too long! Please find a way to shorten your text.”
,'project-added': ‘ Project successfully added’,
‘projects-not-found’: ‘No project(s) found or project(s) already exist in the studio’,
‘project-invalid’: ‘ Project url invalid’,
‘project-removed’: ‘ Project successfully removed’,
‘project-removed-denied’: ‘You can only remove projects you added’,
‘permission-denied’: ‘Sorry, you don\’t have permission to do that',
‘curator-invited’: ‘ Curator successfully invited’,
‘curator-removed’: ‘ Curator successfully removed’,
‘curator-exists’: ‘ Curator already invited to this studio’,
‘description-changed’: ‘Description successfully saved’,
‘title-changed’: ‘Title successfully saved’,
‘gallery-open’: ‘All Scratchers can now add projects to this studio!’,
‘gallery-closed’: ‘Only the owner and curators can add projects to this studio’,
‘gallery-notifications-on’: ‘You will now receive notifications about activity in this studio’,
‘gallery-notifications-off’: ‘You will no longer recieve notifications about activity in this studio’
}
</script>
<meta property=“og:type” content=“website” />
<meta property=“og:description” content=“Make games, stories and interactive art with Scratch. (scratch.mit.edu)”/>
<meta property=“og:title” content=“Scratch - Imagine, Program, Share”/>
<meta property=“og:url” content="https://scratch.mit.edu/studios/2098766/curators/“ />
</head>
<body class=”" >
<!–>
<div class=“unsupported-browser banner” data-cue=“unsupported_browser”>
<div class=“container”>
<span>Scratch supports Internet Explorer 9+. We suggest you upgrade to <a href=“/info/faq/#requirements”>a supported browser</a>, <a href=“/scratch2download/”>download the offline editor</a>, or <a href="http://wiki.scratch.mit.edu/wiki/List_of_Bug_Workarounds">read about common workarounds</a>.</span>
</div>
</div>
<!–>
<div id=“pagewrapper”>
<div id=“topnav” >
<div class=“innerwrap”>
<div class=“container”>
<a href=“/” class=“logo”><span class=“scratch”></span></a>
<ul class=“site-nav”>
<li><a id=“project-create” href=“/projects/editor/?tip_bar=home”>Create</a></li><li><a href=“/explore/?date=this_month”>Explore</a></li><li><a href=“/discuss/”>Discuss</a></li><li><a href=“/about/”>About</a></li><li class=“last”><a href=“/help/”>Help</a></li>
</ul>
<form class=“search” action=“/search/google_results/” method=“get” class=“search”>
<input type=“submit” class=“glass” value=“”>
<input id=“search-input” type=“text” placeholder=“Search” name=“q” >
<input type=“hidden” name=“date” value=“anytime”>
<input type=“hidden” name=“sort_by” value=“datetime_shared”>
</form>
<ul class=“account-nav”></ul>
<script type=“text/template” id=“template-account-nav-logged-out”>
<ul class=“account-nav” >
<li class=“join-scratch” data-control=“registration”><span class=“”><span>Join Scratch</span></span></li><li id=“login-dropdown” class=“sign-in dropdown”><span data-toggle=“dropdown” class=“dropdown-toggle”><span>Sign in</span></span><div class=“popover bottom dropdown-menu”><div class=“arrow”></div><div class=“popover-content” ><form method=“post” id=“login” action=“#”><label for=“username”>Username</label><input type=“text” id=“login_dropdown_username” name=“username” maxlength=“30” class=“wide username” /><label for=“password” class=“password”>Password</label><input type=“password” name=“password” class=“wide password” /><div class=“ajax-loader” style=“display:none; float: left;”></div><button type=“submit”>Sign in</button><span class=“forgot-password”><a href=“/accounts/password_reset/”>Forgot password?</a></span><div class=“error”></div></form></div></div></li><li data-control=“modal-login” class=“sign-in mobile”><span>Sign in</span></li>
</ul>
</script>
<script type=“text/template” id=“template-account-nav-logged-in”>
<ul class=“account-nav logged-in”><li class=“messages”><a title=“messages - updates and notices” href=“/messages/” class=“messages-icon”><span class=“notificationsCount none”>0</span></a></li><li class=“my-stuff”><a title=“my stuff - manage projects and studios” href=“/mystuff/” class=“mystuff-icon”></a></li><li class=“logged-in-user dropdown”><span class=“user-name dropdown-toggle” data-toggle=“dropdown”><img class=“user-icon” src=“<%= LOGGED_IN_USER.model.thumbnail_url %>” width=“24” height=“24”><%= LOGGED_IN_USER.model.username_truncated %><span class=“caret”></span></span><div class=“dropdown-menu blue” ><ul class=“user-nav”><li><a href=“<%= LOGGED_IN_USER.model.profile_url %>”>Profile</a></li><li><a href=“/mystuff/”>My Stuff</a></li><% if (LOGGED_IN_USER.model.is_educator){ %><li><a href=“/educators/classes/”>My Classes</a></li><% } %><% if (LOGGED_IN_USER.model.is_student){ %><li><a href=“/classes/<%= LOGGED_IN_USER.model.classroom_id %>/”>My Class</a></li><% } %><li><a href=“/accounts/settings/”>Account settings</a></li><li id=“logout” class=“logout divider”><form method=“post” action=“/accounts/logout/”><input type='hidden' name='csrfmiddlewaretoken' value='arwqtg3cic4QY86czAU2armTCRLdz1Mr' /><input type=“submit” value=“Sign out”></form></li></ul></div></li></ul>
</script>
<script type=“text/javascript” src=“//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/js/account-nav.js”></script>
</div>
<iframe class=“iframeshim” frameborder=“0” scrolling=“no”><html><head></head><body></body></html></iframe>
</div><!– innerwrap –>
</div>
<div class=“confirm-email banner” data-cue=“confirmed_email” style=“display:none;”>
<div class=“container”>
<span><a id=“confirm-email-popup” href=“#”>Confirm your email</a> to enable sharing. <a href=“/help/faq/#accounts”>Having trouble?</a></span>
<div class=“close”>x</div>
</div>
</div>
<div class=“container” id=“content”>
<div id=“alert-view”></div>
<!– templates/galleries/base.html block main-content –>
<div class=“cols” id=“gallery”>
<div class=“col-4 left”>
<div id=“title-alert”></div>
<div class=“box v-tabs gallery-info”>
<!– templates/galleries/base.html block gallery-description –>
<form class=“editable-image” id=“gallery-cover-image”>
<div class=“img-container”>
<img src=“//cdn2.scratch.mit.edu/get_image/gallery/2098766_200x130.png?v=1464865503.07” width=“200” height=“130” />
<div class=“loading-img s48”></div>
<div data-control=“edit”>Change
<input class=“hidden” type=“file” accept=“image/*” name=“file” />
</div>
</div>
</form>
<span class=“date”>Updated 2 Jun 2016</span>
<div id=“description” class=“description editable read”>
<span data-content=“prompt”>Describe what this studio is about.</span>
<form>
<textarea name=“description”>Hey,
This studio is basically has different coding tips from the book : Coding for Kids for Dummies.
About once a week or maybe more frequently, Joshuay2 or epikat123 will post a different coding tip. Sometime we will post it on our forum (link:https://scratch.mit.edu/discuss/topic/202168/?page=1#post-2021691 ) and then post the poster's link on this studio. If you want you can add any coding related projects, i.e. Coding lessons you have made yourself
Enjoy and follow the studio and the managers: they need moral support!
If you want to manage or curate, just ask and we will consider it. We will most likely say yes, so don't worry about being rejected.
Keep calm and carry on coding!!</textarea>
<div class=“loading-img s48”></div>
</form>
</div>
<!– end block gallery-description –>
</div>
</div>
<div class=“col-12”>
<div class=“box”>
<div class=“box-head”>
<div id=“title” class=“editable read inline”>
<form>
<h2><input value="«Coding For Kids »“ name=”title“></h2>
</form>
</div>
<div id=”follow-button“ class=”buttons“>
<div class=”follow-button button following grey“ data-control=”unfollow“>
<span class=”follow text“><span class=”icon-sm follower white“></span>Follow</span>
<span class=”unfollow text“><span class=”icon-sm follower black“></span>Unfollow</span>
</div>
<span class=”count“>( <span data-count=”followers“>4</span>
Followers )</span>
</div>
</div>
<div class=”box-content v-tabs-content tabs“>
<ul id=”tabs“ data-control=”tabs“ class=”tabs-index box-h-tabs h-tabs“>
<!– templates/galleries/gallery.html block gallery-tabs –>
<li data-tab=”projects“ class=”“ data-gallery-id=”2098766“><a href=”/studios/2098766/projects/“ data-gallery-id=”2098766“>Projects ( <span data-count=”projects“>2</span> )</a></li><li data-tab=”comments“ class=”“><a href=”/studios/2098766/comments/“>Comments ( <span data-count=”comments“>8</span> )</a></li><li data-tab=”curators“ class=”active“ data-gallery-id=”2098766“><a href=”/studios/2098766/curators/“>Curators</a></li><li data-tab=”activity“ class=”“ data-gallery-id=”2098766“><a href=”/studios/2098766/activity/“>Activity</a></li>
<!– end block gallery-tabs –>
</ul>
<div class=”tab-content“ id=”tabs-content“>
<!– templates/galleries/includes/curator_action_bar.html –>
<div class=”action-bar white scroll“>
<div class=”inner“ id=”curator-action-bar“>
<div data-control=”open-explore“ id=”show-add-curator“ class=”button grey small“>
<span>Invite curators</span>
</div>
<div id=”add-curator-dialog“ class=”add-curator-dialog hide“>
<form class=”form-inline“>
<div class=”control-group append-to-input“>
<input id=”curator_ids“ data-input=”usernames“ type=”text“ class=”input-xlarge“ placeholder=”username“>
<div id=”add-curator“ data-control=”add-curator-by-username“ data-gallery-id=”2098766“ class=”button grey small“><span>Add</span></div>
</div>
</form>
<p class=”form-instructions“>
Invite curators by username or select from the explore bar below!
</p>
</div>
</div>
</div>
<h2>Managers</h2>
<ul id=”owner-content“ data-content=”collection“ class=”media-grid curators“>
<div class=”next-page“ data-url=”/site-api/users/owners-in/2098766/1/“></div>
</ul><a id=”owner-loader“ href=”#“ class=”small grey button“><span>Load more</span></a>
<h2>Curators</h2>
<ul id=”curator-content“ data-content=”collection“ class=”media-grid curators promoteable“>
<div class=”next-page“ data-url=”/site-api/users/curators-in/2098766/1/“></div>
</ul>
</div>
</div>
</div>
</div>
</div>
<!– end block main-content –>
</div>
<div id=”explore-bar“ class=”curators“>
<div data-content=”view“>
<div id=”explore-header“>
<div id=”explore-header-closed“ data-control=”open“>
<div id=”open“ data-control=”open“> </div>
<div class=”header-text“>Add Curators</div>
</div>
<div id=”explore-header-open“ class=”hidden“>
<div class=”header-text“>
<span id=”galleries-text“ class=”header-text“>Add Curators</span>
</div>
<div id=”explore-buttons“>
<div data-control=”filter“>
<span class=”explore_button button small grey“><span data-filter=”following“>Scratchers I'm Following</span></span></a>
<span class=”explore_button button small grey“><span data-filter=”followers“>Scratchers Following Me</span></span></a>
</div>
</div>
<div id=”close“ data-control=”close“>  </div>
</div>
</div>
<div id=”related-projects“>
<div id=”inner“>
<div class=”slider-carousel-container following“ >
<div class=”slider-carousel horizontal“>
<div class=”viewport“>
<ul class=”scroll-content items loading-content“ data-content=”collection“>
<li class=”empty“></li>
<div class=”next-page“ data-url=”/studios/addfrom/following/Joshuay2/1/“></div>
</ul>
</div>
</div>
</div>
<div class=”slider-carousel-container followers“ >
<div class=”slider-carousel horizontal“>
<div class=”viewport“>
<ul class=”scroll-content items loading-content“ data-content=”collection“>
<li class=”empty“></li>
<div class=”next-page“ data-url=”/studios/addfrom/followers/Joshuay2/1/“></div>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id=”footer“>
<div class=”container“>
<style>
#footer ul.footer-col li {
list-style-type:none;
display: inline-block;
width: 184px;
text-align: left;
vertical-align: top;
}
#footer ul.footer-col li h4 {
font-weight: bold;
font-size: 14px;
color: #666;
}
</style>
<ul class=”clearfix footer-col“>
<li>
<h4>About</h4>
<ul>
<li><a href =”/about/“>About Scratch</a></li>
<li><a href = ”/parents/“>For Parents</a></li>
<li><a href = ”/educators/“>For Educators</a></li>
<li><a href = ”/info/credits/“>Credits</a></li>
<li><a href =”/jobs/“>Jobs</a></li>
<li><a href =”http://wiki.scratch.mit.edu/wiki/Scratch_Press“>Press</a></li>
</ul>
</li>
<li>
<h4>Community</h4>
<ul>
<li><a href = ”/community_guidelines/“>Community Guidelines</a></li>
<li><a href = ”/discuss/“>Discussion Forums</a></li>
<li><a href = ”http://wiki.scratch.mit.edu/“>Scratch Wiki</a></li>
<li><a href = ”/statistics/“>Statistics</a></li>
</ul>
</li>
<li>
<h4>Support</h4>
<ul>
<li><a href = ”/help/“>Help Page</a></li>
<li><a href = ”/info/faq/“>FAQ</a></li>
<li><a href = ”/scratch2download/“>Offline Editor</a></li>
<li><a href = ”/contact-us/“>Contact Us</a></li>
<li><a href = ”https://secure.donationpay.org/scratchfoundation/“>Donate</a></li>
</ul>
</li>
<li>
<h4>Legal</h4>
<ul>
<li><a href=”/terms_of_use/“>Terms of Use</a></li>
<li><a href=”/privacy_policy/“>Privacy Policy</a></li>
<li><a href = ”/DMCA/“>DMCA</a></li>
</ul>
</li>
<li>
<h4>Scratch Family</h4>
<ul>
<li><a href=”http://scratched.gse.harvard.edu/“>ScratchEd</a></li>
<li><a href=”http://www.scratchjr.org/“>ScratchJr</a></li>
<li><a href=”http://day.scratch.mit.edu/“>Scratch Day</a></li>
<li><a href=”/conference/“>Scratch Conference</a></li>
<li><a href=”http://www.scratchfoundation.org/“>Scratch Foundation</a></li>
</ul>
</li>
</ul>
<ul class=”clearfix“ id=”footer-menu“ >
<li>
<form id=”lang-dropdown“ method=”post“ action=”/i18n/setlang/“>
<select id=”language-selection“ name=”language“>
<option value=”en“ selected >English</option>
<option value=”an“ >Aragonés</option>
<option value=”ast“ >Asturianu</option>
<option value=”id“ >Bahasa Indonesia</option>
<option value=”ms“ >Bahasa Melayu</option>
<option value=”ca“ >Català</option>
<option value=”cs“ >Česky</option>
<option value=”cy“ >Cymraeg</option>
<option value=”da“ >Dansk</option>
<option value=”fa-af“ >Dari</option>
<option value=”de“ >Deutsch</option>
<option value=”yum“ >Edible Scratch</option>
<option value=”et“ >Eesti</option>
<option value=”eo“ >Esperanto</option>
<option value=”es“ >Español</option>
<option value=”eu“ >Euskara</option>
<option value=”fr“ >Français</option>
<option value=”ga“ >Gaeilge</option>
<option value=”gd“ >Gàidhlig</option>
<option value=”gl“ >Galego</option>
<option value=”hr“ >Hrvatski</option>
<option value=”is“ >Íslenska</option>
<option value=”it“ >Italiano</option>
<option value=”rw“ >Kinyarwanda</option>
<option value=”ht“ >Kreyòl</option>
<option value=”ku“ >Kurdî</option>
<option value=”la“ >Latina</option>
<option value=”lv“ >Latviešu</option>
<option value=”lt“ >Lietuvių</option>
<option value=”hu“ >Magyar</option>
<option value=”mt“ >Malti</option>
<option value=”cat“ >Meow</option>
<option value=”nl“ >Nederlands</option>
<option value=”nb“ >Norsk Bokmål</option>
<option value=”nn“ >Norsk Nynorsk</option>
<option value=”uz“ >Oʻzbekcha</option>
<option value=”pl“ >Polski</option>
<option value=”pt“ >Português</option>
<option value=”pt-br“ >Português Brasileiro</option>
<option value=”ro“ >Română</option>
<option value=”sc“ >Sardu</option>
<option value=”sk“ >Slovenčina</option>
<option value=”sl“ >Slovenščina</option>
<option value=”fi“ >suomi</option>
<option value=”sv“ >Svenska</option>
<option value=”nai“ >Tepehuan</option>
<option value=”vi“ >Tiếng Việt</option>
<option value=”tr“ >Türkçe</option>
<option value=”ab“ >Аҧсшәа</option>
<option value=”ar“ >العربية</option>
<option value=”bg“ >Български</option>
<option value=”el“ >Ελληνικά</option>
<option value=”fa“ >فارسی</option>
<option value=”he“ >עִבְרִית</option>
<option value=”hi“ >हिन्दी</option>
<option value=”hy“ >Հայերեն</option>
<option value=”ja“ >日本語</option>
<option value=”ja-hr“ >にほんご</option>
<option value=”km“ >សំលៀកបំពាក</option>
<option value=”kn“ >ಭಾಷೆ-ಹೆಸರು</option>
<option value=”ko“ >한국어</option>
<option value=”mk“ >Македонски</option>
<option value=”ml“ >മലയാളം</option>
<option value=”mn“ >Монгол хэл</option>
<option value=”mr“ >मराठी</option>
<option value=”my“ >မြန်မာဘာသာ</option>
<option value=”ru“ >Русский</option>
<option value=”sr“ >Српски</option>
<option value=”th“ >ไทย</option>
<option value=”uk“ >Українська</option>
<option value=”zh-cn“ >简体中文</option>
<option value=”zh-tw“ >正體中文</option>
</select>
</form>
</li>
</ul>
<p >Scratch is a project of the Lifelong Kindergarten Group at the MIT Media Lab</p>
</div>
</div>
<!– templates/modal-login.html block –>
<div class=”modal hide fade in“ id=”login-dialog“ style=”width: 450px“>
<form method=”post“ action=”/login/“>
<fieldset>
<div class=”modal-header“>
<a href=”#“ data-dismiss=”modal“ class=”close“>x
</a>
<h3>Sign in</h3>
</div>
<div class=”modal-body“>
<div class=”control-group“>
<label class=”control-label“ for=”username“>Username
</label>
<div class=”controls“>
<input class=”username“ type=”text“ name=”username“ maxlength=”30“ />
</div>
</div>
<div class=”control-group“>
<label class=”control-label“ for=”password“>Password
</label>
<div class=”controls“>
<input type=”password“ name=”password“ class=”password“ />
</div>
</div>
</div>
<div class=”modal-footer“>
<span class=”error“>
</span>
<div class=”buttons-right“>
<button class=”button primary“ type=”submit“>Sign in</button>
<a data-control=”registration“>Or Join Scratch</a>
</div>
</div>
</fieldset>
</form>
<iframe class=”iframeshim“ frameborder=”0“ scrolling=”no“><html><head></head><body></body></html></iframe>
</div>
<!– end templates/modal-login.html –>
<div id=”registration“ class=”registration modal hide fade“ data-backdrop=”static“>
<iframe class=”iframeshim“ frameborder=”0“ scrolling=”no“><html><head></head><body></body></html></iframe>
</div>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/jquery-ui.min.js“></script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/js/main.js“ charset=”utf-8“></script>
<script type=”text/javascript">
// load gaq script
(function() {
var ga = document.createElement('script'); ga.type = ‘text/javascript’; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName('script'); s.parentNode.insertBefore(ga, s);
})();
</script>
<script type=“text/javascript” src=“//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/js/base.js” charset=“utf-8”></script>
<script type=“text/javascript” src=“//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/js/lazyload.js” charset=“utf-8”></script>
<script src=“//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/lib/jquery.ui.widget.js”></script>
<script src=“//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/lib/blueimp-jquery-file-upload/jquery.iframe-transport.js”></script>
<script src=“//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/lib/blueimp-jquery-file-upload/jquery.fileupload.js”></script>
<!– templates/galleries/gallery.html block js –>
<script>
sessionStorage.setItem(“gallery_name”, "«Coding For Kids »“)
sessionStorage.setItem(”gallery_id“, 2098766)
sessionStorage.setItem(”explore_by“, ”galleries“)
</script>
<script type=”text/template“ id=”template-collection-count“>
<%= count %>
</script>
<script type=”text/template“ id=”template-comment-actions“>
<% if (can_delete) { %>
<span data-control=”delete“ class=”actions report“>Delete</span>
<% } %>
<% if (current_user != comment_user) { %>
<span data-control=”report“ class=”actions report“>
<% if (student_of_educator) { %>
Delete
<% } else { %>
Report
<% } %></span>
<% } %>
</script>
<script type=”text/template“ id=”template-modal-login“>
<div class=”modal hide fade in“ id=”login-dialog“ style=”width: 450px“>
<form method=”post“ action=”/login/“>
<fieldset>
<div class=”modal-header“>
<a href=”#“ data-dismiss=”modal“ class=”close“>x
</a>
<h3>Login</h3>
</div>
<div class=”modal-body“>
<div class=”control-group“>
<label class=”control-label“ for=”username“>Username
</label>
<div class=”controls“>
<input id=”username“ type=”text“ name=”username“ maxlength=”30“ />
</div>
</div>
<div class=”control-group“>
<label class=”control-label“ for=”password“>Password
</label>
<div class=”controls“>
<input type=”password“ name=”password“ id=”password“ />
</div>
</div>
</div>
<div class=”modal-footer“>
<span class=”error“>
</span>
<span class=”button primary“ id=”sign-in“ data-control=”site-login“>
<span>{% trans ”Sign in“ $}
</span>
</span>
</div>
</fieldset>
</form>
</div>
</script>
<script type=”text/template“ id=”template-comment-reply“>
<form>
<div class=”control-group tooltip right“>
<textarea name=”content“></textarea>
<span class=”hovertext error“ data-control=”error“ data-content=”comment-error“><span class=”arrow“></span><span class=”text“></span></span>
<span class=”small-text“>You have <span id=”chars-left-<%= comment_id %>“>500</span> characters left.</span>
</div>
<div class=”control-group“>
<div class=”button small“ data-parent-thread=”<%= thread_id %>“ data-commentee-id=”<%= commentee_id %>“ data-control=”post“><a href=”#null“>Post</a></div>
<div class=”button small grey“ data-control=”cancel“><a href=”#null“>Cancel</a></div>
<span class=”notification“></span>
</div>
</form>
</script>
<script type=”text/template“ id=”template-deletion-canceled“>
<div class=”deletion-canceled“>
<div class=”form“>
<p>
Your account was scheduled for deletion but you logged in. Your account has been reactivated. If you didn’t request for your account to be deleted, you should <a href=”/accounts/password_change/“>change your password</a> to make sure your account is secure.
</p>
</div>
</div>
</script>
<script type=”text/template“ id=”template-unsupported-browser“>
<div class=”unsupported-browser banner“ data-cue=”unsupported_browser“>
<div class=”container“>
<span>Scratch works best on newer browsers. We suggest you upgrade to <a href=”/info/faq/#requirements“>a supported browser</a>, <a href=”/scratch2download/“>download the offline editor</a>, <a href=”http://wiki.scratch.mit.edu/wiki/List_of_Bug_Workarounds“>or read about common workarounds</a>.</span>
<div class=”close“>x</div>
</div>
</div>
</script>
<script type=”text/template“ id=”template-unsupported-msie“>
<div class=”unsupported-browser banner“ data-cue=”unsupported_browser“>
<div class=”container“>
<span>Scratch will stop supporting Internet Explorer 8 on April 30, 2015. We suggest you upgrade to <a href=”/info/faq/#requirements“>a supported browser</a>, <a href=”/scratch2download/“>download the offline editor</a>, or <a href=”http://wiki.scratch.mit.edu/wiki/List_of_Bug_Workarounds“>read about common workarounds</a>.</span>
<div class=”close“>x</div>
</div>
</div>
</script>
<script type=”text/template“ id=”template-gallery-report“>
<div class=”gallery-report“>
<div class=”form“>
<div>
Please explain why you feel this studio is disrespectful or inappropriate, or otherwise breaks the <a href=”/community_guidelines“ target=”_blank“>Scratch Community Guidelines.</a>
</div>
<br>
<p class=”errors“>Please select the inappropriate part of the page.</p>
<form class=”form-horizontal“ id='report_form'>
<input type=”radio“ id='radio_title' name=”report_value“ value=”title“>Title</input>
<br>
<input type=”radio“ id='radio_description' name=”report_value“ value=”description“>Description</input>
<br>
<input type=”radio“ id='radio_thumbnail' name=”report_value“ value=”thumbnail“>Thumbnail</input>
</form>
<div>
Is it something else? You can always <a href=”/contact-us/?studio=2098766“>contact us</a> to explain.
</div>
</div>
</div>
</script>
<script type=”text/template“ id=”template-gallery-thanks“>
<div class=”gallery-report“>
<div class=”form“>
<div>Thank you. We have received your report. The Scratch Team will review the studio based on the Scratch community guidelines.
</div>
</div>
</div>
</script>
<!– load javascript translation catalog, and javascript fuzzy date library –>
<script type=”text/javascript“ src=”/jsi18n/“></script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/js/lib/jquery.timeago.settings.js“></script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/apps/registration/main.js“></script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/apps/global.js“></script>
<script>
Scratch.NotificationPollTime = 300000;
</script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/apps/gallery/views.js“></script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/apps/gallery/main.js“></script>
<script>
$(document).on(”accountnavready", function(e){
$('#topnav .messages').notificationsAlert();
});
</script>
</body>
<!– Site Version: 2.2.9_2016_06_01_12_11 –>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=“X-UA-Compatible” content=“IE=Edge” /><script type=“text/javascript”>window.NREUM||(NREUM={}),__nr_require=function(e,t,n){function r(n){if(!t){var o=t={exports:{}};e.call(o.exports,function(t){var o=e;return r(o||t)},o,o.exports)}return t.exports}if(“function”==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n);return r}({1:[function(e,t,n){function r(e,t){return function(){o(e,.concat(a(arguments)),null,t)}}var o=e(“handle”),i=e(2),a=e(3);“undefined”==typeof window.newrelic&&(newrelic=NREUM);var u=,c=,f=“api-”;i(u,function(e,t){newrelic=r(f+t,“api”)}),i(c,function(e,t){newrelic=r(f+t)}),t.exports=newrelic,newrelic.noticeError=function(e){“string”==typeof e&&(e=new Error(e)),o(“err”,)}},{}],2:,r=“”,i=0;for(r in e)o.call(e,r)&&(n=t(r,e),i+=1);return n}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],3:=e;return i}t.exports=r},{}],ee:.apply(i,r);var s=f[g];return s&&s.push(),i}function p(e,t){w=l(e).concat(t)}function l(e){return w||}function d(e){return s=s||o(n)}function v(e,t){c(e,function(e,n){t=t||“feature”,g=t,t in f||(f=)})}var w={},g={},m={on:p,emit:n,get:d,listeners:l,context:t,buffer:v};return m}function i(){return new r}var a=“nr@context”,u=e(“gos”),c=e(2),f={},s={},p=t.exports=o();p.backlog=f},{}],gos:[function(e,t,n){function r(e,t,n){if(o.call(e,t))return e;var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return e=r,r}var o=Object.prototype.hasOwnProperty;t.exports=r},{}],handle:[function(e,t,n){function r(e,t,n,r){o.buffer(,r),o.emit(e,t,n)}var o=e(“ee”).get(“handle”);t.exports=r,r.ee=o},{}],id:,loader:;if(e&&e.licenseKey&&e.applicationID&&t){c(l,function(t,n){e||(e=n)});var n=“https”===p.split(“:”)||e.sslForHttp;v.proto=n?"https://“:”http://“,u(”mark",,null,“api”);var r=s.createElement(“script”);r.src=v.proto+e.agent,t.parentNode.insertBefore(r,t)}}}function o(){“complete”===s.readyState&&i()}function i(){u(“mark”,,null,“api”)}function a(){return(new Date).getTime()}var u=e(“handle”),c=e(2),f=window,s=f.document;NREUM.o={ST:setTimeout,CT:clearTimeout,XHR:f.XMLHttpRequest,REQ:f.Request,EV:f.Event,PR:f.Promise,MO:f.MutationObserver},e(1);var p=“”+location,l={beacon:“bam.nr-data.net”,errorBeacon:“bam.nr-data.net”,agent:“js-agent.newrelic.com/nr-943.min.js”},d=window.XMLHttpRequest&&XMLHttpRequest.prototype&&XMLHttpRequest.prototype.addEventListener&&!/CriOS/.test(navigator.userAgent),v=t.exports={offset:a(),origin:p,features:{},xhrWrappable:d};s.addEventListener?(s.addEventListener(“DOMContentLoaded”,i,!1),f.addEventListener(“load”,r,!1))

<meta name=“google-site-verification” content=“m_3TAXDreGTFyoYnEmU9mcKB4Xtw5mw6yRkuJtXRKxM” />
<title>Scratch Studio - «Coding For Kids »</title>
<meta name=“description” content="«Coding For Kids », a Studio on Scratch“ />
<link rel=”stylesheet“ href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/vendor/redmond/jquery.ui.all.css“ />
<link href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/css/main.css“ rel=”stylesheet“ type=”text/css“ />
<link rel=”stylesheet“ href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//css/handheld.css“ media=”handheld, only screen and (max-device-width:480px)“/>
<!– templates/galleries/base.html block css –>
<link href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//css/pages/gallery.css“ rel=”stylesheet“>
<link href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//css/modules/carousel.css“ rel=”stylesheet“>
<link href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//vendor/redmond/jquery.ui.all.css“ rel=”stylesheet“/>
<link href=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//css/modules/modal.css“ rel=”stylesheet“/>
<!– end block css –>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/jquery.min.js“></script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/js/lib/underscore-min.js"></script>
<script>
window.console||(window.console={log:$.noop,error:$.noop,debug:$.noop}); // ensure console fails gracefully when missing
// define _gaq here to log errors with GA. ga.js script gets loaded furthe down
var sessionCookieName = ‘scratchsessionsid’;
var _gaq = window._gaq || ;
_gaq.push();
_gaq.push();
_gaq.push();
_gaq.push();
</script>
<script type=“text/javascript”>
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie != ‘') {
var cookies = document.cookie.split(’;');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + ‘=’)) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
function setCookie(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = “; expires=” + date.toGMTString();
} else {
expires = “”;
}
document.cookie = escape(name) + “=” + escape(value) + expires + “; path=/”;
}
</script>
<script>
var Scratch = Scratch || {};
Scratch.INIT_DATA = Scratch.INIT_DATA || {};
Scratch.INIT_DATA.ADMIN = false;
Scratch.INIT_DATA.LOGGED_IN_USER = {
model: {
username: ‘Joshuay2’,
username_truncated: ‘Joshuay2’,
has_outstanding_email_confirmation: ‘false’,
id: 10550028,
profile_url: ‘/users/Joshuay2/’,
thumbnail_url: ‘//cdn.scratch.mit.edu/static/site/users/avatars/1055/0028.png’
},
options: {
authenticated: true
,
related: {
},
owner: true,
permissions: [
‘edit-gallery’
],
follower: true,
}
};
Scratch.INIT_DATA.comment_posting = true;
Scratch.INIT_DATA.BROWSERS_SUPPORTED = {
chrome: 35,
firefox: 31,
msie: 8,
safari: 7
};
Scratch.INIT_DATA.TEMPLATE_CUES = {
unsupported_browser: true,
welcome: true,
confirmed_email: false
};
Scratch.INIT_DATA.GALLERY = {
model: {
id: 2098766,
title: '«Coding For Kids »',
owner: ‘Joshuay2’,
comments_allowed: true
},
related_counts: {
},
}
Scratch.INIT_DATA.IS_IP_BANNED = false;
Scratch.INIT_DATA.GLOBAL_URLS = {
‘media_url’: ‘//cdn.scratch.mit.edu/static/site/’,
‘static_url’: ‘//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/’,
‘static_path’: ‘/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/’
}
Scratch.INIT_DATA.IS_SOCIAL = true;
Scratch.ALERT_MSGS = {
‘error’: ‘Oops! Something went wrong’,
‘inappropriate-generic’: ‘Hmm…the bad word detector thinks there is a problem with your text. Please change it and remember to <a target=“_blank” href=“/community_guidelines/”>be respectful</a>.’,
‘image-invalid’: ‘Upload a valid image. The file you uploaded was either not an image or a corrupted image.’,
‘thumbnail-missing’: ‘Missing file’,
‘thumbnail-upload-bad’: ‘Bad upload’,
‘thumbnail-too-large’: ‘Maximum file size is 1 MB.’,
‘inappropriate-comment’: ‘Hmm…the bad word detector thinks there is a problem with your comment. Please change it and remember to <a target=“_blank” href=“/community_guidelines/”>be respectful</a>.’,
‘comment-has-chat-site’: ‘Uh oh! This comment contains a link to a website with unmoderated chat. For safety reasons, please do not link to these sites!’,
‘empty-comment’: “You can't post an empty comment!”,
‘delete_comment’: ‘<div title=“Delete Comment?”><p>Are you sure you want to delete this comment? If the comment is mean or disrespectful, please click report instead, to let the Scratch Team know about it.</p></div>’,
‘report_comment’: ‘<div title=“Report Comment?”></p>Are you sure you want to report this comment?</p></div>’,
‘report_comment_educator’: ‘<div title=“Delete Comment?”></p>Are you sure you want to delete this comment?</p></div>’,
‘followed’: ‘You are now following ’,
‘unfollowed’: ‘You are no longer following ’,
‘comment-spam’: “Hmm, seems like you've posted the same comment a bunch of times. Please don't spam.”,
‘comment-flood’: “Woah, seems like you're commenting really quickly. Please wait longer between posts.”,
‘comment-muted’: “Hmm, the filterbot is pretty sure your recent comments weren't ok for Scratch, so your account has been muted for the rest of the day. :/”,
‘comment-unconstructive’: “Hmm, the filterbot thinks your comment may be mean or disrespectful. Remember, most projects on Scratch are made by people who are just learning how to program. Read the <a href='/community_guidelines'>community guidelines</a>, and be nice.”,
‘comment-disallowed’: “Hmm, it looks like comments have been turned off for this page. :/”,
‘project-complaint-length’: “That's too short. Please describe in detail what's inappropriate or disrespectful about the project.”,
‘project-complaint-buglength’: “That's too short! Please describe in detail what you expected the project to do, and how exactly it is broken. Thanks!”,
‘editable-text-too-long’: “That's too long! Please find a way to shorten your text.”
,'project-added': ‘ Project successfully added’,
‘projects-not-found’: ‘No project(s) found or project(s) already exist in the studio’,
‘project-invalid’: ‘ Project url invalid’,
‘project-removed’: ‘ Project successfully removed’,
‘project-removed-denied’: ‘You can only remove projects you added’,
‘permission-denied’: ‘Sorry, you don\’t have permission to do that',
‘curator-invited’: ‘ Curator successfully invited’,
‘curator-removed’: ‘ Curator successfully removed’,
‘curator-exists’: ‘ Curator already invited to this studio’,
‘description-changed’: ‘Description successfully saved’,
‘title-changed’: ‘Title successfully saved’,
‘gallery-open’: ‘All Scratchers can now add projects to this studio!’,
‘gallery-closed’: ‘Only the owner and curators can add projects to this studio’,
‘gallery-notifications-on’: ‘You will now receive notifications about activity in this studio’,
‘gallery-notifications-off’: ‘You will no longer recieve notifications about activity in this studio’
}
</script>
<meta property=“og:type” content=“website” />
<meta property=“og:description” content=“Make games, stories and interactive art with Scratch. (scratch.mit.edu)”/>
<meta property=“og:title” content=“Scratch - Imagine, Program, Share”/>
<meta property=“og:url” content="https://scratch.mit.edu/studios/2098766/curators/“ />
</head>
<body class=”" >
<!–>
<div class=“unsupported-browser banner” data-cue=“unsupported_browser”>
<div class=“container”>
<span>Scratch supports Internet Explorer 9+. We suggest you upgrade to <a href=“/info/faq/#requirements”>a supported browser</a>, <a href=“/scratch2download/”>download the offline editor</a>, or <a href="http://wiki.scratch.mit.edu/wiki/List_of_Bug_Workarounds">read about common workarounds</a>.</span>
</div>
</div>
<!–>
<div id=“pagewrapper”>
<div id=“topnav” >
<div class=“innerwrap”>
<div class=“container”>
<a href=“/” class=“logo”><span class=“scratch”></span></a>
<ul class=“site-nav”>
<li><a id=“project-create” href=“/projects/editor/?tip_bar=home”>Create</a></li><li><a href=“/explore/?date=this_month”>Explore</a></li><li><a href=“/discuss/”>Discuss</a></li><li><a href=“/about/”>About</a></li><li class=“last”><a href=“/help/”>Help</a></li>
</ul>
<form class=“search” action=“/search/google_results/” method=“get” class=“search”>
<input type=“submit” class=“glass” value=“”>
<input id=“search-input” type=“text” placeholder=“Search” name=“q” >
<input type=“hidden” name=“date” value=“anytime”>
<input type=“hidden” name=“sort_by” value=“datetime_shared”>
</form>
<ul class=“account-nav”></ul>
<script type=“text/template” id=“template-account-nav-logged-out”>
<ul class=“account-nav” >
<li class=“join-scratch” data-control=“registration”><span class=“”><span>Join Scratch</span></span></li><li id=“login-dropdown” class=“sign-in dropdown”><span data-toggle=“dropdown” class=“dropdown-toggle”><span>Sign in</span></span><div class=“popover bottom dropdown-menu”><div class=“arrow”></div><div class=“popover-content” ><form method=“post” id=“login” action=“#”><label for=“username”>Username</label><input type=“text” id=“login_dropdown_username” name=“username” maxlength=“30” class=“wide username” /><label for=“password” class=“password”>Password</label><input type=“password” name=“password” class=“wide password” /><div class=“ajax-loader” style=“display:none; float: left;”></div><button type=“submit”>Sign in</button><span class=“forgot-password”><a href=“/accounts/password_reset/”>Forgot password?</a></span><div class=“error”></div></form></div></div></li><li data-control=“modal-login” class=“sign-in mobile”><span>Sign in</span></li>
</ul>
</script>
<script type=“text/template” id=“template-account-nav-logged-in”>
<ul class=“account-nav logged-in”><li class=“messages”><a title=“messages - updates and notices” href=“/messages/” class=“messages-icon”><span class=“notificationsCount none”>0</span></a></li><li class=“my-stuff”><a title=“my stuff - manage projects and studios” href=“/mystuff/” class=“mystuff-icon”></a></li><li class=“logged-in-user dropdown”><span class=“user-name dropdown-toggle” data-toggle=“dropdown”><img class=“user-icon” src=“<%= LOGGED_IN_USER.model.thumbnail_url %>” width=“24” height=“24”><%= LOGGED_IN_USER.model.username_truncated %><span class=“caret”></span></span><div class=“dropdown-menu blue” ><ul class=“user-nav”><li><a href=“<%= LOGGED_IN_USER.model.profile_url %>”>Profile</a></li><li><a href=“/mystuff/”>My Stuff</a></li><% if (LOGGED_IN_USER.model.is_educator){ %><li><a href=“/educators/classes/”>My Classes</a></li><% } %><% if (LOGGED_IN_USER.model.is_student){ %><li><a href=“/classes/<%= LOGGED_IN_USER.model.classroom_id %>/”>My Class</a></li><% } %><li><a href=“/accounts/settings/”>Account settings</a></li><li id=“logout” class=“logout divider”><form method=“post” action=“/accounts/logout/”><input type='hidden' name='csrfmiddlewaretoken' value='arwqtg3cic4QY86czAU2armTCRLdz1Mr' /><input type=“submit” value=“Sign out”></form></li></ul></div></li></ul>
</script>
<script type=“text/javascript” src=“//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/js/account-nav.js”></script>
</div>
<iframe class=“iframeshim” frameborder=“0” scrolling=“no”><html><head></head><body></body></html></iframe>
</div><!– innerwrap –>
</div>
<div class=“confirm-email banner” data-cue=“confirmed_email” style=“display:none;”>
<div class=“container”>
<span><a id=“confirm-email-popup” href=“#”>Confirm your email</a> to enable sharing. <a href=“/help/faq/#accounts”>Having trouble?</a></span>
<div class=“close”>x</div>
</div>
</div>
<div class=“container” id=“content”>
<div id=“alert-view”></div>
<!– templates/galleries/base.html block main-content –>
<div class=“cols” id=“gallery”>
<div class=“col-4 left”>
<div id=“title-alert”></div>
<div class=“box v-tabs gallery-info”>
<!– templates/galleries/base.html block gallery-description –>
<form class=“editable-image” id=“gallery-cover-image”>
<div class=“img-container”>
<img src=“//cdn2.scratch.mit.edu/get_image/gallery/2098766_200x130.png?v=1464865503.07” width=“200” height=“130” />
<div class=“loading-img s48”></div>
<div data-control=“edit”>Change
<input class=“hidden” type=“file” accept=“image/*” name=“file” />
</div>
</div>
</form>
<span class=“date”>Updated 2 Jun 2016</span>
<div id=“description” class=“description editable read”>
<span data-content=“prompt”>Describe what this studio is about.</span>
<form>
<textarea name=“description”>Hey,
This studio is basically has different coding tips from the book : Coding for Kids for Dummies.
About once a week or maybe more frequently, Joshuay2 or epikat123 will post a different coding tip. Sometime we will post it on our forum (link:https://scratch.mit.edu/discuss/topic/202168/?page=1#post-2021691 ) and then post the poster's link on this studio. If you want you can add any coding related projects, i.e. Coding lessons you have made yourself
Enjoy and follow the studio and the managers: they need moral support!
If you want to manage or curate, just ask and we will consider it. We will most likely say yes, so don't worry about being rejected.
Keep calm and carry on coding!!</textarea>
<div class=“loading-img s48”></div>
</form>
</div>
<!– end block gallery-description –>
</div>
</div>
<div class=“col-12”>
<div class=“box”>
<div class=“box-head”>
<div id=“title” class=“editable read inline”>
<form>
<h2><input value="«Coding For Kids »“ name=”title“></h2>
</form>
</div>
<div id=”follow-button“ class=”buttons“>
<div class=”follow-button button following grey“ data-control=”unfollow“>
<span class=”follow text“><span class=”icon-sm follower white“></span>Follow</span>
<span class=”unfollow text“><span class=”icon-sm follower black“></span>Unfollow</span>
</div>
<span class=”count“>( <span data-count=”followers“>4</span>
Followers )</span>
</div>
</div>
<div class=”box-content v-tabs-content tabs“>
<ul id=”tabs“ data-control=”tabs“ class=”tabs-index box-h-tabs h-tabs“>
<!– templates/galleries/gallery.html block gallery-tabs –>
<li data-tab=”projects“ class=”“ data-gallery-id=”2098766“><a href=”/studios/2098766/projects/“ data-gallery-id=”2098766“>Projects ( <span data-count=”projects“>2</span> )</a></li><li data-tab=”comments“ class=”“><a href=”/studios/2098766/comments/“>Comments ( <span data-count=”comments“>8</span> )</a></li><li data-tab=”curators“ class=”active“ data-gallery-id=”2098766“><a href=”/studios/2098766/curators/“>Curators</a></li><li data-tab=”activity“ class=”“ data-gallery-id=”2098766“><a href=”/studios/2098766/activity/“>Activity</a></li>
<!– end block gallery-tabs –>
</ul>
<div class=”tab-content“ id=”tabs-content“>
<!– templates/galleries/includes/curator_action_bar.html –>
<div class=”action-bar white scroll“>
<div class=”inner“ id=”curator-action-bar“>
<div data-control=”open-explore“ id=”show-add-curator“ class=”button grey small“>
<span>Invite curators</span>
</div>
<div id=”add-curator-dialog“ class=”add-curator-dialog hide“>
<form class=”form-inline“>
<div class=”control-group append-to-input“>
<input id=”curator_ids“ data-input=”usernames“ type=”text“ class=”input-xlarge“ placeholder=”username“>
<div id=”add-curator“ data-control=”add-curator-by-username“ data-gallery-id=”2098766“ class=”button grey small“><span>Add</span></div>
</div>
</form>
<p class=”form-instructions“>
Invite curators by username or select from the explore bar below!
</p>
</div>
</div>
</div>
<h2>Managers</h2>
<ul id=”owner-content“ data-content=”collection“ class=”media-grid curators“>
<div class=”next-page“ data-url=”/site-api/users/owners-in/2098766/1/“></div>
</ul><a id=”owner-loader“ href=”#“ class=”small grey button“><span>Load more</span></a>
<h2>Curators</h2>
<ul id=”curator-content“ data-content=”collection“ class=”media-grid curators promoteable“>
<div class=”next-page“ data-url=”/site-api/users/curators-in/2098766/1/“></div>
</ul>
</div>
</div>
</div>
</div>
</div>
<!– end block main-content –>
</div>
<div id=”explore-bar“ class=”curators“>
<div data-content=”view“>
<div id=”explore-header“>
<div id=”explore-header-closed“ data-control=”open“>
<div id=”open“ data-control=”open“> </div>
<div class=”header-text“>Add Curators</div>
</div>
<div id=”explore-header-open“ class=”hidden“>
<div class=”header-text“>
<span id=”galleries-text“ class=”header-text“>Add Curators</span>
</div>
<div id=”explore-buttons“>
<div data-control=”filter“>
<span class=”explore_button button small grey“><span data-filter=”following“>Scratchers I'm Following</span></span></a>
<span class=”explore_button button small grey“><span data-filter=”followers“>Scratchers Following Me</span></span></a>
</div>
</div>
<div id=”close“ data-control=”close“>  </div>
</div>
</div>
<div id=”related-projects“>
<div id=”inner“>
<div class=”slider-carousel-container following“ >
<div class=”slider-carousel horizontal“>
<div class=”viewport“>
<ul class=”scroll-content items loading-content“ data-content=”collection“>
<li class=”empty“></li>
<div class=”next-page“ data-url=”/studios/addfrom/following/Joshuay2/1/“></div>
</ul>
</div>
</div>
</div>
<div class=”slider-carousel-container followers“ >
<div class=”slider-carousel horizontal“>
<div class=”viewport“>
<ul class=”scroll-content items loading-content“ data-content=”collection“>
<li class=”empty“></li>
<div class=”next-page“ data-url=”/studios/addfrom/followers/Joshuay2/1/“></div>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id=”footer“>
<div class=”container“>
<style>
#footer ul.footer-col li {
list-style-type:none;
display: inline-block;
width: 184px;
text-align: left;
vertical-align: top;
}
#footer ul.footer-col li h4 {
font-weight: bold;
font-size: 14px;
color: #666;
}
</style>
<ul class=”clearfix footer-col“>
<li>
<h4>About</h4>
<ul>
<li><a href =”/about/“>About Scratch</a></li>
<li><a href = ”/parents/“>For Parents</a></li>
<li><a href = ”/educators/“>For Educators</a></li>
<li><a href = ”/info/credits/“>Credits</a></li>
<li><a href =”/jobs/“>Jobs</a></li>
<li><a href =”http://wiki.scratch.mit.edu/wiki/Scratch_Press“>Press</a></li>
</ul>
</li>
<li>
<h4>Community</h4>
<ul>
<li><a href = ”/community_guidelines/“>Community Guidelines</a></li>
<li><a href = ”/discuss/“>Discussion Forums</a></li>
<li><a href = ”http://wiki.scratch.mit.edu/“>Scratch Wiki</a></li>
<li><a href = ”/statistics/“>Statistics</a></li>
</ul>
</li>
<li>
<h4>Support</h4>
<ul>
<li><a href = ”/help/“>Help Page</a></li>
<li><a href = ”/info/faq/“>FAQ</a></li>
<li><a href = ”/scratch2download/“>Offline Editor</a></li>
<li><a href = ”/contact-us/“>Contact Us</a></li>
<li><a href = ”https://secure.donationpay.org/scratchfoundation/“>Donate</a></li>
</ul>
</li>
<li>
<h4>Legal</h4>
<ul>
<li><a href=”/terms_of_use/“>Terms of Use</a></li>
<li><a href=”/privacy_policy/“>Privacy Policy</a></li>
<li><a href = ”/DMCA/“>DMCA</a></li>
</ul>
</li>
<li>
<h4>Scratch Family</h4>
<ul>
<li><a href=”http://scratched.gse.harvard.edu/“>ScratchEd</a></li>
<li><a href=”http://www.scratchjr.org/“>ScratchJr</a></li>
<li><a href=”http://day.scratch.mit.edu/“>Scratch Day</a></li>
<li><a href=”/conference/“>Scratch Conference</a></li>
<li><a href=”http://www.scratchfoundation.org/“>Scratch Foundation</a></li>
</ul>
</li>
</ul>
<ul class=”clearfix“ id=”footer-menu“ >
<li>
<form id=”lang-dropdown“ method=”post“ action=”/i18n/setlang/“>
<select id=”language-selection“ name=”language“>
<option value=”en“ selected >English</option>
<option value=”an“ >Aragonés</option>
<option value=”ast“ >Asturianu</option>
<option value=”id“ >Bahasa Indonesia</option>
<option value=”ms“ >Bahasa Melayu</option>
<option value=”ca“ >Català</option>
<option value=”cs“ >Česky</option>
<option value=”cy“ >Cymraeg</option>
<option value=”da“ >Dansk</option>
<option value=”fa-af“ >Dari</option>
<option value=”de“ >Deutsch</option>
<option value=”yum“ >Edible Scratch</option>
<option value=”et“ >Eesti</option>
<option value=”eo“ >Esperanto</option>
<option value=”es“ >Español</option>
<option value=”eu“ >Euskara</option>
<option value=”fr“ >Français</option>
<option value=”ga“ >Gaeilge</option>
<option value=”gd“ >Gàidhlig</option>
<option value=”gl“ >Galego</option>
<option value=”hr“ >Hrvatski</option>
<option value=”is“ >Íslenska</option>
<option value=”it“ >Italiano</option>
<option value=”rw“ >Kinyarwanda</option>
<option value=”ht“ >Kreyòl</option>
<option value=”ku“ >Kurdî</option>
<option value=”la“ >Latina</option>
<option value=”lv“ >Latviešu</option>
<option value=”lt“ >Lietuvių</option>
<option value=”hu“ >Magyar</option>
<option value=”mt“ >Malti</option>
<option value=”cat“ >Meow</option>
<option value=”nl“ >Nederlands</option>
<option value=”nb“ >Norsk Bokmål</option>
<option value=”nn“ >Norsk Nynorsk</option>
<option value=”uz“ >Oʻzbekcha</option>
<option value=”pl“ >Polski</option>
<option value=”pt“ >Português</option>
<option value=”pt-br“ >Português Brasileiro</option>
<option value=”ro“ >Română</option>
<option value=”sc“ >Sardu</option>
<option value=”sk“ >Slovenčina</option>
<option value=”sl“ >Slovenščina</option>
<option value=”fi“ >suomi</option>
<option value=”sv“ >Svenska</option>
<option value=”nai“ >Tepehuan</option>
<option value=”vi“ >Tiếng Việt</option>
<option value=”tr“ >Türkçe</option>
<option value=”ab“ >Аҧсшәа</option>
<option value=”ar“ >العربية</option>
<option value=”bg“ >Български</option>
<option value=”el“ >Ελληνικά</option>
<option value=”fa“ >فارسی</option>
<option value=”he“ >עִבְרִית</option>
<option value=”hi“ >हिन्दी</option>
<option value=”hy“ >Հայերեն</option>
<option value=”ja“ >日本語</option>
<option value=”ja-hr“ >にほんご</option>
<option value=”km“ >សំលៀកបំពាក</option>
<option value=”kn“ >ಭಾಷೆ-ಹೆಸರು</option>
<option value=”ko“ >한국어</option>
<option value=”mk“ >Македонски</option>
<option value=”ml“ >മലയാളം</option>
<option value=”mn“ >Монгол хэл</option>
<option value=”mr“ >मराठी</option>
<option value=”my“ >မြန်မာဘာသာ</option>
<option value=”ru“ >Русский</option>
<option value=”sr“ >Српски</option>
<option value=”th“ >ไทย</option>
<option value=”uk“ >Українська</option>
<option value=”zh-cn“ >简体中文</option>
<option value=”zh-tw“ >正體中文</option>
</select>
</form>
</li>
</ul>
<p >Scratch is a project of the Lifelong Kindergarten Group at the MIT Media Lab</p>
</div>
</div>
<!– templates/modal-login.html block –>
<div class=”modal hide fade in“ id=”login-dialog“ style=”width: 450px“>
<form method=”post“ action=”/login/“>
<fieldset>
<div class=”modal-header“>
<a href=”#“ data-dismiss=”modal“ class=”close“>x
</a>
<h3>Sign in</h3>
</div>
<div class=”modal-body“>
<div class=”control-group“>
<label class=”control-label“ for=”username“>Username
</label>
<div class=”controls“>
<input class=”username“ type=”text“ name=”username“ maxlength=”30“ />
</div>
</div>
<div class=”control-group“>
<label class=”control-label“ for=”password“>Password
</label>
<div class=”controls“>
<input type=”password“ name=”password“ class=”password“ />
</div>
</div>
</div>
<div class=”modal-footer“>
<span class=”error“>
</span>
<div class=”buttons-right“>
<button class=”button primary“ type=”submit“>Sign in</button>
<a data-control=”registration“>Or Join Scratch</a>
</div>
</div>
</fieldset>
</form>
<iframe class=”iframeshim“ frameborder=”0“ scrolling=”no“><html><head></head><body></body></html></iframe>
</div>
<!– end templates/modal-login.html –>
<div id=”registration“ class=”registration modal hide fade“ data-backdrop=”static“>
<iframe class=”iframeshim“ frameborder=”0“ scrolling=”no“><html><head></head><body></body></html></iframe>
</div>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/jquery-ui.min.js“></script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/js/main.js“ charset=”utf-8“></script>
<script type=”text/javascript">
// load gaq script
(function() {
var ga = document.createElement('script'); ga.type = ‘text/javascript’; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + ‘.google-analytics.com/ga.js’;
var s = document.getElementsByTagName('script'); s.parentNode.insertBefore(ga, s);
})();
</script>
<script type=“text/javascript” src=“//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/js/base.js” charset=“utf-8”></script>
<script type=“text/javascript” src=“//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/js/lazyload.js” charset=“utf-8”></script>
<script src=“//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/lib/jquery.ui.widget.js”></script>
<script src=“//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/lib/blueimp-jquery-file-upload/jquery.iframe-transport.js”></script>
<script src=“//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/lib/blueimp-jquery-file-upload/jquery.fileupload.js”></script>
<!– templates/galleries/gallery.html block js –>
<script>
sessionStorage.setItem(“gallery_name”, "«Coding For Kids »“)
sessionStorage.setItem(”gallery_id“, 2098766)
sessionStorage.setItem(”explore_by“, ”galleries“)
</script>
<script type=”text/template“ id=”template-collection-count“>
<%= count %>
</script>
<script type=”text/template“ id=”template-comment-actions“>
<% if (can_delete) { %>
<span data-control=”delete“ class=”actions report“>Delete</span>
<% } %>
<% if (current_user != comment_user) { %>
<span data-control=”report“ class=”actions report“>
<% if (student_of_educator) { %>
Delete
<% } else { %>
Report
<% } %></span>
<% } %>
</script>
<script type=”text/template“ id=”template-modal-login“>
<div class=”modal hide fade in“ id=”login-dialog“ style=”width: 450px“>
<form method=”post“ action=”/login/“>
<fieldset>
<div class=”modal-header“>
<a href=”#“ data-dismiss=”modal“ class=”close“>x
</a>
<h3>Login</h3>
</div>
<div class=”modal-body“>
<div class=”control-group“>
<label class=”control-label“ for=”username“>Username
</label>
<div class=”controls“>
<input id=”username“ type=”text“ name=”username“ maxlength=”30“ />
</div>
</div>
<div class=”control-group“>
<label class=”control-label“ for=”password“>Password
</label>
<div class=”controls“>
<input type=”password“ name=”password“ id=”password“ />
</div>
</div>
</div>
<div class=”modal-footer“>
<span class=”error“>
</span>
<span class=”button primary“ id=”sign-in“ data-control=”site-login“>
<span>{% trans ”Sign in“ $}
</span>
</span>
</div>
</fieldset>
</form>
</div>
</script>
<script type=”text/template“ id=”template-comment-reply“>
<form>
<div class=”control-group tooltip right“>
<textarea name=”content“></textarea>
<span class=”hovertext error“ data-control=”error“ data-content=”comment-error“><span class=”arrow“></span><span class=”text“></span></span>
<span class=”small-text“>You have <span id=”chars-left-<%= comment_id %>“>500</span> characters left.</span>
</div>
<div class=”control-group“>
<div class=”button small“ data-parent-thread=”<%= thread_id %>“ data-commentee-id=”<%= commentee_id %>“ data-control=”post“><a href=”#null“>Post</a></div>
<div class=”button small grey“ data-control=”cancel“><a href=”#null“>Cancel</a></div>
<span class=”notification“></span>
</div>
</form>
</script>
<script type=”text/template“ id=”template-deletion-canceled“>
<div class=”deletion-canceled“>
<div class=”form“>
<p>
Your account was scheduled for deletion but you logged in. Your account has been reactivated. If you didn’t request for your account to be deleted, you should <a href=”/accounts/password_change/“>change your password</a> to make sure your account is secure.
</p>
</div>
</div>
</script>
<script type=”text/template“ id=”template-unsupported-browser“>
<div class=”unsupported-browser banner“ data-cue=”unsupported_browser“>
<div class=”container“>
<span>Scratch works best on newer browsers. We suggest you upgrade to <a href=”/info/faq/#requirements“>a supported browser</a>, <a href=”/scratch2download/“>download the offline editor</a>, <a href=”http://wiki.scratch.mit.edu/wiki/List_of_Bug_Workarounds“>or read about common workarounds</a>.</span>
<div class=”close“>x</div>
</div>
</div>
</script>
<script type=”text/template“ id=”template-unsupported-msie“>
<div class=”unsupported-browser banner“ data-cue=”unsupported_browser“>
<div class=”container“>
<span>Scratch will stop supporting Internet Explorer 8 on April 30, 2015. We suggest you upgrade to <a href=”/info/faq/#requirements“>a supported browser</a>, <a href=”/scratch2download/“>download the offline editor</a>, or <a href=”http://wiki.scratch.mit.edu/wiki/List_of_Bug_Workarounds“>read about common workarounds</a>.</span>
<div class=”close“>x</div>
</div>
</div>
</script>
<script type=”text/template“ id=”template-gallery-report“>
<div class=”gallery-report“>
<div class=”form“>
<div>
Please explain why you feel this studio is disrespectful or inappropriate, or otherwise breaks the <a href=”/community_guidelines“ target=”_blank“>Scratch Community Guidelines.</a>
</div>
<br>
<p class=”errors“>Please select the inappropriate part of the page.</p>
<form class=”form-horizontal“ id='report_form'>
<input type=”radio“ id='radio_title' name=”report_value“ value=”title“>Title</input>
<br>
<input type=”radio“ id='radio_description' name=”report_value“ value=”description“>Description</input>
<br>
<input type=”radio“ id='radio_thumbnail' name=”report_value“ value=”thumbnail“>Thumbnail</input>
</form>
<div>
Is it something else? You can always <a href=”/contact-us/?studio=2098766“>contact us</a> to explain.
</div>
</div>
</div>
</script>
<script type=”text/template“ id=”template-gallery-thanks“>
<div class=”gallery-report“>
<div class=”form“>
<div>Thank you. We have received your report. The Scratch Team will review the studio based on the Scratch community guidelines.
</div>
</div>
</div>
</script>
<!– load javascript translation catalog, and javascript fuzzy date library –>
<script type=”text/javascript“ src=”/jsi18n/“></script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__/js/lib/jquery.timeago.settings.js“></script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/apps/registration/main.js“></script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/apps/global.js“></script>
<script>
Scratch.NotificationPollTime = 300000;
</script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/apps/gallery/views.js“></script>
<script type=”text/javascript“ src=”//cdn.scratch.mit.edu/scratchr2/static/__b1315cda1358af32fc0764f1bc83910b__//js/apps/gallery/main.js“></script>
<script>
$(document).on(”accountnavready", function(e){
$('#topnav .messages').notificationsAlert();
});
</script>
</body>
<!– Site Version: 2.2.9_2016_06_01_12_11 –>
</html>
- Harakou
-
1000+ posts
Coding for kids studio (link to studio)
It's great that you want to provide a useful resource for people, but please don't do so simply by copying other peoples' work - especially copyrighted material like published books. These people put a great amount of effort into their work and deserve to be paid for it. The forums aren't a good format for such long material anyway.
- Discussion Forums
- » Things I'm Making and Creating
-
» Coding for kids studio (link to studio)