Monday, January 13, 2014

Understanding Javascript from the Studs

One more "human computer" exercise today to show the students how to program in javascript. I picked this activity up at last summer's ISTE conference. I think it is such a useful way to demonstrate that a computer does only what a person tells it to do.

Each student got a piece of graph paper with a program written on it.

rect(150,150,200,200);
rect(200,250,50,100);
triangle(150,150,250,50,350,150);

At first these numbers seem complicated, but after reviewing a few graphing basics with the girls and explaining the parameters, they understood the simplicity and were able to turn those numbers into a basic house.



It can take a bit of time to wrap your head around the way the numbers work. For example, the students wanted to plot a point for each of the four corners of the rectangle, but you really only get three, but since it is a rectangle, you know there will be straight lines to the fourth. They got it though, and they all left class able to write the command for an additional feature, in this case a window.

Of course, they immediately wanted to add details (just as I'd hoped). Our next step will be to use Kahn Academy's platform to draw these houses and then to elaborate on them. They'll learn other shapes, how to color, etc.

I'd like to see the digital version of this

Friday, January 10, 2014

Day 2: It's Alive

Today was all about computational thinking. Since programming is all about solving problems, we started with a problem -- a monster problem. A new planet has been discovered but it is inhabited by all kinds of monsters. We know the characteristics of the monsters, but we used computational thinking to organize, name, and draw the monsters. We learned the 4 steps of computational thinking:


We applied the steps to our monster problem. First the students determined what kind of monster I had created based on the parameters of our program. Then they created a monster based on algorithms I gave them.


Each group then created their own monster and wrote the algorithm so another group could create that monster just by directions. When groups traded algorithms, they noticed errors in names and spellings that created problems in recreating the monsters. 

The girls enjoyed drawing the monsters, but were frustrated by the limitations of the algorithms we could create. They wanted to make the monsters colorful, have two different nose, to combine to different head styles. We talked about how we would have to write more complex algorithms so that they could be copied by another group and be done exactly. 

They seem right on track for our Day 3 activity. We'll be talking about javascript functions using Kahn Academy. They'll move a print drawing into a digital environment. I can't wait to see what they create.

The other cool thing that happened during the Friday classes is that we met in the computer lab in the Technology Center and it just happened to be the day that the school's 3D printer arrived. The girls got to see the printer in action making a bracelet, chain, and a turkey cookie cutter. Very cool! 


Tuesday, January 7, 2014

Day 1: Thinking Like Computers


I've been looking forward to this day for months. I had planned, thought, rethought, changed plans, and finally decided on the activity to kick off this quarter of 5th Grade's Creative Expression -- CODING!

There are so many excellent resources out there for learning to code, I've decided not to limit our learning to one tool. This way, if one way of learning this is not interesting to someone, she is not stuck with that way for the next several weeks.


The first day was all about introductions. After making sure that the girls all knew who I am, we then started building a picture of what a computer scientist is. Of course, there are lots of stereotypes about computer scientists and programmers, but we talked about how these are the people behind our favorite games, apps, and websites and that the job of a computer scientist is more than just being a tech geek. The girls noted that computer scientists would also need to be creative and artistic to be successful. We also talked about how computer programming is about problem solving. We talked about problems like puzzles. Just like you learn to put a puzzle together by starting with the corners, there are certain ideas that will help you solve problems with computers -- you just have to let yourself think that way.

To introduce computational thinking to the students, we talked about how computers read and store data by formatting it as some version of on or off. Many said that they knew that computers used 0s and 1s and we talked about how this is a version of on and off. Each student got a binary decoder key and a couple of codes to decipher.

Once they understood how the binary codes worked, they were then given binary strips with two letters to encode their initials. I used this as an opportunity to begin learning and remembering all of the students' names.

We then worked on deciphering and creating longer, more complex codes on graph paper.

I hope the girls enjoyed day 1 as much as I did!