Puzzles for 6th & 7th Grade

Hi, middle school teachers!

Over the past months we’ve been working hard on materials supporting the new middle-school CS curriculum for the German state of Baden-Württemberg. School is about to start next week, so we’d love to share parts of the things we’ve developed to gather your feedback and find any issues you encounter.

The whole materials package, including lots of write-ups, work-sheets, pacing-guides etc. can be found over at our dedicated website https://snap.schule - but beware - it’s all in German. Therefore I’d like to share here - only - English versions of the Snap! puzzles we’ve developed for 6th and 7th grade so far, hoping that you might find these fun and even useful for your classes.

A little bit of background: Baden-Württemberg introduces mandatory CS for all classes and schools starting in 5th grade. The curriculum framework is still unpublished, so we went with the preview materials we got from the ministry. It’s half CS and half “media education”, and - to our dismay - the two parts aren’t well aligned, but mostly separated from each other. The CS part is disappointingly unambitious. For example, we’re not allowed to introduce variables or lists until 8th grade, we’re not allowed to introduce expressions and conditionals until 7th grade, and the curriculum framework requires students to work on loads of pencil-and-paper exercises converting letters into binary representations of ASCII (yes, you read that right) and so forth. Also, we’re supposed to treat teachers as if they don’t know the beginnings of anything, have never used a programming language, never ever seen Scratch, and can’t be bothered to prepare their lessons. Oh, and above all, these mandatory classes are only about a single or two periods per week, and before they even learn the word “function”, “variable” or “list” in 8th grade they are required to switch from Snap over to Python, because - you know - for “real” and “advanced” computing you need a “real” textual programming language.

Y’all know me, I told them to go f… ind themselves some other masochists, but Jadga was adamant we try to give them what they want to give both the teachers and the students a good experience in their first programming steps. So that, even after they’re required to switch over to Python in 8th grade and above, they will come back to Snap! for the interesting things that Snap! is really good at.

Okay, enough ramblings, here are the puzzles I’d like to share with y’all:

6th Grade

  1. Virtual Flower Field - Command, Sequence, Loop (by Jadga)
  2. Digital Greeting Card - Command, Squence, Loop (by Jadga)
  3. Puppet Simulation - Command Sequence, Loop (by Jens)

7th Grade

  1. Bauhaus - Expression (by Jens)
  2. Interactive Painting - Conditional, Expression (by Jens)
  3. Catch the Mouse - Nested Expression, Conditional Loop, AI, AR (by Jens)
  4. Whistle Draw - Encoding, Decoding, Nested Expression, Conditional (by Jens)
  5. Shooting Gallery - Expression, Event, Object, AI, AR (by Jens)
  6. Escape the Maze - Concurrency, Conditional, Event (by Jens)

In addition to these puzzles we’ve also made Snap! “language levels” for each grade, hiding all the blocks whose concepts aren’t covered by the curriculum at that time.

You can see that as we’ve been working on the online tutorials for each puzzle, we’ve tried to gather our experience and make making such tutorials easier, not just for us, but also for educators who want to contribute their own. Our current state is this template that we’d also like to share, if you’re curious how you can build your own embedded tutorial:

Tutorial Template

There will be more puzzles coming up for 5th and 7th grade, before we move on to 8th during the school year.

Please let us know if you encounter any roadblocks in these puzzles, or if you hate them so much that you think we shouldn’t put them into the hands of students :)

Thank you!

Geez, they think it’s easier to program without variables? I was wondering why there wasn’t a variables tab in the 5th grade one; should have known it’s because of a government.

even in 7th grade. No variables, no lists, no custom blocks, only simple expressions “without and with operators”.

What ages do these grades equate to?

In the UK, Year 6 would be aged 10 -11 - what is the equivalent grade over with you?

I was looking for something AI in the Catch the Mouse one, and I suppose it uses an AI to find the features of the hand and face (although also it looks like plain old algorithmic programming when it does things like measuring the difference in height of the left and right eyes to determine head tilt). But the AI-using blocks are all hidden! What is it teaching kids about AI? The program instructions just say to use a custom when block without any explanation.

(I’m assuming this is the fault of the government, not your fault, but I’m not asking to attack anyone; I really want to know what you’re supposed to teach these kids about AI.)

AI doesn’t exist in the brand new curriculum framework. At all. No mention of it, neither the CS part, nor the “media education” side of it. I simply put in some computer vision / body language gimmicks to make the puzzles more engaging and fun. And I’m hoping that in doing so I’ll instill some curiosity about how this is working, which we do want to offer in higher grades.

(same as I’ve snuck in building your own reporter block in “Bauhaus” and a variable for keeping score in “Catch the Mouse”)

Yeah the Bauhaus one is very much like the SICP picture language in chapter 2.

Image composition would be such a fantastic opportunity to introduce MAP and COMBINE, though. It’s such a wasted opportunity, I can hardly stand it. I’ll definitely re-use the shapes library and a similar puzzle for that in an upper class.