Star Wars and a Rogue

May the 4th was this week. This week had the first Monday of May.  The first Monday of May is when my library code club meets.  I was thinking of setting up a Scratch Day project for them, but it was May-the-4th, so obviously I pivoted to a Star Wars theme.

Screen Shot 2020-05-06 at 7.14.39 PM

One of a few Star Wars day studios

Finding Star Wars-themed projects was not hard.  There are a few studios with over 100 projects in them.  A lot of these are fan artwork.  There are some incredible artists in the Scratch community.

I found a project with just a color-changing lightsaber that I thought would make a great starter for a wide range of creative ideas.  I found another project where some standard Scratch Sprites (Gobo, Pico, Nano) have been transformed into Star Wars characters.  Great starter for a Chatbot.  I also imagined a Kessel run maze game would make a nice option for my Creative Coders.

I came across this Mandalorian translator which I thought was a great idea.  (If only there was a Google translate for Star Wars languages.  Isn’t there one for Klingon?) I helped the coder out with a suggestion to make it better and got a generous “DUDE thanks” in return.

I put these all together in a class studio and was ready for our virtual club meeting.

Screen Shot 2020-05-06 at 7.29.34 PM**What’s with the new changes to class studios with class passwords?  I can’t find documentation on how it looks from the student’s view or how to explain this to students.  Also, now that I have more than 20 studios in my class I have a hard time adding projects to studios while looking at a project.  Now  I must save and favorite projects then go to the studio and add projects that I’ve favorited.**  

My library code club was a small group but I was happy to see them and show them the projects I had curated for them.  They seemed to have ideas of what they wanted to create. It’s still weird to send them off to code and just hope they don’t get stuck or get frustrated and not continue.  I told them I would be around coding as well and if they needed help to share their project and comment and I would try to respond quickly.  They each did a project and shared it.  They riffed on my starter of Luke’s saber practice.  One added scoring and another changed it into a pong game.  Which is a great idea.  Meanwhile, I worked to improve my Kessel run project (though it is not great yet).

Screen Shot 2020-05-06 at 7.42.55 PM

Luke’s saber practice project

I had so much fun that I decided to present the same projects to Wednesday’s school code club.  That’s where the rogue part comes in.

Last Friday during a virtual math meeting that had been canceled but no one told me, I hosted a couple of other students who hadn’t got the memo from their parents.  A pair of us started to talk shop about Code Club and I invited one of the other math students to join.  He had been on the code club waiting list and is becoming quite the techno wiz – gifs, crazy characters, Roblox, etc. during this #stayathome remote learning time. He accepted and proceeded to jump fully into the Scratch community.

On Monday he invited me to curate a studio he had set up. He has also found a couple of the other active online Scratchers in the club and now the three of them are the CEOs of the studio (uh, uber-curators?  I was invited, too, but not promoted to CEO).  They are adding projects they are making, commenting on and liking each other’s projects, and asking each other for help. My rogue Code Club member has created 7 projects in 5 days! IT IS AMAZING! Together they have compiled their self-created cool maze games, Zelda themed animations, random works of art, and other amusing projects.  I could not be happier that they have found their own spot together within the Scratch community.  I’m looking at it as a bright spot in this time of social distancing that they have found a community.

I read the profile of one of my other students and it said he’s only 9 but wants to still be a Scratcher when he is 50. So sweet.

 

One last note.  I had the idea to make a Zoom chat from the Star Wars morphed Scratch Sprites, then I found this Sprite Zoom project – it is hilarious!  I shared it with my math class on Zoom today.  We could all relate so much!!!

Screen Shot 2020-05-06 at 9.14.07 PM

Ready to become a Star Wars Zoom meeting

I don’t think I could match that with my Star War Zoom plans.  I hope one of my students gives it a remix.

12th Code Club Starts

I started my 12th session of 4th-grade Code Club last week.  Just like last year, we are going to start off with Snack Discussion. During this first meeting I went over my expectations, rules, and plans for our future meetings:

Meeting # Meeting topic outline
1 First meeting – Rules & goals, intro to Scratch
Ist learning project
3 2nd learning project
4 3rd learning project
5 4th learning project, begin designing your own project
6 Design review
7 Begin individual/pair project
8 Continue work on individual projects
9 Finish work on projects
10 Showcase of projects – Parents invited!

Then I asked them what their goals for Code Club were.  What did they want to learn – because I can present lessons that help them meet their goals.

IMG_2353

What my Code Club wants to learn to make with Scratch

For some, they just want to learn to make Sprites move around using the arrow keys. Others want to make something like a Fortnite or Surviv.io Battle Royale game.  I told them I wouldn’t allow any first-person shooters and I have a general ban on weapons (although I have made the occasional exception for a toilet paper cannon, and a laser gun for shooting blobs).  My 7th-grade helper helped me out by describing the work it would take to “code” the whole landscape of Surviv.io Battle Royale and generally expressing his opinion that it would take too much work to do something of that scale.

I have two former Code Club members as helpers in this session.  I sent out an email last month to the Tech Integrator and other STEM teachers at the high school looking for a possible high school volunteer for Code Club. When I didn’t hear anything, I sent some emails to my first Code Club parents.  Those students are now 9th graders, but I heard back that they are busy.  One younger brother (my 7th-grade helper I mentioned above) was willing to help out. Yay. He arrived (he is really tall now) and asked if it was the same format as when he was in Code Club.  Yep.  I haven’t changed much of the format.  He agreed that it worked as he enjoyed making his own project during the second half of the session.  A fifth-grader and Code Club member from last year also showed up to help.  Once I confirmed with one of his parents that he was allowed to stay, I had two helpers.

I usually start with a maze project or Chatbot.  I decided to start with a Chatbot.  I use Code Club world project directions and I like the first project to be an easy one so they can get used to the direction format. Whenever someone needed help, I’d make sure they had at least looked at the directions.

Other times when someone needed help, I’d have to encourage my helpers to jump in.  I think they had a good time and were helpful.  I heard them complain once about the coders not saving.  “You should save! Often.” I heard the 7th grader say.  I think the students were deleting the whole Sprite when they wanted to make a costume change rather than changing costumes from the costume tab.  I think I’m going to talk about the Sprites and their properties (and saving) next time.

I’m also going to introduce Space Junk as a learning project. It will meet their goals of learning to use arrow keys and the obstacle avoidance games. We are off to a good start.

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

 

Computational Thinking

I’m redesigning a coding unit in my New York Academy of Sciences STEM Education in the 21st century online course. I’m building off my Trick or Treat project and the Math Quiz game project that I have taught in the past, infusing the lessons with essential STEM skills like problem solving, critical thinking, and creativity.  The course is really helping me think about my learning objectives for the students. It is also helping me understand the importance of this types of activities – beyond that they are engaging for students.

Concurrent to the course, I’m actually running the unit in two math classes, co-teaching with the classroom teacher so I am able to fine tune the lessons and reflect on what went well or not so well.  Last week we finished up the Trick or Treat project (lesson 1 and 2) just before Halloween.  Here is the project instructions document: Public Trick or Treat instructions. One teacher expressed how organized the project was and how the handout made it easy for her to help students. (All this planning is paying off ) I also had a sample project that I modeled with and had the students brainstorm ideas for different actions when “trick” or when “treat” was selected.

I changed my handout for the next lesson when I heard that students felt they were getting out of learning because it was so much fun.  I wanted to make their learning visible to them.  They needed to know how much computational concepts and thinking they were actually doing. I came across the Creative Computing Curriculum Appendix on Computational Thinking and crafted this reflection page to help my students see what they were learning: Public Scratch: Reflecting on Learning  I went over all the concepts and we talked about how we had already used some of them and some we would use later.  We talked about the different practices, especially testing and debugging.  I was impressed with reflections they did.  I can see that they can identify the concepts and practices they are using as they learn to code.

Screen Shot 2019-11-03 at 6.20.13 PM

4th grader’s reflection

In addition, we spent time on testing and debugging.  I used this project to model how testing and debugging work (I even told the origin story of debugging) and I had a worksheet for them to fill out while testing.

Screen Shot 2019-11-03 at 6.22.55 PM

Reflection on revising

Screen Shot 2019-11-03 at 6.23.19 PM

This student knows how if-then-else blocks work!

Screen Shot 2019-11-03 at 6.24.20 PM

For 3rd grade I simplified it a bit, and still got awesomeness.

 

Screen Shot 2019-11-03 at 6.41.36 PM

 https://scratch.mit.edu/projects/340589577/

(I’m going to just hit send so this doesn’t end up like the numerous other draft posts I’ve written lately.)

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.

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