Guest post by Andrew from Match Next
We’ve tested three different programs this year to introduce our students to computer programming basics. First we tried Codecademy, which didn’t work so well because it got too hard too fast for our 4th graders. Then we tried Scratch, which was better than Codecademy, but was tough to use as a classroom tool because it didn’t do a great job scaffolding the programming concepts. Our students had no idea how to even start using it and ended up just watching videos of other people’s programs.
Tynker was our 3rd program. It’s a lot like Scratch, except it uses organized lesson plans to teach students about the programming concepts.
So what is Tynker and how do we rate it?
It’s a program designed to teach students basic computer programming skills without the use of coding language. In this way, it’s just like Scratch. The main difference, though, is that Tynker has lessons embedded into the program that scaffold the programming concepts. The lessons teach students how to use the design tools in the program by having them deliberately practice using these tools to solve various puzzles.
I’d rate Tynker an 8 out of 10. It’s great at introducing computational thinking to younger students without the burden of writing actual lines of code. The lessons seem to scaffold the program’s design tools pretty well, but there’s still a good amount of struggle the students have to go through to complete some of the tougher activities.
There was one main way that the program could’ve been more helpful, though - it didn’t force students to provide the ‘best’ answer, just the ‘right’ one. Students could get away with being inefficient and not using the blocks the way they were supposed to to be used.
How it works:
In Tynker’s lessons, students need to solve puzzles using programming language that’s similar to Scratch’s. They grab ‘blocks’ from a certain section of the page, then students need to click and drag those blocks towards the ‘Start’ block in the middle of the page. Tynker gives students a puzzle or a goal, which they then need to solve by utilizing the programming language. Here’s what one of the first activities looks like:
The objective of the activity above is to move Biff (the guy in the green space suit) enough spaces to retrieve his ray gun. Students need to click and drag ‘Run’ blocks from the left side of the page to the ‘On Start’ block in the project editor (middle of the page). The number of ‘Run’ blocks they need depends on the number of spaces Biff has to move. In the screen above, there’re two spaces between Biff and his gun, so the student needs two ‘Run’ blocks.
The first activity is really basic, and is designed to show students how to snap together the blocks which contain the commands (e.g. ‘Run’). Once students demonstrate proficiency with this type of simple activity, Tynker moves on to harder concepts. Here’s an example of the activity designed to introduce ‘loops,’ a computer programming concept where an action (or series of actions) is repeated a certain number of times:
Students can solve this puzzle two different ways - either using the ‘repeat’ block or without it. Here’s the solution for the student that doesn’t use the ‘repeat’ block, which is the least efficient solution:
While the student’s answer isn’t wrong, Tynker will hint towards a better solution by telling the students the fewest blocks it could take to solve the puzzle. Here’s what this looks like for the puzzle above:
Here’s what the most efficient solution to this particular puzzle looks like:
The harder stuff:
Sometimes the lessons got pretty tough for our students. A lot of them found this level super tricky:
In these cases, I gave the students strategies to help them solve the puzzles on their own. For this level, the only ‘hint’ I gave was to have students use a separate sheet of paper to write out the steps individually. Here’s what one student wrote:
On this page, the student actually wrote out each individual step needed to complete the lesson. He was able to see a pattern in his instructions, and he figured he could use the ‘repeat’ block to solve this puzzle.
In another activity, students can actually build a game by using all the available programming blocks. The program actually prompts the student about what features the game should include, and provides hints if necessary. Here’s what the prompt looks like:
As students create the game, Tynker will walk them through the process so they can really see how all the pieces work. Once they finish the game, they get a chance to see it in action.
Users also have the option to just create projects on their own, just like they would in Scratch. We purposefully had our students using the lessons so they could really practice how to put the blocks together to make something, but we’ll eventually start having them plan out and create their own projects.
How much are our 4th graders using it?
Early on, it varied. I discovered pretty early that kids get pretty puzzled out after about 30 minutes. The lessons are pretty taxing, especially the harder ones. Despite this, it was tough to find the time. I’d pull a few students that finished a math quiz or assignment early and try to squeeze in what I could get (usually anywhere from 5-20 minutes). Now, though, there’s a group of 12-15 students that are on Tynker twice a week for at least 40 minutes - we’re making a pretty concerted push to integrate it more.
The real puzzle for us is figuring out what to do next. I’m exploring options, like having students spending more time designing their own projects on Tynker or Scratch once they finish the lessons, to diving deeper into coding with actual syntax. This one’s TBD.
Small gripe with Tynker
Like I mentioned earlier, Tynker doesn’t force students to provide the most efficient answer. It allows answers that are technically correct, but much longer than they should be (i.e. inefficient). It’d be great if the program could be set to allow teachers to require efficient solutions. Even if the kid’s overall solution is correct, forcing her to rethink it in a more efficient way seems like a great way to ensure that students really learn how the various blocks/commands work. There’s a huge benefit to having them think about their solutions in a step-by-step manner, but getting them to see patterns, and really make use of tools like ‘loops’ and ‘conditionals,’ would be great for getting kids to the next level.
Next time: I’ll finally talk about Kickboard, the program we use to track academic progress and manage our school culture.
if you’d like to talk shop: firstname.lastname@example.org