Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Sorry if this question is not appropriate for this stack exchange site, I've never used this one before.

I am doing my senior project on computer programming. I'm going to be presenting the project to classmates, teachers and (most importantly) judges, who haven't the slightest clue what programming is.

My question is somewhat broad, but how should I make my project to be about programming but still be simple enough for the judges to understand? Here are some things I considered:

  1. The project will focus on the history of programming, what it has accomplished, how it is used today, etc. and I will show pictures of code and say "This is what code looks like". So the presentation would be simple, easy, and average.

  2. Try to explain a little bit of code, perhaps show a loop in action or something like that, and try to make the audience think a bit rather than just watch someone present some stuff they consider to be boring. But then again, I don't want to make them feel stupid or anything.

share|improve this question

closed as too broad by MichaelT, Kilian Foth, amon, Giorgio, GlenH7 May 7 '14 at 19:23

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

Only you know your audience. Only you know what you must present to satisfy the judges. We don't know them. We don't know what criteria are important to them. We can't easily tell you how to interest them. – S.Lott Jan 30 '12 at 16:06
"how to explain programming to nonbelievers". Too vague (and possibly insulting). What is their goal? To be come programmers? To see how much you know? To see if you can explain things? We still can't help because we still don't know what their goal is. They must have some criteria for judging your performance. If you can't update the question with the criteria on which you're going to be judged, we can't help at all. – S.Lott Jan 30 '12 at 16:14
If your judges are judging programming projects, I would assuming they have a bit of knowledge in that field, or at least that they expect to not understand everything. Make the project as simple as you can, but don't try and dumb it down for the non-programming people. Perhaps in your presentation you can make sure they're aware they can ask you for clarification of anything they aren't sure about. – Rachel Jan 30 '12 at 16:15
In the beginning was K&R, and it was good. – Paul Jan 30 '12 at 18:03
up vote 8 down vote accepted

If your presentation is about the history of programming I would focus on how a computer only understands binary, and that binary is essentially impossible for a human to understand so programming languages were created. From there I would show the same sample program in several languages to show the evolution to modern languages, something simple but not a bit more than hello world. This would cover concepts like compiling, and how language A can be used to create language B. Talking about how memory constraints factored into design would also be good.

Explaining what a loop does or steeping through code explaining why its done this way isn't as related programming, because it would be an explanation of instruction logic that has existed longer than just electronic computers (finite state machines, mechanical computers). While this is a concept that is fundamental to programming, it explains what programming is rather than what has been accomplished through programming/how its used today.

share|improve this answer
"binary is essentially impossible for a human to understand"? I understand there to be 10 kinds of people in the world? Those who understand binary and those who don't. I would modify that statement to perhaps say that binary-encoded machine instructions are difficult to understand. – S.Lott Jan 30 '12 at 22:56

Not the answer you're looking for? Browse other questions tagged or ask your own question.