Learn Key Computer Science Concepts With These Everyday Analogies

What’s the difference between computer science and programming? How do you explain Big Data to a non-technical person? Sometimes, everyday analogies are better than the technical explanations. This list has 40 key computer science concepts simply explained.

Picture: Paul Keller

The list is compiled at Calcheo and comes from a variety of sources, such as Stack Overflow and Programmers Stack Exchange. The concepts are ones that most computer science students will be exposed to in university, and they can make difficult concepts easier to understand or simply “click”.

Here are a few of my favourite ones from the list:

Q4 — What is the difference between Java and JavaScript?

Java and Javascript are similar like car and carpet are similar. ~ Greg Hewgill/Stack Overflow

Q7 — How many lines of code does an average software engineer write per day?

Measuring software productivity by lines of code is like measuring progress on an aeroplane by how much it weighs. ~ Bill Gates

Q8 — What is object-oriented programming?

Objects are like people. They’re living, breathing things that have knowledge inside them about how to do things and have memory inside them so they can remember things. And rather than interacting with them at a very low-level, you interact with them at a very high level of abstraction, like we’re doing right here.

Here’s an example: If I’m your laundry object, you can give me your dirty clothes and send me a message that says, “Can you get my clothes laundered, please.” I happen to know where the best laundry place in San Francisco is. And I speak English, and I have dollars in my pockets. So I go out and hail a taxicab and tell the driver to take me to this place in San Francisco. I go get your clothes laundered, I jump back in the cab, I get back here. I give you your clean clothes and say, “Here are your clean clothes.”

You have no idea how I did that. You have no knowledge of the laundry place. Maybe you speak French, and you can’t even hail a taxi. You can’t pay for one, you don’t have dollars in your pocket. Yet I knew how to do all of that. And you didn’t have to know any of it. All that complexity was hidden inside of me, and we were able to interact at a very high level of abstraction. That’s what objects are. They encapsulate complexity, and the interfaces to that complexity are high level. ~ Steve Jobs/Rolling Stone Interview

While not all of the analogies are perfect, they’re interesting explanations. Check out the full post below for more. Thanks Dan!

40 Key Computer Science Concepts Explained in Layman’s Terms [Carlcheo]

The Cheapest NBN 50 Plans

Here are the cheapest plans available for Australia’s most popular NBN speed tier.

At Lifehacker, we independently select and write about stuff we love and think you'll like too. We have affiliate and advertising partnerships, which means we may collect a share of sales or other compensation from the links on this page. BTW – prices are accurate and items in stock at the time of posting.


Leave a Reply