Sunday, December 16, 2012

Explaining the web and web programming with Octocat, sushi and fish

One of challenges of organizing Rails Girls Ljubljana was coming up with short lectures that would prepare the girls, absolute beginners, to understand the basic terminology of the web and what they would be working on.

Sure, there are some existing presentations online about what programming is and where Rails fits in the whole story, but I thought beginners could benefit from something a bit more simple, funny and thus memorable. Which is why I borrowed GitHub's mascot Octocat and sent him off on a journey to find sushi without fish on the web. Wait, what?

Have a look for yourself, here are the slides, both in English and Slovenian (the original I used for my lecture):





In case you find the slides useful, the main tip for presenting with them is: don't explain everything on the slides, focus on the story. In the first part, where I introduce the client-server model of the web, I didn't explain the technical terms too much. I compared IP addresses to phone numbers servers have and DNS servers to a phonebook. I do think it's good for beginners to be eposed to these terms, but they don't really need to know in detail what they mean.

When talking about GET requests, I didn't explain HTTP or the format of a request. A GET request is all they need to hear, and you can mention that sometimes the server doesn't find what you're looking for in which case you get and Error 404 page. But if the server does find the web page, it sends it in HTML to your browser. Knowing all the steps will make it easier for people tounderstand that there are many steps involved into the process and that fast loading pages can only happen if all part of the process work as they are supposed to.

In the second part I explained the different between a static and a dynamic web page using Octocat, who doesn't quite want the usual sushi. I explained the concept of a web app with the sushi chef living on the server, ready to tailor the content (or looks) of the web pages to each user's needs and interests, just like Facebook. And once you have a sushi chef, it's easy to explain Ruby as the language you need to learn to make the chef (the web app) do what you want.

Simple, short, friendly and apparently memorable: one of the participants was just asking me about Octocat and sushi on Twitter, so I guess a different approach did the trick!



Note: This is just an archive post. The blog has moved to a new home at blog.ialja.com, where you will also find a copy of the entire blog.