Summertime MakeyMakey

Last Tuesday was the fourth and final session of the summer Creative Coding Club at the public library.  It was MakeyMakey time.

The library now has four MakeyMakey devices available to check out! Combined with the eight I borrowed from my school, we had enough for each person to have their own. The library also has Colleen and Aaron Graves’ book 20 Makey Makey Projects for the Evil Genius. I spent some time looking through it ahead of time and ended up building the marble maze project. It had just the right “difficulty to fun” ratio for me.

20180731_103216

I also gathered some supplies, built a couple of pressure switches, and made conductive playdough (I made a gluten-free version with chickpea flour and the kids thought it smelled odd).  I put a few example projects into our Summer #4 Scratch class studio.

Screen Shot 2018-08-07 at 10.37.51 PM

Starter MakeyMakey projects

At the library, we had a fully stocked supply table, thanks to Kathy, and I set up a homemade dance mat (foil and cardboard), the marble maze, and a playdough button piano as examples.

I often find it difficult to introduce and explain what a MakeyMakey device does in a clear, efficient way.  It is much easier to show the MakeyMakeys in action then let the students explore. Three of the students had used MakeyMakey devices before (at our session in May) so they helped me explain to the others.  I did try to hit the key concepts about making a complete circuit or connecting yourself to earth and what to code to get a response.

The best thing about this session was that we had the gift of time.  Extra time to play and explore.  We were just doing this one open-ended thing – playing with MakeyMakey devices and Scratch. The whole time. 90 minutes. It was lovely. We were on Summertime, where you could dive into a project and not worry about constantly moving on to the next thing.

One student had a banana, a potato, a cucumber, and a ball of playdough connected to her music project. Another student made playdough buttons to play his Moonhack project from the previous session.  Another made a 2-player rocket race game.

At one point I walked by two of the girls and they both just had the biggest grins on their faces while playing banana pianos and adjusting their code.

20180731_163829

Staying connected to earth was tricky. I made a playdough ring for my finger but that didn’t work as well as I’d hoped. Other students had other ideas.

One student, near the end, told me he failed. He’s my big idea kid, always exploring the boundaries and testing even bigger ideas. A simple banana piano? Forget it. He thinks up complex ideas and tries them out. He and I both weren’t phased by his declaration, and I didn’t try to help him “be successful”. I just nodded and sat with him for a second in case he wanted to explain where he had failed but he just went on to try some other idea.

My one takeaway on this session was how lovely it was to have time to explore and not hurry off to something else. I enjoyed this slower paced session and they did, too. I have to remember not to over schedule our time and stop worrying about them running out of things to do.

We did stop to share and admire what everyone was doing and then the pizza arrived! Great way to end.

I hope some of these Scratchers check out one of the library’s MakeyMakeys and spend more time exploring the possibilities.

Advertisements

Workshop Reflections

I’ve been reflecting on my #ScratchMIT2018 conference Saturday workshop.  I had a lot of information and student work to share and I did that. It was a nice size group of educators from around the world. The people who attended were great and some were definitely excited about it.

I spent more time talking about my design review process than I expected. When we finally broke into groups, people seemed engaged when they were looking at my students’ work and thinking about how to support them.

This was my first time presenting a workshop at such a big conference and I learned a lot. One thing I could improve is my facilitation of the discussion. I need to prepare better follow-up questions and do less talking.

I made four different packets of student work to share. Different groups looked at different packets which I thought would facilitate more varied conversations but I was the only one who knew all the work and that hindered the whole group discussion.  I should have at least brought up the finished project under discussion on the screen so that the rest of the group could have a frame of reference.

One project that we discussed was Penguin Trivia. It was noted that its design document matches the executed project well.

Screen Shot 2018-01-07 at 5.08.50 PM

I could have followed up with what “supports would you put in place for this student?” Since her communication and time management skills seem strong, she could have used more support on game flow code examples and more time testing and debugging. (Although this is always true)

Another example project that was brought up was Thee Annoying’s Return. In this example, we thought the student could improve how he communicated his project.Screen Shot 2018-07-30 at 5.41.08 PM

Someone noted that he says there are no rules, but clearly, there are. So what clarifying questions should we ask during design review so we know he has thought carefully about his game?

The design document serves as a way for students to think deeply about their project before embarking on its creation. The thing with creative adventures is that plans change. That’s okay. The design document is a guide. There were some helpful suggestions about how to refer the student back to the guide during the creating process as a self-check-in. Older students may be able to reflect on their progress and assess the status of their project themselves.

Some other great ideas came up during the discussion.  One was having a peer review in the middle of the process as a way for students to support students.

Another idea was to have a checklist of things that should be in the project.  I’m not sure if this would be a general or project specific checklist, but it would aid in assessment, either way.

One problem we weren’t able to solve was having the time to meet with each student/group when the numbers are large or the time is short. I generally rally some additional help on Design Review Day so I know everyone’s project gets at least a quick approval so they can get started. I do check in with students each week to see where they are, where they are going, where they are stuck, etc.  There are a lot of pieces to project management, but the benefits of letting students pursue these passion projects are huge.

Overall, I am happy with how it went and I’d enjoy running it again.

Project Management Workshop Design Document

Project Management from Design to Showcase

This is the title of my Scratch @ MIT 2018 Conference workshop coming up this Saturday. I’m excited and honored to be given the opportunity to share some of my experience working with students to create the original Scratch projects, some of which I have written about in this blog.

Session description:

Managing a class (or club) of students working on individual Scratch projects is complicated.  They have big, creative ideas for their projects. They want multiple levels, gravity, complicated animation, and character interactions in their very first programmed game. We, on the other hand, need these projects done on schedule, for the parent showcase or before grades close. This is project management. How can we, as educators, honor student creativity and voice while dealing with the practical realities of limited time and guidance?

In this session, we will look at elementary student game design documents and find ways to support the conversion of these documents into a working, Scratch-coded final product. Participants will work in pairs or small groups with actual game design documents from my 4th grade Code Club members.  They will discuss and interpret what the student envisions and develop a plan to help the student be successful. A formal plan will help gauge if the student is on target to finish on time.

We will discuss issues that come up during different stages of the process such as helping students communicate their ideas about their project, and think programmatically. We will discuss different ways to code animation, how to find resources, and dealing with student expectations. We will talk about facilitating students working in pairs, time management, and debugging.

(This is my original wording and may differ from the conference program)

Title: Project Management from Design to Showcase
Date: Saturday, July 28
Time: 11:00a – 12:00p
Room:  E15-207 (Wiesner Room)

When I finished writing the description last winter, I was in high spirits because it sounded like a workshop I would want to attend.  I’m hoping to facilitate interesting discussions centered around supporting students and their creativity.

Screen Shot 2018-07-24 at 9.53.06 PM.png

I’ve gathered the student design documents I want to share and am putting the final touches on my presentation.  I’ll share everything here in a post before the workshop on Saturday.  For now, here is the current version of the design document I use with my 4th-grade Code Club students.

Summer Creative Coding Club

This July I’ve been leading a 4-week coding club at the public library for middle school age students.  It is a 1.5-hour session for up to 12 students. Kathy, the children’s librarian, is my co-leader. She sets up the library space, takes care of the sign-up list, and prints project resources we use, in addition to supporting the students during the sessions.  We worked together during the school year, co-leading Creative Coding Club, which met once a month, and because of its success, we are planning to offer it again this fall.

OLYMPUS DIGITAL CAMERA

We have this great space at the public library (although the projector doesn’t have the greatest quality display).

In early June we decided which projects to present during the 4 summer sessions:

1) RockBand/Pong  (both good intro to Scratch or refresher projects)
2) Chatbot  (one of my favorites. We have done this one before but it is very open-ended and worth repeating)
3) Flappy Parrot (a favorite of my 4th-grade code club and one I haven’t done in the library setting)
4) Makey-Makey (piano and cardboard- a great way to end)

Session #1

About a week before our first session World Cup soccer was making news headlines which got me thinking about all the sports-themed Scratch projects my students have made. So I went looking and found a Code Club resource with a soccer theme which Kathy printed. (our Creative Coders is a registered Code Club).  Kathy also had the Scratch Music cards available as well.

I created a class studio Summer #1 and added a remix of the Code Club resources for Beat the Goalie.  It has the assets (Sprites and background) ready to add code blocks following the guide.  I wanted to add an example of a music project, too, so I made this one and coded up the baseball theme “Charge”.

Screen Shot 2018-07-22 at 10.00.09 AM

My example music project

I liked the idea of giving the students two options each week. We have both returning Creative Coders and new-to-Scratch coders (plus a long wait list) for our sessions. To start with two projects of varying complexity will provide students with choice.  We hoped this would promote more creativity in their projects.  Plus, the session is longer and there could be time to try both.

For a first meet up, things went well.  There are always technical challenges just getting students on the library Chromebooks and into the Scratch class accounts.  It was also a challenge at the end to get them to stop and share their projects with everyone.  But overall they were engaged, creative and supportive of each other.

Screen Shot 2018-07-22 at 10.24.24 AM

The studio filled up with an even mix of music and soccer projects.  Since it was a bit chaotic at the end during the time we wanted everyone to check out each other’s projects, I took some time at the beginning of the session #2 to share the projects from session #1. They seem to enjoy seeing their project displayed on the screen (and me struggle to play their game).

Session #2 

Along with Chatbot, I introduced the Pen blocks and added a couple of examples from Scratch Started Project resources in the Summer #2 studio – this gave them a second choice of projects, which worked well during session #1.

Screen Shot 2018-07-22 at 10.43.02 AM.pngStudents are starting to take advantage of the class session studio to look at the examples, remix the resource projects and share their final projects for the group. I finally feel like I am putting some of the features of the Scratch teacher/class account to good use.  Both projects were hits with the students.  Kathy noted it was exciting to see them working so intently on their projects and then be so proud of what they created!  It is why I keep doing this.

Session #3

Coming up! I received a ‘final notice’ email (and saw on Twitter) about Code Club’s Moonhack 2018 project, so I’ve added it as our second option for session #3, although we’ll be coding a few days after the anniversary event.  This will be a new project for me, so it should be fun.

Create Your Own World

I don’t usually blog in the summer, but I’m running a weekly summer code club at the library in July and I’m being a bit reflective about the monthly one that I helped lead this last year.

Earlier in the year, I introduced a new (to me, too) project to the Lebanon Library Creative Coders. We decided to take two of our monthly meetings, February and March, to work on the Create Your Own World project from Code Club World.  I knew this middle school age group would enjoy creating a platform game. One of them even continued to work on it for a third month and was able to add a lot of detail like hit points, inventory list, and bad guys.

 

Screen Shot 2018-06-29 at 8.05.47 AM

World detailed with inventory, hp, weapon and bad guys.

The first meeting we focused on setting up the player movement.  We remixed Code Club Rik’s Resources for this project so we could jump right in with the coding.  When I was prepping for our meeting, I went ahead and changed the character from a square to an overhead view of a guy walking.  One of my original groups of students created Showcase projects called Tomb of Terror and Shadow Swamp with Hatty McWalker.  That’s who I was thinking of with this guy.

Screen Shot 2018-06-29 at 7.49.15 AM

Overhead view of my player.  I added a costume with the mirror image and a “next costume” block in my code to make him look like he is walking.

The Creative Coders were certainly creative with the movement options.  I’m used to using arrow keys for movement, but these middle schoolers liked ASWD and this creative ghoulish option with side arrows for turning and up for forward:

 

I’m finding it useful to look at the code more closely.  There are some interesting, creative coding going on and I’m seeing some misconceptions that will help me help them debug their code.

Screen Shot 2018-06-29 at 7.27.01 AM

Well coded ASWD movement and wall checking

I’ve seen this forever-forever coding before. Something is not working like they expect and they try to solve it with nested forever loops.

Screen Shot 2018-06-29 at 7.27.37 AM

Nested infinite (practically) loops didn’t fix the problem – switching to the “play sound until done” block did.

Or they are checking for an event and forget to put in the forever loop:

Screen Shot 2018-06-29 at 7.55.25 AM

One time event checking?

This wall checking code has been separated from the key-press event giving no response.

Screen Shot 2018-06-29 at 8.02.31 AM

If touching wall move in all directions at once.

A couple of the coders explored more blocks where you can define your own.  This led to a teaching moment for me to explain how these function blocks worked.  It turned out less useful than my right-click to duplicate code suggestion.

 

 

All in all, they impressed me. In the moment I’m not always sure what is going on with everyone and even at the end when we stop to share what we’ve accomplished I don’t always know how they did.

Some of them didn’t want to continue what they had started the month before, but they were self-motivated and independent enough to work on their own projects.

I love that this crew is supportive of each other and willing to share their ideas and compliments.

Screen Shot 2018-06-29 at 7.23.54 AM

I appreciate good, supportive commenting

Some of the same students have signed up for the summer session. I’m looking forward to it.

BeetleBlocks Tower

My math students are coding a tower in BeetleBlocks.  This is a project that I have wanted to do since a 4th grader last year designed a tower in BeetleBlocks. He called it the Sears Tower.

Sears Tower

4th grader designed  Sears Tower

I set up the engineering project with the following constraints:

Engineering Task: Use the Shapes menu blocks cube and cuboid to build a tower.

Constraints: 1) You must use at least 5 Shapes blocks. 2) Each shape must stack on top and be smaller than the shape below (no overhanging blocks) 3) The total height must be 100 mm or less (but greater than 80mm) 4) the base must be 35mm x 35mm

When I introduced the project I said we would use the Engineering Design Process  (Ask, Imagine, Plan, Create, Improve).  I explained the constraints and let them ask questions. They would need a written plan of their design with a bit of pseudocode* before I would let them on the computers.

(*I used the word pseudocode and one student thought I said Sudoku.)

Drawing from the Center

Next, I explained a bit about how the beetle draws the shapes from the center.  This is the big concept for this project.  They would calculate the center height, move the beetle, draw the cuboid, move to the center of the next cuboid, etc.   I modeled an example of a plan and pseudocode on graph paper:

OLYMPUS DIGITAL CAMERA

Pseudocode on the left, block tower start on the right, z height line in the middle.

One thing I learned was drawing the model in 3d wasn’t necessary, in fact, it was probably confusing.   The students’ models were easier for all of us to understand if they drew them in 2d and just concentrated on z height and moving the beetle to the center of the next cuboid.

We spent the rest of the class period working on their plans. One student was going to use a repeat block and make a tower of all the same blocks, so I had to change the constraints to specify 5 *different* cuboids.  A number of students were stuck on the calculations from the center.  I suggested they move to the center, draw, move to the top, move to the next center, draw, etc, breaking the problem up into smaller parts.

The next time we met I reviewed BeetleBlocks coding and suggested they use Wireframe to see inside and the beetle at the center of their block.  BeetleBlocks also displays Position (the 3-d coordinates) of the beetle, so they know the z-height.

Screen Shot 2018-05-28 at 9.36.18 AM

Partially coded tower and wireframe displaying beetle at the center of the upper cuboid.

If they were happy with their paper plan they could go right to BeetleBlocks. About half the class finished their coding by the end of the class and I’m busy printing towers on our little Printrbot Play.  Another thing to note is that the minimum size of the cuboids should be 3 mm for ease of printing.

A few of them will need improving before theirs will be printed.  I noticed a few cases where the blocks were nested not stacked on top of each other.  This tells me the student is not coding z-height correctly, which is the concept I am trying to teach, beyond calculating centers of cuboids.

Screen Shot 2018-05-28 at 9.47.36 AM

Nested blocks showing me the student hasn’t coded z-height correctly.

Set versus Move (Change)

There are two different ways to code the beetle to change z height.  One way to set the beetle to a specific z coordinate and the other is to move or change z by a certain amount.  These are two different perspectives to use and I let them choose which way makes more sense to them.  Set versus change statements can be confusing when programming and cause unexpected results.  Here we can look at the model using the wireframe setting and see what is happening.

One student is making a pyramid of blocks, each block 1 mm smaller (width, length) and 2 mm in height than the previous.  He is hard coding each block.  I’m going to suggest he use a repeat block and a variable.

Screen Shot 2018-05-28 at 9.53.41 AM

Code suggestions on the left for the pyramid making tower code on the right.

This project is turning out well and I’m learning a lot along with the students. I can print each one in less than 2 hours by setting the infill to 10% and cranking up the speed.

I’m surprised no one has created a double tower or thought to rotate on the z-axis to give the tower a bit of twist.  Dare I suggest these things?