Lego Coding in Grade Three Final

For the final lesson the students edited their hand written coding draft looking for “loops”. When they found loopable text they rewrote it as a loop. Then they typed up their final draft. Here is an example of that final draft on a Google Doc.

One great thing that came out of this lesson was one of the teachers saying to me. “Wow, I could do this during my instructional writing unit next year.”

 

See if you can follow her code?

Lego Coding in Grade Three part 1

The grade three teachers this year asked me to do some coding lessons as we had wrapped up most of our curriculum needs with all of the doubling up that I do at the beginning of the year. I thought to myself “Sure, and this would be a great time to develop the Lego Coding lesson out more fully.” So here it is. 

First, I started the students off by explaining that we were going to do a combined math, language and IT lesson. They all kind of looked at me like I was a bit crazy (but we all know this is true so they have learned to just roll with it!). I reminded them of the coding with legos lesson that they did in second grade. Then I told them that we were going to do a more complicated version of it. We weren’t going to use symbols or make up our own language, but we were going to use “real” coding terms. 


I gave them each a base plate and six legos. They then had to decide on their starting positions. As you can see in this picture. Each group decided on their own arrangement for their starting position. The only rules were that no lego could be on top of another and they had to all be on the bottom half of the plate. 


Then they began some of the math elements by copying their starting position into their math books. Their book have 1cm squares in them and I told them that 1 square = 1 dot on the base plate. They had to make sure that their drawing matched exactly the position of their starting position. This took the rest of the first lesson to get correct. There were lots of students at this point making connections to doing coordinate point work in previous math lessons. 

 

The next lesson that we had I introduced the coding language terms that we would be using and asked them to record them in their books. I choose some simple terms to get them started. We had a discussion about which direction forward and backward were on the base plates and when lift and set would be used. Also how “turn” would have to be combined with “rt” or “lt” and have a number added. I had an image on the board showing what 0 – 45 – 90 degree turns of a rectangle looked like. 
Then we started with the first line of our code. I explained to them that they needed to put a # then a sentence telling their “computer” what materials they would need to get started. We quickly realized that 4 dot Legos could come as squares or rectangles. So, we discussed how they could be described so that the “computer” collected the correct Legos at the beginning. They learned that lines that begin with # are things to read not do. They help the “computer” understand the instructions that are coming in some way. 

 

Then they set about coding. They were only able to code a few lines before the time was up and what was really nice was the “ahhhhhs” that I got because they had to stop. They wanted to continue! It was great. 

The this week they got on with more coding. And again they didn’t want to stop. They wanted to finish their first draft, which most of them did. 

My plan is to have them “edit” their work like a piece of writing. The first edit will be for “Does it work?” which they will do with each other. As some of them have already found out, they aren’t’ always correct in their first draft. 
 
Then I have taught the ones that have finished how to make repeat loops in their code. Then they went through their code to find places where they could use repeat loops and they rewrote those sections. 
 
After the on paper edit, I am going to have them type up a Google Doc that has their code in a published format. I will have pictures of that part on my next post. 

Coding ACS Egham

I love the times when an idea for a lesson comes together like what happened in my Geek Squad today! As we were walking back to the lab one of the Geeks started stating everything we were doing, that turned into my “coding” while we walked. I was calling out what I was doing as if it were code. 

When we got back to the lab I decided to have the Geeks code the school. I gave them each a clipboard, paper and a pencil. Then I gave them a start point and a destination. 

They then set off to code their way to their destination. They worked in partners to write their code.

When they came back confident that they had finished their code, I tested it for them! And we found a few mistakes!

Some of them tested their code themselves before they asked me to test it.

 

 While I was testing I spotted one of our grade five students waiting for a music lesson and roped her into helping with the testing process!

When they thought they had their code correctly written I asked them to type them up in a Google Doc. Each group approached the writing of the code differently. As you can see they each approached the “walk” command with a different technique and varing degrees of success!

 

 

 
Then the parents arrived to pick them up. By then I had printed copies of their code. They showed their parents their starting location and off they went!


I have to say this lesson has been one that I will remember. It was fun, engaging and challenging for the Geeks. I even had one throw in an “if this, then that” statement into their code!

If I get the chance to introduce coding as a replacement for instructional writing this would be one of my lessons. I also think it would be a great first week activity. You could match the new to the school students up with the ones who knew where things were and send them out to code. Then they could follow each other’s codes.

 

Coding with Legos in G2

This year once again I am doing a “Coding with Legos” lesson in grade two. I first discovered this lesson through a Twitter post that led me to and idea put out by “An Excited Educator“. I have used this idea in both my Geek Squad and in grade two.

The grade two students study a unit with the central idea of “People use symbols to be expressive and to communicate”. My coding with Legos lesson works well with this unit because part of the lesson is to develop a “programming language”. I talk to the students about how we are going to develop our own language using symbols to help a robot move Legos on a base plate. I show them what I mean by moving them. Then I ask them to think about what directions/moves they might need.

We generally end up with the usuals of forward, backward, move right, move left, turn right, turn left. We also decided that we needed pick up and put down for when to take the Lego off of the board and when to push it back into the board.

Once we have decided on our language we copy it down from the board so that it is in their math books for them to easily reference. They use math books with 1cm squares so I ask them to make sure that the symbol is in one square but not too close to the edges.


Then they begin to decide on a starting position. As a pair they

work together to decide where their Legos will begin. One of the lessons that I have learned by doing this is to give about 6 Legos that are different sizes and colours. This helps with the directions and knowing which piece to move.


After they find their starting position they need to draw that starting position on their paper. They have to decide how they will represent their Lego pieces when doing this. Some choose 4 Lego dots = 1 square, some decide 1dot = 1 square. This is a good time to see how the student’s spacial awareness is. I find that some students are very comfortable with making a copy of their starting position and some need a lot of guidance encouraging them to count rows and dots, in order to find the right spots on their paper. If I have a group that is really struggling and I am running out of time I take a picture and they finish at the beginning of the next lesson. This is usually the end of lesson one.

Lesson 2 begins with the students recreating their starting positions. Once they have found these starting positions I give them a bit of time to think about how they want their Legos to end up. I tell them that they must have some that are stacked, but that is all that I say. They play around with finding a pattern that they like.

Then we come together and I say to them. “Now you have to program your robot. You need to tell you robot which colour Lego it should start with. Then draw that on your page and under it with one direction in each square write a program for your robot, using only the symbols.” The very cool thing about this part and most of the steps until here is that even the EAL learners are able to participate fully. Because this is not an activity that is English based they have no problems writing their code with their partner. For them it must be a relief to be able to do a lesson where English is not a huge focus. Once they understand what they are doing they need very little help.

 

 

At points along the way, I will interrupt them and be the “robot”. I try out their code and see if I get to the places that they want me to get. The biggest issue so far is the interpretation of a turn right or turn left command. That can make all of the difference. Since these are just second graders I tell them that they must show their robot before it starts what their turns look like, so the robot can try to copy it. If I was doing this with older kids I would have them figure out a way to embed it into the coding of the program. I generally need at least three full lessons to complete this activity, but one of the nice things is that it works so well in the classroom, I can leave it with the teachers and they finish it. This frees up our IT time to work on something else.


For me for IT the goals of this lesson are an introduction to coding/programming, using problem solving techniques to fix programming errors and making an authentic connection from the curriculum to my subject. For a classroom teacher the goals of this lesson could include using problem solving techniques, instructional writing techniques, working in partners, proofreading their work to clarify it, and organizing their steps in a sequence. I am sure depending on your scope and sequence documents this list could change and grow.

Skyping with Game Developers

Today we had a special treat in Geek Squad. I found out last Wednesday that one of my student’s had two uncles who worked for Disney Infinity. She had failed to mention this for nearly 1/2 of the year! Anyway her mother asked them if they would be willing to Skype with us and talk about their jobs. 


This isn’t the first time that I have Skyped other Geeks, but it was definitely one that the kids were super interested in when they found out about it. One of the great things about the conversation is that neither Quinn or Troy are coders. Quinn works on developing the stories and videos to promote them and Troy is what they call a producer. He organizes all of the different elements and people in order to get new sections of the game created.

Both Quinn and Troy answered questions about what they did and how they got into their jobs. One of the reasons I love talking to people in technology rich industries, but who aren’t coders, is for my Geeks to see all of the different types of jobs that are available to them. I could literally see the wheels turning in one of my Geek’s head as Quinn and Troy were talking about the different jobs that are involved in developing this game. 


Since their niece is actually in my Coding Club which meets on Wednesdays we are going to call them again so that they can talk to the Coders. I look forward to hearing what they have to say to a new group of kids.

Bobby, who is in both clubs, said “The Skype was an amazing experience. I can’t wait to learn more during coding club.”

Parent’s Hour of Code

Yesterday my Coding Club hosted an event for parents. They decided at the beginning of the semester that they wanted to host a Parent’s Hour of Code. 

So before the parents arrived they set all of the computers in the lab up on Code.org and had them ready on the Hour of Code page. As the parents came in one of the Coders would grab them and get them started. We had an amazing turn out of parents, teachers, an IT Integrationist, IT technician and even a high schooler!

Here is what one of the coders, Ian, had to say:
“When you first hear about computer coding you think it’s an extremely complicated thing to learn. That is what Ms. Marrs and my dad thought at first. Code.org has made coding simple using blocks that you have to link together. Under those blocks is the computer code. After the Hour of Code both Ms. Marrs and my dad now know that it isn’t as complicated as they thought. I think the Hour of Code was extremely successful.”

Our first parent, who stayed the entire hour!

Teachers and parents learning.
Our first certificate of the event!
Another Certificate by one of our Lower School teachers!
On of our IT Technicians getting into the spirit.

Our Art Teacher who was told that  “you can make art” by one of the coders!

Her final design.
She did it!

 
 

 
We even got an adminstrator to come!
A 9th grader saw our posters and came to see what it was about.

One of Those Weeks

It has been one of those weeks where too many deadlines come at you at once. I have been working on getting my Apple Distinguished Educator application in, which involved a two minute video.  I am also working on getting a proposal together for the IB Regional Conference.  Starting my Microsoft Office Specialist online course. Teaching and planning a normal week.  And last but not least finalizing my ECIS Tech Conference presentations!  

That being said I will have to say that Wednesday was a great day in the Coding Club! There were students working on many different projects for the hour. The first image is of two girls who are designing a quiz app.  Bina the upper school integrationist came to show them how to use the app designing program that she has been using with the middle and high school. 

Next we have a fifth grader who brought in his own laptop so that she could begin to work in Scratch.  He sat for the entire hour with our Computer Coding for Kids book, working his way through the Scratch section.

This is another fifth grader who spent some time playing around with Moovly.  She had seen me use them during class and wanted to learn how to make her own.

We have a fourth grader who brings in his Raspberry Pi so that all of the students can work on it if they want.  They spend a bit of time on it then go do something else then come back.  They were trying to figure out how to get Mindcraft working at one point. 

I had two boys who spend the entire time trying to get our Ollie to jump things.  This is a bit of one of their attempts to knock the bucket off of the water bottle.

While the Geek Squad and Coding Club do add to my work load, I am always happy and excited after I have had a session to see the kids have so much fun with technology.