Teaching refugees how to code


Haya Odeh

At Repl.it our mission is to make programming more accessible. We can’t do this alone so it’s great to partner with non-profits and hack clubs that share our mission. Re-coded is one of those non-profits, they're teaching programming in the refugee camps in Iraq and Turkey. Today I’d like to share with you their story of how they found Repl.it useful in overcoming logistical challenges.

refugees coding
refugees coding

By: Gabe Jackson

At Re:Coded, it’s our goal to provide a world-class education to refugees and displaced persons who would not otherwise have access to such opportunities.

In making that goal a reality, we depend on a number of tools in the classroom. One of our favorites is repl.it, an in-browser IDE and REPL that we use for everything from facilitating our selection process to live coding through examples in class to creating personalized homework assignments for students.

We began using repl.it as a platform for live coding in front of the class. As our trainers work through an example with the class, they can save the code at various stages of completion. repl.it provides a unique link for each saved state, making it easy for students to follow along. Students can also revisit the example code at previous stages to refresh their memory as to how the final code came to be and challenge themselves to repeat the steps of its creation.

repl.it allows the trainers to switch paradigms seamlessly. In our pilot cohort in 2016–2017, we taught programming fundamentals in Ruby before transitioning towards front-end development with JavaScript. If students were having trouble understanding a new concept in JavaScript, we could simply open up a Ruby repl.it right next to the JavaScript one and write (and run!) the same code in a more familiar language.

Students learning in the refugee camp We also love how lightweight yet feature-rich repl.it is. The main application bundle for the JavaScript and Ruby repl.it pages currently checks in at about 735 KB, which seems criminally small given how much functionality is packed into it. Sure, it takes the average US household connection less than a half-second to download 735 KB, but to halt the analysis there is dangerously myopic. Performance zealots are sometimes pooh-poohed by their well-meaning but close-minded peers, but such considerations really matter in environments with less-than-stellar Internet connections and intermittent service. An entire sandboxed development environment in less than a megabyte is incredible, full-stop.

In planning the selection process for the second Re:Coded cohort, we decided to create a code challenge for prospective students. There were several ideas bandied about as to how we could best accomplish this. Our two primary requirements were minimal environmental complexity (since we wanted to assess the applicants’ coding aptitude; not their ability to set up a local development environment) and ease of aggregating and viewing the results. repl.it knocked it out of the park on both counts.

Because repl.it requires nothing beyond a browser, it was painless for applicants with minimal computing experience to get up and running. We added all of the prospective students into a repl.it Classroom, created some examples for them to follow and an assignment to complete, and were notified every time a new submission arrived. It worked perfectly.

When we first encountered repl.it, it seemed like a cute tool for sharing short code snippets. Fast-forward a year, and it was an integral part of the tech stack at Re:Coded. Its flexibility, portability, trivial setup cost, and minimal network overhead helped it carve out an important role in our tooling. Thanks for the great software, repl.it!

More blog posts