What is a variable? Sydney Ruby Meetup talk

. 2 min read

This is a transcript of my talk at the Ruby on Rails Sydney Meetup.

How do you explain programming to a complete beginner?

I love coaching at Codebar and Rails Girls. It's very rewarding to coach students that are incredibly keen to learn.

Coaching is a fun challenge too. Explaining concepts to a beginner is very different to how I would talk to a colleague. I still need to be clear and understandable, but I can't use many technical words.

One of my favourite questions is, "What is a variable?". Here is an excerpt from the top Google result for Ruby:

Variables are the memory locations, which hold any data to be used by any program.

There are five types of variables supported by Ruby.

- TutorialsPoint

There isn't anything wrong with this definition. But... imagine a person learning to code for the very first time today. I can imagine they would be terrified! After reading that explanation, a student still has no idea what a variable is. However, the student might feel comforted knowing there are now five variables they don't understand.

Do you think you could write a better explanation? Your answer must be clear and easily understood. You also can't use any technical words. Specifically... these words below.

What is a variable?

Answer without using these words:

  • assign
  • data
  • label
  • location
  • manipulate
  • memory
  • name
  • program
  • reference
  • remember
  • represent
  • stand for
  • store
  • value

Quite difficult, isn't it?

At Rails Girls, students build their first ever web application. It's a jam-packed workshop. At the beginning of the day, we walk through basic concepts and talk about what Rails can do. Inevitably, every student will ask me, "What is MVC?".

Do you think you could explain MVC? Same rules as last time: make it clear and easily understandable, and your answer can't include the technical words on the list below.

What is MVC?

Answer without using these words:

  • model
  • view
  • controller
  • architecture
  • database
  • design
  • pattern
  • representation
  • separation of concerns
  • structure
  • user

Okay, you can use the words model, view, and controller, if you really have to 😉

I like this and I want more questions!

Did you enjoy answering these questions? You could become a coach! There is a student that would really appreciate your help.

Codebar runs free coding workshops (in all languages) and Rails Girls runs one day Rails workshops.

Photo by chuttersnap on Unsplash.