2020 Winter Carnival Remix

I led two coding sessions at the middle school for their Winter Carnival again this year. I had a new collaborating teacher this time and we were in the computer lab on desktops (instead of Chromebooks).  We had a variety of ability levels and grades in attendance.  Some were brand new to Scratch and others were part of the middle school’s code club.  That’s another new thing at the middle school. Some of my former elementary Code Club members started a code club this year that happens once a week during one of their study halls. (Super proud of them for advocating for themselves)

I wanted to offer different projects than last year but projects that would still be interesting to both beginners and more advanced coders.  We settled on Flappy Parrot and Pong.  I am also really interested in Text-to-Speech and Computer Poetry Generation and my collaborating teacher is excited about Makey-Makey devices.  So we offered both of those as well although none of the middle schoolers decided to work on those types of projects.

I set up a studio in my teacher account and added a few starter projects prior to Winter Carnival. During each session, I collected the students’ Scratch usernames to add them as curators.  This didn’t always work out as some were creating accounts on the spot and then never received an email verification.  I think the issue is on our district’s end and not Scratch’s.  I think some students’ emails are locked down more than others.

Screen Shot 2020-02-16 at 1.17.03 PM

Toad Dash example Flappy Parrot/Geometry Dash project

Screen Shot 2020-02-16 at 1.19.08 PM

Co-teacher’s Flappy Parrot example – gradually gets harder

For those who couldn’t get their new Scratch accounts to work, we downloaded their completed Scratch 3 project to the desktop and uploaded it through my teacher account.  Once their account is activated, they’ll be able to remix it into their own account, if interested.  This is one of those technical issues that you have to work out on the fly.  I also opened the studio to accept projects from anyone temporarily.  It turns out that unconfirmed Scratch accounts can’t “share” projects.  This is not a bad policy.

I was really nervous about coding with the middle schoolers again. I’m not with them on a day-to-day basis to understand what they like. I know a lot of them but I don’t know what they are learning in their code club.  One name on the roster was a student I’d recently seen write Python code in real-time, and in front of an audience, that simulated a ball bouncing. (I know it was rehearsed performance and she had a partner, but still super impressive… Would flappy parrot or my other intro projects interest her?)

The kids were great.  They brought their creativity, enthusiasm and worked hard.  They were kind.  They helped each other and enjoyed themselves.  I had a good time with them and enjoyed seeing what they were interested in. They created impressive projects and were willing to share them with the group.  I made sure there was time at the end of each session to enjoy (play, comment & like) each other’s projects.  All but one were willing to put their “work in progress” out into the world for others to play.  Very impressive and brave for middle school kids.

During the first session, one new-to-Scratch student was looking for inspiration so I helped him add a picture of a bag of Skittles as a Sprite to his project.  I stayed to help him make the Skittles bounce around the screen.  I came back to see he had a bunch of Skittle bags bouncing around the screen.  I asked if he wanted to make a game where you have to avoid the bags of Skittles and offered him the project instructions for Space Junk. Later I showed him how to have the Skittle bags come in at staggered times to simulate increasing levels of difficulty. The longer you stay alive, the more Skittles bags are zooming around after you. Then he wanted to add a coin to collect for a score, or in this case a “Skittle”.

Screen Shot 2020-02-16 at 1.55.07 PM

Skittles Escape became one of the more popular games of the day and it was made by a first-time coder.

This game of his, Skittles Escape, garnered much attention in the first session and was remixed a few times in the second session. Well done, first-time Scratcher!

Remixed Skittles Escape projects:

Some other notable projects:

 

And this cool take on flappy parrot:

Screen Shot 2020-02-16 at 2.09.51 PM

All of the creative projects are in this studio 2020 LMS Winter Carnival. They represent the individuality of the coders who made them.  I hope I can return next year to facilitate creative coding again.

Winter Embedded

During Hour of Code week 2019, I was able to teach all four second-grade classes an introductory Scratch lesson. They were really into it and we had a great time. By the end of the week, they had created 61 new Scratch projects for sharing (in this studio). I had them create a Winter themed, interactive project similar to the one in my We Love Winter post.  The goal was to have 4 Sprites do something when you click on them and one Sprite that introduces the project and gives directions.

Screen Shot 2019-12-30 at 10.01.05 PM.png

The next week they reflected on their projects and got a chance to play each other’s interactive projects, and we added them into the digital portfolios.  For this lesson, I had them find their own game in our studio, play it and then write their reflection.  Once their reflection was done, I gave them an Hour of Code certificate and then let them play their peers’ games for the rest of the period.

I really enjoyed reading their reflections before we added them to their digital portfolios.

Screen Shot 2019-12-30 at 9.35.54 PMScreen Shot 2019-12-30 at 9.34.56 PM

Even the adults enjoyed working with the students on this project.

Although we are still using the Scratch 2.0 offline app in my computer lab, the projects all converted well to Scratch 3.0 online to share.  Once online, I found that that the Copy link button on the website offers HTML code for an easy way to embed the student projects into their Google sites based digital portfolios!  Embedding their project is even slicker than linking the address.

Screen Shot 2019-12-30 at 9.54.59 PM

 

3d Printing Club

I have wanted to run a 3d printing club for middle schoolers for a while now (since I discovered BeetleBlocks).  I specifically wanted to have a 3d printing club where we focused on jewelry making in hopes of getting MS girls interested in STEM. I have a 3d printing business and sell my 3d printed jewelry on Etsy and at the Lebanon Farmer’s Market. I see many of my students at the market and know that 3d printing jewelry might be the hook to get more girls interested in 3d printing.

Screen Shot 2019-07-17 at 9.10.43 AM

My earring design ready for sale – a shared project on BeetleBlocks

Yesterday my dream of having a 3d printing club became a reality at the Lebanon Public library and with the collaboration of two librarians. We were able to borrow two 3d printers from libraries around New Hampshire and schedule a couple of summer sessions.  We met a week prior to the first session, when we had the printers, to make sure we could run them and change the filaments, etc.  We have an Ultimaker 2 Go and a MakerBot Replicator.  This is a bit complicated as they take different size filaments and use different programs to prepare the models.  We have some jewelry findings and different color filaments – silver, gold, bronze in 1.75 mm for the MakerBot and blue in 3 mm for the Ultimaker.

We were hoping to get 3 printers and have 3 students per printer for a group of 9, but only 5 had signed up so we opted to go with just 2 printers as the third was at a library on the other side of the state.  When I got there on Monday, there were 9 students.  The librarians had decided to let the drop-in students stay and I was fine with that.

Screen Shot 2019-07-17 at 9.14.52 AM

My notes for my intro to the 3d design & printing process.

After a brief introduction where I wanted to make sure that they understood 3d printing was an iterative process not unlike the engineering design process, I showed them a jar full of bad prints from my jewelry printing business.  Then we got started.

Screen Shot 2019-07-17 at 9.09.47 AM

For the first of the two sessions, I introduced BeetleBlocks and we created simple rings by measuring and using a tube shape (Here’s my video tutorial). In just three lines of code, the rings were created and we were able to have them export and save to a flash drive/sd card.  We loaded half onto one printer and half onto the other and started printing them. Rings take about 5-9 minutes each.  The goal was to have something to take home by the end of the session. Then during the week they could drop in and print another, bigger, individual print like a pendant or a pair of earrings, etc.. The librarians had a list of times when they would be available during the week to help the students print another ring or a pendant.  I thought this would alleviate the problem of having enough class time to get everything printed.

I created a second video tutorial on how to code a pendant or earring from a squiggle. There wasn’t time to go over the whole tutorial during the session and anyway students were busy exploring BeetleBlocks: adding their names to the rings, looking at community projects, playing with extrusions and other shapes. While some just wanted to watch the printers for a while.

Screen Shot 2019-07-17 at 9.09.02 AM

Extrusion pendant by a middle school coder

Next week we are going to explore TinkerCAD as another application that I know that makes it easy to create 3d designs.

Music and Art Projects

My 11th 4th-grade Code Club Showcase is coming up this week. Eleven of 13 projects are ready to go. The last two are showing good progress, so I’m not too worried. I’m seeing the usual variety of virtual pets, flappy bird, pong, quizzes, soccer, chatbot projects, etc. (and yay, no “try not to laugh” games). This current group of projects represents a lot of creativity and effort and we are going to have a great Showcase. There are also two unusual projects that I haven’t seen before.  One is a music quiz and the other a color-by-number game.

The music quiz is very creative and I love it.  This student created his own music and asks the user to identify his songs by name. You can practice by listening to the music he has created before you take the quiz.

Screen Shot 2019-05-13 at 9.47.00 PM

Click the buttons to preview the music before taking the quiz.

I imagined he would code the music with the Scratch music blocks, or want to bootleg popular songs.  Instead, he used Chrome Music Lab’s Song Maker to write his own songs.  I had been experimenting with Chrome Music Lab earlier this year and was excited to see that this was his app of choice to create music.

Screen Shot 2019-05-13 at 9.50.48 PM

Chrome Music Lab’s Song Maker example

The biggest problem we ran into was there is no way to save or record directly from Song Maker. I researched some other ways to record sounds from a website but the simplest we found was to plug in our microphone, start recording in Scratch and then hit the playback button from Song Maker. We made a few poor recordings from the low-quality computer speakers and noisy room and I wasn’t sure he was going to be happy with the results or that it would even be enjoyable to listen to and take his quiz.

Screen Shot 2019-05-12 at 8.25.44 AM

Mr. Songs Alot project

For the final song recording, I let him record in the quieter room adjacent to the computer lab.  It turned out pretty well.  He even gave it a cool name: Mr. Songs Alot.  I hope he gets some good feedback and more students decide to try a game like this.

The other unique project was the Color-by-Number project. I’ve had students create a painting game with the Paint Box project, but not a paint-by-number type project.  I let them work on it a while but it became clear they had no idea how to code it to make the paint appear. So I went looking and I found an example of a paint-by-number project on Scratch that they could examine and learn how someone else coded it.  This is a great way to learn new techniques and algorithms in computer programming.  Software writers are great at this-trying to solve their own problems by looking at someone else’s examples- it is kind of why/how Stack Overflow came to exist.

Screen Shot 2019-05-13 at 7.31.35 PM

Paint by number project

Even after they looked at it, I don’t think they understood that they had to create themselves the illusion using different Sprite costumes to make the color fill in (or they just forgot from one week to the next).

Screen Shot 2019-05-14 at 6.53.06 PM

The “magic” of the paint by number is 2 different costumes for the coloring illusion.

The example had 2 costumes for each different color. One with color and one with the number in it.  When you dragged the paint bucket over the Sprite and clicked, the Sprite went from the number on it to the colored one and the paint bucket goes from filled to empty.    One team member was making the “coloring page” and the other coding the paint buckets. The “coloring page” maker kept making the pages on the Stage while I kept reminding them about the example I gave them.

I worked with the paint bucket coder and we tweaked some of his code so that it is a good project even if it is only one picture to color.

We had some issues with paint buckets when they start on top of the Sprite they were going to color and instantly coloring them in when the green flag is clicked. Also, keeping the “coloring page” Sprites on the visual layer under the buckets was tricky.  I couldn’t find the Scratch 2.0 option to make a Sprite not draggable by the user.  I might have to explore this type of project to see if I can make it into a learning project for one of my groups.

The showcase is tomorrow!!!

Update:  I found out that Song Maker has added a save feature so we can now download a wav file and import into Scratch. This is great.

Snack Discussion

I’ve started my eleventh 4th-grade after school Code Club session. We’ve met three times and things are going well, but I’ve neglected to blog.  I’m using the same club format and the same projects I’ve blogged about before, so there was really not much to write about.  After this week’s session, though, I found I have something to share.

Screen Shot 2019-03-16 at 9.24.16 AM

Week 2 project: Maze game by a 4th-grade code club member

Code Club starts right after school – literally, the last bell rings and the students walk from their classroom to the computer lab. We start by circling up the chairs and having a meeting time where I take attendance, talk about what project we are going to do, and have a snack. (Snacks are provided by members who volunteer to bring something to share with everyone.)

Since we can’t eat while coding on the computers (school policy and good rule in general), I use this beginning time to talk about computer science, my coding objective for the day, etc.  This group is a very easy-to-manage and attentive group so I have made an effort to start a snack discussion to fill this time. Their thoughts and ideas are helping me craft the club to fit their needs.

IMG_0744

This first day I asked them what their favorite computer/video game was. Their favorite games ranged from themed games like Harry Potter to popular MMO games like battle royale type games.   No real surprise there.

The second week I asked them what types of games or projects they wanted to learn to make. I wrote down their list of ideas.  There weren’t many surprises, but I do have a number of girls who want to make a virtual pet style game, so I’ve added that to the learning projects I will present to them.

This week I asked them what they thought was the hardest part of coding. This was exciting because many of them felt comfortable enough to share their concerns.  I listened and affirmed that all of these were difficult parts.

I have a volunteer, who is a middle school math teacher, and she shared her concern that the hardest part for her was when a student asked for help but only said, “this isn’t working”.  It is true, that it is difficult to figure out what is not working in code at first glance. It would be helpful for the students to explain what they were hoping would happen and what was actually happening in their code.

Some of the other parts they thought difficult were:

  1. finding the code blocks they were looking for.  (I have to remember that they are very new to Scratch.)
  2. using the costume editor. (Another student gave some tips on this – like switching out of vector mode to draw. I thought it was great that they are helping each other.)
  3. coming up with the design of the project they want to make. (I affirmed this was a difficult part. A good design plan makes the rest of the project go smoothly. For some games, the design phase takes 50% of the total time from start to finish.  I also told them that when designing their game, they would fill out a Game Design Document to help them make those design decisions.)
  4. finishing the project/ getting the project to match their expectations. (Wow, these are insightful kids.  Yes, I told them that I and the volunteers would help them manage their project.  First by making sure it was a project that could be done and second, by helping make a plan for them to get it done in time.)

The snack discussion has become a favorite part of Code Club for me.  I hope I can come up with more good prompts.  Maybe I’ll ask about getting unstuck next.

I am also enjoying teaching them to code and playing some of their creative projects, too.  Here are a few screenshots.

Screen Shot 2019-03-16 at 9.23.56 AM

Week 3 project: Quiz-type Chatbot by 4th-grade Code Club Member

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.

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?