Friday, December 13, 2013

Community Building Through Hour of Code

We are more than halfway through the week for Hour of Code.  Virtually every class in my school has signed on to participate - including our principal.  My students have been helping out kindergarten classes throughout the week to help them navigate through the levels, distinguish between right and left, and manipulate their mouse.  It was amazing to listen to some of the strategies they were using with the kindergarten students.  I heard modeling (pretended to be the 'Angry Bird'), use of visualization (pointing to the screen), questioning, mnemonic devices (how to remember left and right), scaffolding (providing the first one or two blocks to help get them started), providing a familiar point of reference (likening Blockly to Scratch), and use of non-examples to show them the 'right' way to go.  Wow!  They also expressed how difficult my job must be and appreciate the difference between knowing how to do something yourself vs. helping someone else do it.

Monday, December 9, 2013

Happy Birthday, Amazing Grace!

As we begin the kickoff to Computer Science EdWeek, I took some time to look back in time at the history of computer science.  Today's Google doodle focuses on her and so did we - Admiral Grace Hopper.


We read the following article and watched the "60 minutes Overtime" segment on Grace Hopper.

Great way to integrate non-fiction text, a bit of history, math, and making connections to coding and technology today.  Followed up with students weaving in writing skills as they summarized what they learned about Grace Hopper in a well-organized paragraph.

Hour of Code is here

Hour of Code kicked off today and my class is on the video here shouting out "hour of code." has tutorials and step-by-step videos, instructions and hints to guide even the youngest coder through navigating mazes and other challenges.

"I like the hour of code because it is challenging, but once you get the hang of it, it gets easier.  You not only have to get the correct blocks, you have to put them in the right order.  It gets tricky when you go to the last levels because then you have to use more blocks."

"Do you know about the Hour of Code?  There are 19 stages where you have an inventory of blocks.  You pass the levels and you move onto the next level.  For example, if you are on the artist, you can make colorful artwork with just blocks.  I love the hour of code!"

"I like Hour of Code because you are guided through stuff and not just making things not knowing.  I learned that you need to have a lot of patience to make things."

Monday, November 25, 2013

A New Way of Seeing

I wanted to follow up on how computer science works together with different fields (in this case, earth science) to reshape our understanding of the world through the use of innovative technology that in turn leads to new ways of seeing, thinking, decision-making, and ultimately, acting.

We started off with Greg Asner's TED talk about how technology has changed how we can view the earth.

I then asked the students to reflect on this talk by identifying the science and engineering practices at work.

"Computer science can change our view of nature.  It found out that male lions hunt at night in deep forest instead of what we thought that they sit around for food.  One main thing is that we have lot of rainforest species problems, fire, drought, goldmining and deforestation.  But we have hope.  We can help this by obtaining, evaluating, and communicating information that is important to park managers so they can make some important decisions like where to use fire.  These are some things we can use computers for - to save nature."

"My reflection is that he uses practice 3:  planning and carrying out investigations.  He was carrying out investigations when he found out that male lions are not the lazy ones.  In fact, the male lions do a lot more hunting than female lions.  People thought that the female lions do all the work because they hunt in the day for prey.  He also uses practice 3 when he finds out all about new things and then tells the world about it.  For example, he found out that there can't be too many elephants because elephants push many trees down." 

"I think Greg used science practice number 4 - analyzing and interpreting data.  He used this when he picked up data with his satellite.  The way he interpreted that data is by showing different colors as red is a lot of carbon and blue is the least.  Also, he showed every tree in the savanna in Africa and after showing it, again he analyzed which trees were being pushed down by elephants."

"Technology can change many things.  We have the CAO that can do many things.  One question is "how much carbonstock are we losing?"  The CAO allows us to resee what the canopy animals see.  It also allows us to see where the carbon is.  Goldminers are affecting carbon too.  All of this is analyzing and interpreting data."

Rainbow Loom Bracelets and....coding???

Walk down the hall of any elementary school and you will see students decked out in "Rainbow Loom" bracelets - basically mini-rubber bands woven together on a plastic loom.  As you can see from the picture above, they come out looking like a rainbow and kids are making them into bracelets, necklaces, name it.  How are these like coding?

"Coding:making a rainbow loom bracelet.  It is like that because in rainbow loom, if you put the rubber band in the wrong way, the bracelet will fall apart.  It's the same with coding.  Also, in programming you can make the computer do anything.  In rainbow loom, you can make any color bracelet.  In programming, you can make patterns and in rainbow loom you can make patterns.  That is how they are alike."

Here's one more coding analogy based on her experience with Blockly and Scratch:

"Coding is like reading the rules for a game.  Missing a rule in the game might ruin the entire game, just like missing a block will ruin the maze.  Also, you have to know which rules go first, just like you have to put the blocks in order.  You should have a pretty good idea of how the game will go almost like you should know how and where the sprite will go."

Wednesday, November 20, 2013

Let's Talk Analogies

Analogies are a great way to check for understanding of concepts.  We've been looking closely at all kinds of analogies in English Language Arts, so I thought to myself, "What a great way to see how deeply my students understand and view coding."  I wanted to see if they could apply coding principles outside of coding (decontextualize) to see how well they really "get" the thinking and process of coding itself.  In a nutshell, students were to come up with an analogy for coding along with three supporting examples.

"Coding: A baby learning to take steps because when a baby learns to walk, it starts slow and small.  If it goes too fast or big, it will fall down.  The same with coding - if you start going fast, your program will fall apart because you're going too fast.  Also, if you take big steps, you will miss a step and starting big can you mess up.  Once a baby falls down and with programming, once your program falls, you can get up and try again."

"Coding:Building.  This is because with coding, if you are not exact, it will "wonkify."  With building, you need to be exact or the building will fall.  Another way is that if you don't like your Scratch program, you can delete it and try again.  With building, you can knock down your building.  Lastly, you can remix someone else's code.  In building, you can sort of copy someone else's, but make changes, and call it your own.  Though quite different, building and coding are very alike."

"Coding is like doing crossword puzzles because one word in the wrong place affects the word that is going down or across that word.  That relates to coding because if you do Scratch and put the wrong block, when you want to do something else, it turns into a disaster.  When you do a crossword puzzle, at first it might be just experimenting and trying to fit the words in the squares.  Same with coding.  You have to experiment if the cat moves the way you want or not.  At first, the crossword puzzle might look different or weird, but it turns out cool.  With coding, it might look weird at first, but when it is finished, it is awesome!"

Tuesday, November 19, 2013

Computer Science and NGSS Practices

We had a class discussion today about computer science and investigated answers to questions like:

What is computer science?
Why is computer science important?
What do computer scientists do?
How do computer scientists help us?
How do they change the world around us?
What science and engineering practices (NGSS) do computer scientists use in their job?

With the Next Generation Science Standards (NGSS) recently released, we have been connecting the science and engineering practices to what we do in class.
1.  Asking questions and defining problems.
2.  Developing and using models.
3.  Planning and carrying out investigations.
4.  Analyzing and interpreting data.
5.  Using mathematics and computational thinking.
6.  Constructing explanations and designing solutions.
7.  Engaging in argument from evidence.
8.  Obtaining, evaluating, and communicating information.

Here are some responses from my third and fourth graders:

"I learned about coding and computer scientists.  Some types of scientists make things automatic like stoplights.  Some people think that since computers are tools, it's OK to be on it, but you have to use that tool wisely.  Computer scientists have to solve problems and get data to do their job."

"People (computer scientists) use practice number 6 - constructing explanations and designing solutions.  We've used it when programming because you might make mistakes so you would have to design solutions to make something work.  (They) also use this practice when they automate something."

"Today we learned about computer science and computer scientists.  People that program have to make a simulation.  People can help the world with computer programming and can help schools too.  For example, they made a website that grades things automatically."

"I learned that computer scientists program computers and so do we.  When you program a computer you use data.  You can program a computer to do things automatically like you can program a traffic light to time how long each light stays green.  Computer science is all around our environment.  It is in traffic lights, phones, computers, schools, buildings, and almost anywhere."

"What I learned about computer science is that people automate many things that used to done by hand.  Almost every job needs a computer scientist.  Practice number 6, which is "Constructing explanations and designing solutions," many computer scientists design things as a solution to people's questions. "

"Today I learned that computer scientists make life a lot easier.  For example, they use data to program things.  They also use science practice number 2, using models.  This is called simulation.  Sometimes we use ourselves as the models.  For instance, in class we do robotics.  We are stuck on a challenge to make the robot go in a square so sometimes, we pretend to be the robot."

"I learned that computer scientists are used in every profession.  They make some things automated like lights.  They program their products with data.  They also help with our everyday environment such as a car.  Computer scientists and computer science is very important for everyone."

"Today I learned about computer science and automation make life easier.  All of this is done by computer scientists that program things to do something.  Yet to do this, they must have a lot of data.  Data is information on certain things like amounts.  This whole things relates to practice #4 (analyzing and interpreting data) because without that, they couldn't get data to program automated things."

Monday, November 18, 2013

Scratch vs. Javascript

With some of the students fairly proficient with Scratch, I went to LearnStreet to set up a Javascript (JS) course with learn, practice, and project tutorials.  Here are some of their initial reactions to my questions:

How does Scratch compare with Javascript?  What are the similarities and differences?

"I think they're kind of the same because when you're doing Scratch, you're trying to program something to do something and JS, you're trying to program too.  But JS is different, because it gives you specific things to do.  JS is probably harder than Scratch because in Scratch, you can pretty much make it do anything you want and it's pretty easy because you're just dragging blocks, but in JS, you need to spell right and do everything exact.  With both of them, you have to think about, 'what would happen if...' but in JS you have to think that more strictly."

"For example, on Scratch, you can just drag a plus block, while with Java, you have to remember to type in 5 +5.  Also, they're different because on JS, you can do more things like you can do changing variables without having to tons of lines of code.  In Scratch, you just drag a block and another block and keep dragging until you have full code.  In JS, you have to type in your commands, but I think you can do much more in some commands like if you were trying to change a variable to two things that were joined, you can use one command while on Scratch, you need to use two blocks and two strings."

I am really interested in finding out whether or not they notice that a lot of the computational thinking is still there, no matter what the 'language' of coding is.  Algorithms, loops, conditionals, variables.  Breaking down problems.  Solving them.  On this first day of learning JS, my students seem to notice the differences more than the similarities.  I am keen to see what happens as they become more fluent in JS.

Moving on with Debug-its

After solving the debugging challenges available on Scratch, we were ready for our next challenge.  This time, my students were now 'Scratch' programmers receiving a 'job' assignment in the form of a project.  Instead of solving others' debug-its, they were now going to create their own debug-challenges based on a set of criteria and constraints.

"I feel that when you're given constraints, it kind of makes your mind think better because it means you can't just make it any kind of debug-it, but a specific type of debug-it.  They're harder when you have constraints because you have to think of a way that you'd be able to make it do that.  For example, Mrs.Mak gave me an assignment to create a 'list' on Scratch and each item disappearing when the cat did the exercise.  And there were lots of things that I could have done, but it wouldn't have exactly met the constraints.  So I had to get every last block correct to meet the constraints."

"When you're making debug-its with constraints, it's different from just fixing someone else's because you have to make a program that works, then remove something that makes it work, then after that, you have a program that almost works, but something small that keeps it from working.  Making it, removing something that is important, but really little, and then finish.  What I do is just look at a part and I think it's like a stack of bricks.  If I take one out, then it falls.  Then I run the program to make sure that it's a real debug-it...that there is something that keeps it from working."

"If I make a debug-it with my own ideas, then I don't have to think about any constraints...How about I just make ice-cream?  But if I have constraints, then I have to figure out how to make it using only the things she gives me.  It's harder if you're assigned one because you have to do one thing.  You can't just have an idea that you know how to do.  But if you're assigned one, you have to do the idea you're assigned.  And if you don't know how to do it, you have to figure it out."

Here is our class debugging studio on Scratch Ed.  It's called Mak's Debuggers, but I just got a proposal from a student to rename it "Mak's Exterminators."

Saturday, November 16, 2013

Endless Summer

This past summer, I had the privilege of being selected to be the instructor at Arizona State University's School of Engineering first ever robotics program outreach for an all-girls group.  Fifty middle school girls from all over the greater Phoenix area gathered at the engineering student center for a week filled with robotics programming and challenges using NXT Mindstorms, visits and talks with various schools of engineering, and mentoring by engineering undergrads and grad students.  It was no doubt a life-changing and empowering experience for each and every girl there.  Most had never touched a robot before let alone program one.  By the end of five days, all experienced the success and were inspired to explore future options in science, engineering, and computer science.  Mission accomplished!

Marble Run

Comparative Neuro-anatomy


Maze Challenge

Friday, November 15, 2013

Coding, coding, 1,2,3

I always like to have my students watch the video below from and reflect on its meaning and significance as applied to their exposure, practice experience with coding.  What I have shared here are some musings from 8 year olds...

"I just started coding and it is like a new world! It is amazing because you get to almost go into someone else's brain and teach them based on how they think.
I learned that computers are actually pretty dumb but the people who program them can make them do almost anything! Just start small and if you get into it, grow big, big and bigger. It really involves skill though, it's not just some game that you get addicted to, it's almost a student and you are a teacher. It even helped me think of how I can improve when I learn because the computer's mistakes seem hilariously dumb but that is only because I am smarter. I sometimes make mistakes like that and now I know that if you learn how someone else thinks, you can show them almost exactly how you think. "

"I feel that coding is great because it's like learning a new language.It is fun because you get to communicate with the computer and tell it what to do like if I put a strong tag and type something inside the tags it will make it bold.Sometimes,I personally think it does get a little frusterating when you don't understand the instructions that tell you what to do because one time I misunderstood the directions and I didn't put title tags.But overall, I think coding is a great thing to do and learn."

"I think coding is like learning a weird language and you have to remember everything. .. Coding is really hard for me and I'm stuck on the first level. I've kind of got the hang of it, but it's really hard for me to remember everything. It looks really advanced and is as hard as learning Hindi last year. "

Friday, November 8, 2013

Computational, Model Thinking and Computer Coding

Paper presented remotely to Slovakia at the International Conference on Emerging E-learning sharing about our district's initiative - "Coding is Common to the Core"

Robotics, math, and programming

Started the class on Lego Mindstorms this week.  Their first challenge was to program the bot to move in a straight line from point A to point B, marked by tape.  I asked them lots of questions about how they are going to know how to program the bot, how far to make the bot go and how they would program distance to be traveled...

Before you knew it, they took out rulers to measure the total length between point A and point B.  Once they had that figured out, they had to think about how to translate that into the program.  They had the options of:  time in seconds (which they were tempted to choose), rotations, degrees...

Here's what happened 'in their words'...

"So the boys wanted to choose 'seconds.'  I chose 'rotations' because you can't always rely on 'seconds.'  So when you're using rotations, you would measure how much one rotation is and then measure how much it is in inches or centimeters.  When we did that, it was easy to mix them up and we did.  The robot traveled about a half of the length of the course and then it just stopped.  We realized that we measured the circumference of the tire in centimeters, but then measured the length of the course in inches, so when we programmed, it went only halfway.  When we measured the circumference of the tire in inches, we got it go exactly the amount it needed to."

Square Challenge

We are also working with NXT Mindstorms.  Students are learning by starting with basic challenges. The first one was to have the robot travel in a straight line for a certain distance.  Now they are working on having the robot travel in a square...

"I think robotics is fun and interesting because sometimes you need to guess and check and other times you need to figure it out.  You need to really make sure everything would be perfect because if you put one piece of program that doesn't work, you could make the whole thing not work.  For example, if you made it turn too far by accident, you will make it go in a triangle shape it would have been successful if we were trying to get it to make a triangle, but we weren't."

"I think robotics is fun and challenging because it's not like you just go to the computer and say, "OK robot, you have to move in a square."  You really have to plan it out.  One challenge we are facing with the square challenge is we are able to make it go in a straight line, but how are we going to make it go in a square?  We know we're close, but we wonder how we can change our program to make it go along the edge of the carpet rather than onto the carpet and knocking over water bottles."

"I think it's fun and interesting because it's not something you do for just one day, but it takes a while and a lot of thinking.  Sometimes you don't get it right the first time and you try it again, and it's still not right.  You have to be very specific.  You actually have to program it.  You have to actually think and divide to get the certain amount of rotations."

"Robotics is not only about training a robot.  It really trains your thinking, helps you learn math, science and using technology.  Sooner or later, who knows? You may be controlling one classroom-size together.  Working together, with a friend, you can overcome any challenge."

"I have an idea how we fix it - if it's going in a triangle, we just add a straight line and a turn to make it go in a square."

"We used 'human robots' to plan it out.  What we mean is we used 'us' by moving around to see about how many rotations it would be and to see what direction we should program the turn.  Our feet are not the size of the wheel, so it's approximate, but we can figure out the right amount by testing. One plan we have is to make the robot go one rotation and then measure it and then change it to the number of rotations we need to make it go in a square."

"We can plan and map it on post-its and follow clues and steps that we found out earlier to figure out the 'question mark.'  For example, we need to figure out how many inches is one rotation to see how many inches the robot needs to go."

Wednesday, October 30, 2013


We started this week on debugging projects in Scratch where the students had to 'fix' a program in order for it to work properly.  For example, one such project involved making the Scratch cat say meow three times with a speech bubble appearing at the same time rather than the speech bubble and meows being off-synch.  Students are now working on creating their own debug-it projects and adding them to our class studio.  Lots of valuable collaborative skills at work in this process as well with feedback and suggestions, input and revisions.

Here are some student comments about their debugging experiences:

"Debugging is really fun because you get to try to find out what problems other people had with their programs and to fix it.  Finding out the right block to put in and use is challenging because there are a lot of blocks to choose from and you have to choose one of them.  Some are easier than others.  Some you just have to remove or put in one or two blocks, others you have to redo the entire thing."

"Making a debugging project is basically making one with a flaw in it.  And if you're solving them, you have to find the bug and fix it, but sometimes it's hard, sometimes it's easy.  They're easier when you just have to add a single block.  It's challenging when you have to do more than one thing .  Like when you have to make a block and remember it and keep track of more than command at once - like to meow with the speech bubble."

"I like debugging because you get to look for problems and when you look for problems, it always challenges you to think "How would I do this?" and seeing what it is missing and finding a block to do what is missing.  I also like making debug-its because you get to think of ways to challenge your classmates or other people.  With debug-its, you also get to challenge yourself because you have to think of things you haven't done before and things that will challenge others and you have to try to make it hard.  You don't even have to be missing a block.  You can set to do something other than what it is set to do.  You need to be good at computational thinking because you need to think, "If I did this, what will happen.." and you also need to be able to learn from your mistakes because in Scratch, you make a lot of mistakes.  You might try something and it works for a few times, but ,then it stops working because there is a certain piece of information that it doesn't have that it needs to work."

Tuesday, October 8, 2013

Computer's 'elementary'

Mini Scratch Projects

3rd Grader - Idiom in 'Scratch' - "Hold your horses!"

3rd grader - Idiom - "I'm going to blow your socks off!"

3rd grader - "All About Me" project

Mathematical Practices, writing, and computer science

Here is a collection of student journal reflections connecting the Common Core Standards for Mathematical Practice and binary numbers and the Cartesian coordinate system.
The eight mathematical practices:
1)  Make sense of problems and persevere in solving them.
2)  Reason abstractly and quantitatively.
3) Construct viable arguments and critique the reasoning of others.
4)  Model with mathematics.
5)  Use appropriate tools strategically.
6)  Attend to precision.
7)  Look for and make use of structure.
8)  Look for and express regularity in repeated reasoning.

3rd grader:
"In binary numbers, I use math practice number 6 when doing code.  Binary numbers are the digits 0 and 1.  Code for binary numbers is doubling one number starting with one and writing them in 0 or 1.  You see, trying binary numbers with cards make it easier.  We did it in class once.  First, our teacher made us cards that say 1,2,4,8, and 16.  Cards that are showing are 1.  Cards that are not are 0. Then our teacher, Mrs. Mak, said a number and we had to put the cards face-down if they did not equal to the number Mrs. Mak said.  For example, is all the cards were showing and we had to make the number 12, then we would flip over 16, 2, and 1 so that only numbers that are showing are 8 and 4 because if you add them together, you get 12.  So in binary, it would be 01100 You have to attend to precision when doing binary numbers."

4th grader:
"When we were learning about binary numbers, we were using math practice #7 "Look for and make use of structure."  We made use of structure when we made the binary patterns.  For example, one structure was the binary pattern which equaled 5.  Our cards were in this order (16, 8, 4, 2,1).  We turned over the 4 and the 1, so the pattern was 00101.  That is the math practice I used."

"When we learned the Cartesian coordinate system and played "Connect Four," we used math practice #7 which is "look for and make use of structure."  When we got four in a row, the structure might be horizontal, vertical or diagonal.  If it is vertical, the X-axis will be the same and the Y axis will increase.  For example, if the four-in-a-row coordinates are (3,1), (3,2), (3,3), and (3,4), the Y-axis increases, but the X-axis doesn't change.  If the four-in-a-row is horizontal, the X-axis will increase or decrease, but the Y-axis won't change.  Let's say the coordinates are (-5,-4), (-4,-4), (-3,-4), and (-2,-4).  The X-axis changes and the Y-axis doesn't."

Friday, October 4, 2013

Interviewing a student about looping:

H:  When I started my game called Lizard Jump, I had 6 levels that I wanted to put into the game. The game was working fine, but I received people saying, "This game has 6 levels.  Where are the other five?" So I put out the statement that I was going to try to get all 6 levels working.  I looked at the other 5 levels and saw that there was no loop connecting them.  So I went to 'make a block' named it 'loop' put it down and made a variable.  And I called that variable 'loophole.'  I put the titles of the games, Lizard Jump, 2,3,4,5,6, and put them in the variables section.  Then I put those in the 'define loop' block. Then went over to the other games, made the same block over and over again, then tested the game.  I also put in 'when space key pressed,' define the loop and do what the loop block says to do.  So then I tested the game by pressing the space key and the lizard said 'welcome to level 2' and it switched to level 2.  I had a problem with the game where it kept adding new lizards to the game because they had been there in the previous game, so I added 'make a list' called 'delete lizard' and I made five of them for level 1,2,3,4, and 5.  Then I tested - if I hit a certain key would it delete a lizard from the previous level? It did, so but then I found I accidentally placed another block under that that automatically started the game from that level.  So I decided to leave it there...

Tuesday, October 1, 2013

More Scratching...

Interview with novice 'Scratcher' - M:

On Scratch I am working on an idiom project - a taste of your medicine.  It was pretty challenging because most of the sprites they had was not what I needed so I had to create my own and my own background and fix things up and reprogram it to make it better.  I had to make my mad scientist disappear.  When I was trying to do that I tried to make my own block and typed in disappear, but when I clicked on that for my mad scientist, he just stayed there.  And so then I had to make him move 240 steps so you didn't see him anymore, but you could still see his hand.  I'm trying to make him disappear, but it's hard because I tried to get the background to go over him, but that didn't work either.  Whenever I played my whole video I would have to set everything up over again, and that was annoying because I had to move everything here and move it back there.  I'm looking around Scratch to see how I can program to set itself up all over again. The mad scientist was supposed to create his own medicine to make himself younger and when he drank it, he turned into a turtle, so I had to make the turtle come out from under the table.  I had difficulty with that because I could only make him move 10 steps at a time and I had to count over and over again how many steps I would need to move him.

Friday, September 27, 2013

"Scratching" games

Interview with student 'T' about the process of making a game on Scratch:

The challenge was I had the whole theme and how I was going to make the game in my head, but the problem was I didn't know how to make "lives."  So I tried a few games on Scratch until I found one I liked and went onto 'remix.'  And then found out how they did lives.  I found out they made lives as a variable and then I had lives, but the only problem was, it kept going after 'death' so I had to look at the game a little bit more that I had gotten lives off and then I found one thing that I was missing. (what was missing?) I forgot to put in one block that when lives went to 'zero' I forgot to put in the block 'stop all.' I also had a thing that when lives reached 'zero' I had it go to a different background and that was the background I labeled 'destroy' because that is when the spaceship is dead.  I went on and it was done.  I went on to its page to see what it would look like when it's published and how it would work when it was published. Then I got rid of all the minor little glitches (what were they?)  Sometimes even though I put 'stop all' it would still keep going after death (why?) Because while I was trying to get it to stop its lives, I did something that made it keep going after death.  I pressed a button that made it keep it going after death (what was it?)  I set a block to 'when lives reach zero' but it's supposed to be 'when lives reach one.'
And another minor glitch was it wouldn't start back up again on its own so you would have to reload your computer.  (so how did you fix that?)  Because I forgot to put in the button "when space is pressed," "set lives to five" and "go to mouse pointer."  It fixed it because I forgot to put in the space is pressed thing and then I tried it again, it was working again.  It wasn't working because of the block I left out.  And that's how I made my first through fifth game.  I'm on my sixth game.

Interview with "A" about the process of creating blocks.  He came in one day and announced that he figured out how to create is his story...

I hit 'more blocks' and there was nothing there but a 'make block' button and I typed in 'jump.'  And then a window popped up with options and a space to type.  In the place where you type what the block says, I put in 'jump.'  And then I hit 'okay.'  In the scripts area, there's a new event block that was purple that said 'define jump.'  I used to not know what to do with it, but then I noticed that it wants me to define what jump will do.  So I put the 'change y' block down below the 'define.'   And I put the 'change y by 10.'  (why did you do this? why by 10?)  Change y to change where it is standing to make it go up 10.  So I went to 'more blocks' and instead of there just being 'make a block' button, there is an actual block there that said 'jump.' So I went to events, got a 'when space key pressed' block and dragged it into the scripts area.  Under that block, I dragged a jump block.  I hit the space key and the cat that I was using jumped.  Also I forgot.  I added another y block to the define thing that was minus 10 so it jumped up and back down.  (what were you thinking at that time?)  I was thinking at that time if I could control what the 'y' would be without going back to the define.  So I clicked on 'make a block' called the block jump again, but this time, I added a number input from 'options.'  I pressed 'okay' and saw 'define jump height' and the height was a circle so I put down the 'y' block under 'define' and then I clicked on the circle that said 'height' and dragged it to where the 'change y' was.  So it changed y by height.  and then I noticed I wanted it to go back to the ground after it's gone up.  I wish I could pull up my thing right now so I could see the block...(goes to get his computer...)  I had to experiment a bit, but then I found out after the 'change y by height,' if I added a 'wait 3 seconds' block and then a "change y by" and then a "multiplication block" like this -1*height then it will jump up and down perfectly. I also did other blocks like Run and "Unrun"  ( how is making your own blocks different?)  Because you don't need to keep putting on the code.  Like say you want it to move 10 blocks and back 10 blocks, you don't have to move so many 'move blocks' if you make your own.

Thursday, September 26, 2013

123-Let's Scratch

Started Scratching with my 3/4 graders following the creative computing curriculum from MIT media lab and the design-based learning approach.  Students are creating an e-design notebook to document their experience along the way.  First session was viewing the intro video and then discussing what makes Scratch different from other computer experiences - play vs. create etc.
Next session was students brainstorming three things they could show about themselves in an "All About Me" Scratch project - photos, videos, sprites, change background
Students are also using Scratch for science (zoogle) project and in ELA by using it to show an example of figurative language (idiom, pun, etc)

Quotable quotes:
H: (when about to show me his Scratch) - I didn't really test this one...
A: (in the background) Then it's not going to work if you didn't test it...
Mrs. M:  What makes you say it's not going to work if you don't test?
A:  Because you have do some, then test or else you don't know if it works or not.
Iterative thinking and practice in action!

Students facing challenges in Scratch:
G:  I keep trying to make a block called wait 5 seconds, but whenever I press on the script then, it ignores the block

Here is a student helping with a solution:
H:  There are two ways to do this.  First way is go into 'controls' and look at top block which is 'wait' and then type in number of seconds and that is a 'wait 5 seconds block.'  There is another way which is to make a block through the make a block section and define it by using the 'wait' block and then put in 5 seconds.