Web Tools for Teaching around the World: My Recent Trip to Central Asia

Students from Kazakhstan.

In this last trip to Kazakhstan, I really was amazed at how usable and accessible web tools have become. In particular, Github and Google Cloud Launcher. Through Github, my students had programming portfolios and their own personal blogs with great ease. With Google Cloud Launcher, a whole new world of web tools opened up before my eyes.

Background

Through Stanford University’s Honors Academy, I’ve been sent to teach Computer Science and Game Design in five countries (Chile, Peru, India, China, and Kazakhstan). These are three of my biggest takeaways:

Getting students to think about algorithms with playing cards
  1. Students around the world have amazing abilities to teach themselves how to use the right tools when given the opportunity to build inspired projects. Education is still often based on memorization and test scores as opposed to showing students what it feels like to build something cool or how to overcome obstacles on their own.
  2. Curricula and textbooks struggle to keep up with advancements in technology. I want to have students use the most powerful tools accessible to them, which range from WordPress to GitHub. In Kazakhstan, at one of the top schools in the country, the students learned Delphi, Pascal, and HTML. Of those languages, HTML is fairly useful, yet, I’d rather students learn how to set up their own free WordPress sites. Knowing HTML is useful, but knowing how to set up a WordPress blog is powerful — so powerful, that the government doesn’t let you do it.
  3. Teaching requires improvisation. We tend to think of the internet as one thing, and yet it is experienced very differently depending on where you are in the world. In China, I expected to be fire-walled in — which, in China, I’d describe it succinctly as “the web without Google.” The students in China are quite aware of this and put in extra elbow grease to find ways around these limitations or finding equivalent substitutes. Instead of WordPress, we used Lofter. Luckily, GitHub has been universally unrestricted in my travels.
We got in trouble for having students sit on the floor. They were concerned that the students would “get sick.”

Every country has it’s teaching surprises. In Kazakhstan, students aren’t allowed to sit on the floor. Similar to China, Kazakhstan also blocked some of the tools I had prepared to use, which kept me up the next night figuring out quick solutions. Overall, it was Google Cloud Platforms and Github that saved the day.

The Typical Toolbox

I tell students that you usually can only pick two of the three qualities in a tool

Here’re the core tools I like to use:

  1. The Internet and something to store their work indefinitely. There’s got to be a sense of the student’s work having some permanence, not just as some exercise that I hope they remember. Bare minimum, I’ve used Google Drive and Pastebin (although both have annoying limitations). I rarely let any of their work vanish into the hard drives of their work stations.
  2. Blogs, online journals, and digital portfolios. In this day and age, I think it’s more important to be able to document, curate, and organize projects than to merely test well. The experience of developing software is not just the win of having accomplished something, but also the ability for sharing and seeing the experience of someone using their projects. Again, I want something that students can keep throughout their careers.
  3. Processing and MAYBE Snap/Scratch. I find that the best introduction to coding is through something visual. I really prefer Processing, but depending on the student, some still learn better with Snap like coding.
  4. Github or Open Processing. Another reason to use Processing is that it’s a simple (downloadable) js file away from running in the browser. For students that are more advanced, I’ve used Github.
  5. Arduinos and I’m sure Raspberry Pi’s are just as good. In introducing CS to students for the first time, I also like to connect the whole 1’s and 0’s with how we arrive at the higher level programming languages. The best reference book is from the SparkFun Inventors Kit.
  6. Twine, Sploder, or Puzzlescript. It’s always nice to have something that enables a satisfying end-to-end project. Although these tools are quite limited and overly simple, they capture some sense of what goes into building a finished runnable project.
  7. Piskel. I wish there were more tools out there like Piskel is for pixel art. I’m still looking for the audio equivalent for something free, easy to use, and effective.
  8. Google Sites or DokuWiki. I always have a course website that I can update on the fly.
I show students the reach that my blog (which I hadn’t updated in a while) gets

Case Study: Kazakhstan

So what sort of technological adaptations did I need to make in Kazakhstan? From the list of tools above, I ran into issues with #2, #7, and #8. In an attempt to prevent terrorism, the government blocks sites that facilitate freedom of speech. Who knows how Piskel (a sprite editor) spreads terrorism, but I’d assume it’s running from somewhere suspect.

Dangerous pixel art
“A threat of Internet usage for spreading radical ideas is becoming wide spread. The government is working on detection and limitation of Internet distribution of materials containing signs of extremism, propaganda of terrorism and public calls for terrorist attacks,” he stressed.
For more information see: https://en.tengrinews.kz/crime/125-websites-blocked-in-Kazakhstan-4809/

In China, I knew there’d be some equivalent to whatever was blocked, but in Kazakhstan, I was unprepared to function in a world with no WordPress and only parts of Google. I had to find solutions for the following two problems: (1) student blogs and (2) the course website.

Student Blogs

Two things that you’re never quite sure about (until the first day) are the students’ proficiency in English and their technical ability. Github is already quite advanced, but to my pleasant surprise, they’ve added some great features in their web UI, making git repos almost as easy to use as Dropbox or Google Drive. I’d never had students setup their own Jekyll blogs before (because WordPress was always so good at what it did). In China (where there is no WP), there was a quick and easy equivalent. I wasn’t prepared and didn’t have these luxuries in Kazakhstan. I #YOLO’d it and with the help of this amazingly straightforward tutorial, all my students had functional Jekyll blogs within the afternoon.

A fantastic student presentation of Github and Jekyll

Course Website

My first love for course websites was always Dokuwiki. Unfortunately, Dokuwiki runs in PHP and I can’t easily host that anywhere for free. (Why free?… I don’t know; maybe because I’ve spent most of my adult life being a grad student). For a little while, I would rely on my university’s servers, but such servers (more often than commercial ones) go down, aren’t running most recent versions of software, or have peculiar/restrictive permissions settings. I’ve broken course websites at inopportune times before thanks to mismatched versions of PHP.

I even went into the code to comment out the problematic lines (to no avail)

Since then, I’ve been using Google sites. Of course, that didn’t fly in China, but I had time to coordinate with the admins at my university to get something running. In Kazakhstan, I decided to be a grown up and sign up for something more reliable even if it costs money. (It ended up being very little money, $1.40).

Dokuwiki running on Google Compute Engine via Google Cloud Launcher

First, I found out I could use Google by googling “Dokuwiki google cloud” — that was the hard part. After that, it was all pretty easy. There were some simple configurations and it was up and running within a couple minutes.

I don’t know about you, but I was never one who felt right using a service like GoDaddy. To my surprise, Google’s quoted price was lower than any web space providers I’d ever looked at: $4.49/month.

The estimated cost of launching my own Dokuwiki site

The actual cost ended up being a fraction of that.

The actual cost as of today

Here’s the action it got:

CPU utilization for a 2 week course website in Kazakhstan

But the fun doesn’t stop at Dokuwiki. There are many tools I’ve always wanted to try out but felt either intimidated by or unwilling to pay out of pocket to try out. For example, I never thought I’d be able to so easily run my own instance of Moodle! Maybe I can even build my own Moodle someday.

So many tools to try out!

Reflection

It’s rare to find things in life that really hits on a tender spot; that feeling which wavers between excitement and anger. Education and technology both amaze and frustrate me. I feel a little angry about students not being able to access tools like WordPress. Why limit the voices of the future? On the other hand, it’s amazing what web technologies like Github and Google Cloud Platforms enables. Like I said, textbooks, curricula, and government censorship lag behind the fast moving advancements in technology, and students around the world have amazing abilities to teach themselves how to use the right tools when given the opportunity to build inspired projects.

Students recording, documenting, and showing their Arduino projects
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.