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.

LMS Winter Carnival

Last week I ran two coding sessions at the middle school for their Winter Carnival.  There are a wide variety of activities offered for the 5th- to 8th-grade students during the morning, divided into two 1.5 hours sessions. Options ranged from skiing, dancing, and ping-pong, to cookie decorating, tic-tac-toe, and D&D.  I was invited to offer Scratch coding.

My activity, Coding/Scratch, had this description: “Students will have the option to create a game, animation or pursue a passion project of their choice using Scratch 3.0 coding environment.”

Despite the unlimited options in the description, I wanted to offer some project guidance as I didn’t know the coding experience of those who would sign up. I decided on three projects from Code Club World that in my experience offer students the greatest creative choice coupled with step-by-step instructions.  The first option was Chatbot.  I’ve discussed how much I like this project before and with the added text-to-speech options in Scratch 3.0, I knew this would be a hit. The second option was a “clicker game” presented with Code Club World’s Ghostbusters project.  The third project was the “side-scrolling platform game” Flappy Parrot from Code Club World.  I feel any of these three projects can be accomplished in 1.5-hours with this age group.

In preparation, I went through and created starter versions of these projects. I also set up a Scratch studio for everyone to share their projects. Once the students were logged into Scratch (some had to make their own, new accounts), I invited them to be curators so they could add their projects to our group studio. This part required a bit of administrative time but it is not difficult and works well for everyone to have a single place to go to play each other’s projects. I feel it is important to carve out time to share and showcase what everyone has accomplished, knowing that we all had a limited amount of time and that the projects aren’t perfect or even finished.

About ten students signed up for each session but only one girl in each session.  One of the math teachers joined me- she is eager to learn Scratch and we work well together.  I knew more than half of the students and some of them were with me in past Code Clubs. I think the students had a good time. I definitely feel like we supported their ideas and creativity. I’d love to get feedback from them. I shared the project studio with the school administrators and they thanked me for participating.

Screen Shot 2019-02-22 at 3.13.51 PM

Chungus Run – a creative Flappy Parrot game – good instructions, too 

Some notes from the sessions:

  • Time management is key with short sessions – I posted our schedule – Intro 10min/ Plan 10min/ Code 55min/ Share 15min
  • The project guides were helpful even if only to get them started before they went off on coding tangents.
  • These students showed creative, flexible thinking. Scratch supported their creativity by making coding flexible to their ideas.
  • It is difficult to share something you know is incomplete.  I announced a time check at 15 minutes before we wanted to share, so no one was caught unaware.
Screen Shot 2019-02-22 at 3.17.30 PM

Fishie Click game – former 4th grade Code Club member

Coding projects are like art – they are never really “finished” or “perfect”.  They are “done” when you decide to stop working on them. – I said this to someone who was bemoaning the end of the coding time and another student laughed.  She clarified that she was an artist and understood that fact very well.

Screen Shot 2019-02-22 at 3.16.38 PM

The Majestic Bird – Well done and so annoying!

 

Fractions to Decimals

I created a Scratch lesson for my 7th grade math class this week. It is a starter project but I wanted the students to have a bit of practice with Scratch before we do a more complex math modeling project in November.

(First a bit of background – I’m student teaching middle school this fall and should have a 5-8 Math teacher certificate by the end of the year.  I’ll be back at my elementary computer lab position after that and I’ll run my code clubs in the winter.  I’m still leading Creative Coders Club at the local public library once a month.)

Screen Shot 2018-10-14 at 7.06.42 PM

The 7th graders have been learning about expressions with variables, integers and rational numbers. For this introductory project I had them create a fraction to decimal converter. Have the user give two integers and use division to give back the decimal.

Screen Shot 2018-10-14 at 7.04.17 PM

Basic code for project (with spelling errors).

I set up a Scratch teacher account with classes for the each section of 7th grade math then put the class invites into our Google Classroom.  This worked well since we were using Chromebooks.  I’m not sure how students who already have a Scratch account would be able to join our Scratch class, but the students seemed okay with making accounts.  I gave a few suggestions on setting up account names.  The only hiccup we had was when they went back to log in a second time, many went through the class invitation again and then couldn’t log in without setting up a second account. (I hope there is a way to remove those extra accounts.)  Adding a direct link to Scratch in our Google Classroom and giving clearer instructions alleviated this problem.

I set up a studio for each class but I gave them the exact same name.  This confused me later when adding projects to the studio I couldn’t tell which went with which class. Luckily you can easily change studio names.

Rational Number Period 1

Rational Number Period 4

After the first day of working on the project, I decided that I needed more formal assessment of this project so I adapted a rubric from the Scratch Ed one here and set up some test cases for the students to use to test their projects.  Testing is an important part of programming.

Students seems engaged and excited to be working in Scratch. I’m pleased with the turnout of completed projects and quality of the work.  There are some missing instructions and spelling issues but even I spelled denominator wrong in my example and a student had to point this out to me. A number of students came in during study hall to work on their projects.  One student who was new to Scratch and our school just had the biggest smile when he learned about the color and whirl effect options.

Screen Shot 2018-10-14 at 7.06.07 PM

New coder excited about Scratch

And one of our struggling students went above and beyond with her project.

Screen Shot 2018-10-14 at 7.05.16 PM

Excellent project

One issue I inadvertently avoided was the fact that Scratch will round decimals to two places in say blocks unless they are inside join blocks.  The Scratch Wiki mention of the Offline Decimal Trick  is the only reference I found in support of this feature.  Fortunately my directions were for student to use the join block to join “The answer is ” and the answer.  This allowed the students to see all of the interesting repeating decimals and weird rounding that appears from converting rational numbers into decimals. I didn’t notice this happenstance until I was helping some students finish at the last minute and we took a short cut for the last line and just put the answer in a say block. It took me a while to figure out what was going on.

Screen Shot 2018-10-14 at 7.03.23 PM

Without the join block, decimals are rounded to 2 places.

Here is the lesson I designed: Decimal Scratch Project If your students are really new to Scratch it might be advantageous to print the first page in color so the students can see where to find the blocks. (I guess I’ll have to update this when 3.0 is released.)

I wondered if any student would try to divide by zero.   Scratch will return the answer “Infinity” in this case which could lead to an interesting math discussion.

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.

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?

Presenting at Showcase #10

Today was my 10th Code Club Showcase. I am so proud of all my coders.

We had a variety of projects, most of them well put together.  It always amazes me when they come together.  I’m also amazed at the ease the students have to present to the parents. I don’t really give them a choice and they really come through.  Today was no exception and I got to see something wonderful happen.

During our snack, I went over how the Showcase would go.  The parents will be the guests and they get to sit at the computers and play the Scratch projects. Each student will present their own project for the parents.  They will pick someone to demonstrate the project (play the game) on the interactive whiteboard while they stand up front and present.  I have them fill out a half sheet of notes about the project, including how to play, the goal, their favorite part and how they would have made it better if they had had more time.  It is basically the same presentation notes from Showcase #2 with an added line for who will play the game while they are speaking.

I had only one team of two students, the rest were individual project makers. This duo created Yharmin Boss Battle (which breaks my “no weapons” rule, but that’s another post).

Screen Shot 2018-05-06 at 7.26.53 PM

The duo started as a pretty good team with equal effort but the coding was done mainly by one student and the other spent a good amount of time “off task”.  I really felt he wasn’t holding up his end of the project, but the project got done.  I noticed when they were filling out the presentation notes, this same student was leaving it up to his coding partner to do the presentation.  I told him they needed to divide up the presentation so that each of them would have things to say, much to his chagrin.  When it was their time to present and they were standing up front, the coding partner suddenly froze and couldn’t speak.  I could see his anxiety on his face and so could his parent. I told the non-coding partner that he would have to step up and present for the team.  He started to tell me that he couldn’t but realized his partner was not capable of presenting right then. I was so proud to see him step up and really come through for his partner.  He began their presentation and by the time he got to their favorite part and what they would have added if they had time, the coding partner had recovered and both of them were talking and sharing their wonderful project with us. Bravo!

At about this time I noticed another student hadn’t filled out his presentation notes, so I gave it back to him to fill out. He is a natural in public speaking and he probably didn’t need prompts, but it is good to have just in case.

 

Screen Shot 2018-05-06 at 7.07.12 PM

Falling Down Game

 

Sometimes it is the simple games that are the most fun and addictive.  Check out Falling Down Game and Geo Dash for this group’s takes on some classics.

And thank goodness for girls who code for they add the puppies and unicorns to brighten the showcase.