Computer Science is one of those subjects that doesn’t have a “one best way” to teach. Of course, all of us that teach it have our thoughts on what works and what doesn’t. And since it’s a subject where most of us are capable of creating our own tools for teaching, there are a lot of tools out there. For me, Jeroo is one of those tools.
For the past few years in CompSci AP-A I’ve been using an environment called Jeroo for the first couple of weeks of class. Ultimately we’ll be in Java for most of the year, but Java can be overwhelming for students who have never coded before.
When you first start coding, it’s hare to wrap your head around what the code is doing. With Jeroo we’re able to write code and then see the Jeroos move around on screen immediately. Students see immediately if their logic is right or if it needs a little touch up.
Even better, Jeroo highlights the code as it runs so students know exactly what it’s doing and when it’s doing it.
Students like telling stories. Heck, everybody likes stories. It’s fun to be creative.
In Jeroo we’re able to make labs that have a back story. One of the labs that we’ve done in the past is a Romeo and Juliet lab. You instantiate two Jeroos with one flower each and they have to keep moving until they stop on a bridge. Once both Jeroos are next to each other, they give each other their flower.
A few years ago I got called out in class by a student because that’s not how Romeo and Juliet is supposed to end. So he took that lab and finished the story. After they trade flowers (get married) they turn and jump into the water. A little dark, for sure. But he was able to finish the story with a couple lines of code.
It’s Very Limited
A bit counter intuitive, but Jeroo has a very limited language which has two advantages.
First, it’s easy to overwhelm students with a complicated language. Even something drag and drop like Alice or Scratch has enough commands that students can blank out. A Jeroo is a dumb little animal that only knows how to do about a dozen things. Once you know those dozen commands, you’re a Jeroo expert.
And the limitations help push students towards Java. It doesn’t take long until students start realizing that they should be able to make the computer do things like repeat a set number of times. That’s something that pretty much any programming language can handle, but not Jeroo.
What’s it look like?
You’ve made it this far… have a video. This is the demo solution for one of the labs that we’re working on in class.
The little blue arrow is a Jeroo. I usually name mine Bob. His job is to pick all of the flowers and plant flowers in the empty spots.
For the lab students create an algorithm – a word we haven’t defined yet – to get their Jeroo to flip the flowers. The catch is, they need the same code to work with multiple maps. Using loops and ifs they have to have their Jeroo decide when she should turn or when she should go forward and when they should pick or plant a flower. It’s something that sounds simple, but really gets the hamster wheels spinning to get it working.
How are the results?
I’ve used Jeroo for the first 6-8 days for the past few years and results have been very good. Students have been able to jump right in and get things working.
What I’ve found is that I’m able to go back and reference Jeroo later in the year. I catch myself saying “remember how in Jeroo…” often.
And I’ve been surprised how quickly students get through the Jeroo labs. I typically through out about 15 labs for 8 days, not expecting most students to get more than about half. But about half of the students have been able to get all 15.