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.

Advertisements

Superpower Challenge

Monday was the last meeting of the library code club for the year. It was one of those rare warm and sunny New England Spring days and consequently, we had a small group of six.

I went through all of the different projects we worked on over the school year by looking at the projects in the class studios since October.

October: Animated name/Random stuff about me

November: Pong or Catch

December: Christmas Present game or snowball fight game

January: Scratch 3.0/ Year 3000 and text-to-speech

February: Video sensing

March: more video sensing (by popular demand), timers & timing

April: Finite state machine/ Green up your city

For May, I was going to let them revisit one of their creations from the last year and finish or improve it. This is something they ask for when they leave each month. They ask me if they can work on the same project next time. I’m not convinced that they would have the same passion for a project a month later. Still, it is a good idea to look back and reflect on the projects of the past year.

Meanwhile, an email from Code Club USA came and mentioned their Superpower Activate challenge. That sounded fun to me. Superpowers don’t have to be like in the comic books, they can be simple, like being a good friend, helping people, coding, being a team player, quoting movies, or not getting caught with gum in math class.  I came up with this one for me.

Screen Shot 2019-05-07 at 8.29.50 PM

I wasn’t sure how the superpower prompt would go over, but they seemed excited about it after I presented it and showed them my project. I was sure one student was going to work on a previous project, but later I saw him putting together an awesome superpower project.  Four of them made superpower projects to share in our May studio.

One improved a prior project and turned it into her superpower project and one student created a new project about riddles – which might be his superpower.  We were certainly stumped by his riddles.

Screen Shot 2019-05-07 at 8.42.16 PM

I really enjoy leading this group of creative, middle school coders.  We have a small core of coders who have come each month over the last two year and we often have first-time Scratchers as well.  This makes it complicated to find projects so that everyone can be challenged and successful. The creative prompts and projects I find from the Scratch community, Code Club, & Scratch Design Studio have really been engaging.  They have been designed, as Mitch Resnick says, with low floors, high ceilings, and wide walls.

Finite State Machine

My monthly middle school library code club met this week on April Fools Day.  I thought it would be fun to make a joke or prank project but I wanted to give some boundaries to the students, too. I was a little bit worried that we might end up with some inappropriate projects.

I kept thinking about one project that a middle school student made during the Winter Carnival coding sessions.  In addition to his animation, he had a simple button on the screen that said: “Don’t press”. Of course, users are going to press it.  Pressing it made a really annoying and alarming sound. I thought this type of project would make a great April Fools project for my group.

When I started to make my own version of the “Do Not Press” project,

I realized that I wanted different things to happen: first one thing would happen, then something else, and so on. Each time you pressed the button something new would happen. I would need a way to check how many times the button had been pressed and use that to decide what would happen. I needed a finite state machine (at least a very simple one).

Screen Shot 2019-04-03 at 9.58.31 PM

A finite state machine, FSM, is a basic computer science concept for controlling the logic of a program. The concepts center around keeping track of the state and what it takes to move between different states. This example is the simplest form of FSM. Now I had a lesson to teach the students and a fun prank project for them to make, too.

Using a single variable to keep track of the state of the project can come in handy for many types of projects. I had a couple of the coders in my mind who would find learning this concept useful in the programming they like to do.

The coders did find the project fun.  A few of them expanded on my starter project and a few them took the concept and used it in their own original way.

I only wish I had not made the final state check “if state > 3” but “if state = 4” in my example.  That would have made it easier for the coders to add on more states.

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

Timing & Video Sensing

Last week at Creative Coders Club we played with video sensing in Scratch 3.0. It was a ton of fun.

I originally wanted to teach the students some new coding techniques to add to their skill set and thought about introducing using timing and timers.  Adding the wait time block to music or animation can produce powerful effects.  Also, adding a count down timer in a game can make it more thrilling.  I remember having a Getting Unstuck challenge in this theme of using time-related sensing blocks. Here are the examples I presented to the students:

Screen Shot 2019-02-14 at 7.22.42 PM

Learning project from YoungHacks which shows a bunch of uses of timing blocks

Reaction Timer

Allenqin22’s project uses Cloud variables – another thing I need to introduce to my coders.

 

I also thought this reaction timer example would interest the middle schoolers.

 

 

While I was looking for examples, I found this featured project, called Excuse Generator, which the students did enjoy looking at. It was not related to any ideas I was presenting, but it was such a cool project by a new Scratcher I had to share!

Screen Shot 2019-02-14 at 7.15.42 PM

Scratcher Rose-Pearl’s Excuse Generator

The biggest hit turned out to be the video sensing extension.  I knew it would be a great fit for this group when I found the Scratch Team’s Save the Minifigs project. This group would love creating something like that.   My co-leader Kathy agreed.  She found and printed the Scratch video sensing cards for the group.  Since we use Chromebooks, we had easy access to webcams.

We had some technical trouble with the Wifi, not related to Scratch and students had to work in pairs while we worked on getting more computers up and running. In the end, the students didn’t feel like they had enough time to work on this topic so we will revisit video sensing next month.

Here’s what they were able to accomplish.

Screen Shot 2019-02-14 at 7.44.21 PM

Catness – pet the cat and get some strange effects.

(I was going to add more pictures but who wants to see my face multiple times? Just go to the studio link above and check them out.)

One funny note: As I was circulating around to help students, I would inadvertently cross through the webcam’s view of someone’s project and cause all sorts of havoc.  I would also misinterpret someone waving as someone needing help and zip around – through the webcam’s view of others, only to find they were just testing video sensing.  We meet in a library conference room with windows to the main area. I imagined we looked strange with all the arm-waving going on.

I can’t wait to continue with this next month.

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.

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.