Computer Science in Japan: Developing a Kid-Friendly Curriculum, Pushing Through Language Barriers

I’m sitting on the plane, coffee in hand, in a cup inscribed with characters I don’t recognize. I’m traveling in the domestic terminal of a Tokyo airport to a suburban Japanese city. The flight attendants are speaking in Japanese, and having never travelled out of the country before and not knowing the language, I’m freaking out (and apparently I had looked pretty out of place too; while waiting in the domestic terminal, me being the only non-Asian person in sight, a flight attendant personally came up to me and asked where I needed to be…). I’m scrolling through a list of 25 Japanese students I’m responsible for teaching the basics of computer science to. I don’t understand the language, I don’t understand the culture, and I’m lost.

Fast forward two weeks. I’m on the plane back to America. I’m freaking out. It’s a different kind, though. It’s beyond cliche to say, but the experience had changed my life. I was returning from two weeks in Japan as a computer science teacher for the Harvard-affiliated Summer in JAPAN (SIJ) program.

Talking with Japanese high school students during Summer in JAPAN 2016!

— — —

SIJ is an annual program that allows students ages ~6–18 in Japan to experience topics in education that they might not have traditional exposure to in their schools, all while learning in English and while being taught by Harvard students. This summer (summer 2016) was the first summer SIJ offered computer science as a class for students.

As such, my co-teacher George Lok (Harvard ’16) and I were the first to teach this class — meaning we also had to develop our own curriculum. We had been somewhat collaborating on a Python-related curriculum before heading over to Japan, though we soon realized the students we were dealing with had nearly no experience in computer science. Thus, we decided to adapt.

After we realized teaching straight Python was going to be too rough of an intro to computer science, and of course not as interactive as platforms such as Scratch, we decided to use Snap! — a more advanced version of Scratch. This is a walkthrough we did on the first day of the classic pong game.

Thanks to George’s recommendation, we decided to go with Snap! — a more advanced version of Scratch that allowed for more flexible input with JavaScript functions, while still providing basic functionalities and ease of usage made possible in Scratch.

Exercise in Snap! related to ASCII that George and I built for the students — encoding ASCII numbers to characters, capitalizing, etc.

We focused on some basic theoretical aspects of computer science, such as the binary number system and ASCII, which we taught both via worksheets as well as Snap! exercises. We then went into teaching direct programming basics, such as functions, loops, etc., both via worksheets and Snap! exercises as well.

These exercises can be found on the curriculum page we used here (note: the Snap! exercises are a downloadable .xml file, but you can simply run Snap! here and then drag and drop the file into the screen).

Another walkthrough we did of the dinosaur game that plays in Chrome when disconnected from Wifi. They loved this one! And it was pretty simple “coding.”

The final two days of our workshop (days 4 and 5) were used for students to pursue their final projects. These were built in Snap! as well, and George and I (as well as the parents who attended the concluding presentation ceremony, I believe!) were both pleasantly surprised to see what students came up with. Several of the programs were multi-level games, some were fully-functioning advanced calculators, and some more lighthearted programs such as picking ice cream flavors and decorating your dessert.

Left: One of my computer science students, Ryosuke. Middle: My co-teacher, George. George has an addiction to Japanese tea. Right: One of our youngest, but so very brilliant, computer science students.

— — —

After the five-day program in Oita, Japan, we travelled to Japanese countryside and a couple other towns to do one-day programs. After that, the eight Harvard teachers (who had taught computer science, academic writing, presentation skills, and theater) were given a several-day-long tour of Japan by the people who know it best! It was absolutely incredible. I feel like I got an inside look at Japan in a way I probably never will again. The incredible sushi, the onsen, the festivals, the beautiful nature… it was all amazing. We even got to spend a night in a traditional Japanese temple on a mountaintop in the middle of nowhere… and man, were the stars bright up there.

Spending time on a Japanese beach with three other Harvard teachers.

As if it couldn’t get better, I really got to know the other teachers from Harvard — most whom I didn’t know before the program. I truly look back on Summer in JAPAN as one of the best college experiences I’ve had.

So many fun memories :’)

— — —

Despite the brief stress that came with developing a five-day curriculum for Japanese students, which came with — at times — a significant language barrier to overcome, it was incredibly rewarding to see students succeed in seeing the pure joy in the possibilities of computer science.

As someone who never knew what “computer science” was until college, and as someone who had simply never been exposed to the topic growing up, it was incredibly being able to expose these young students to the world of opportunity in computer science — even if only for a week-long program. It was absolutely incredible to see the progress they made over the course of the program, and I imagine many of them will be continuing with what they learned.

Saying goodbye to a wonderful Summer in JAPAN 2016!