<p>I've been that student. Now I'm that teacher.</p>

<p>Here are dialogues that I've had:</p>

<blockquote>
  <p><strong>Me</strong>: I honestly can't tell "if" it'll be useful to you. But I'd rather
  we thought of it as "how" is this useful to you. How do you tell any
  machine what to do? For example how do you tell the
  washing machine to wash the clothes?</p>
  
  <p><strong>Student</strong>: (Most common answer) <em>You push the button!</em></p>
  
  <p><strong>Me</strong>: Excellent! But part of school is to help you learn to <em>think</em>. So
  instead of just showing you how to use the machine, I'd like you to
  think about how does the button press make the machine wash its
  clothes. <em>How</em> does the machine know what to do?</p>
  
  <p><strong>Student</strong>: (usually thinking) Ummm...</p>
  
  <p><strong>Me</strong>: Let's write down all what needs to be done when the button is pressed:</p>
  
  <p>(we note some steps: start water, turn on the "rotating bucket", flow
  detergent and stop after 45 minutes)</p>
  
  <p><strong>Me</strong>: Does the machine understand English?</p>
  
  <p><strong>Student</strong>: NO! It's a machine! (usually followed by giggles)</p>
  
  <p><strong>Me</strong>: Alright, so how do we "talk" to it? (carry this toward the notion
  of a <em>language</em> that only computers can understand. Keep it high level
  and dig deeper only if they're curious).</p>
  
  <p><strong>Me</strong>: Let's say that the machine only understands Python (or the language you're teaching). How can we tell the machine to do all the above steps?</p>
</blockquote>

<p>This helps them at least understand why we need to program.</p>

<p>After this I give them an exercise on "giving instructions to someone". Intentionally ambiguous so that they can easily misinterpret it in hundred different ways. Like ask them to get me a Peanut butter and jelly sandwich the next day and we'll snack it in the class. Say it's for "me" (i.e., the teacher).</p>

<p>Intentionally critique them like "but I wanted it toasted" or with "less butter" etc., Students usually go "<em>But you didn't tell us that! How do we know?</em>". That's <em>exactly</em> what you want!</p>

<p>Now educate them to the benefits of being precise! When you give instructions to a computer you have to be very precise. With humans the more ambiguous you are the more confusing things get.</p>

<p>So, now we come full circle to why learn programming? It's the art of being specific - <em>that</em> is what we want to teach/learn. No matter what job you do, it'll come in handy. You'll realize what it means to be specific and "how specific" is good enough. The act of talking to a machine is just a fun way to teach you this. You may not use it, but at least you'll know something about it!</p>

<p>I've had great success with this with kids of all ages. It helps sink things in. Know why it's useful and what's the point are the best questions IMHO.</p>

CC BY-SA 3.0
2018-03-15T19:55:37.050Z
2018-03-15T19:55:37.050Z
PhD
<p>At some point in their lives, more so now than 40 years ago, these students will need to make decisions based on interactions with computers. When they do this, they will make better decisions if they understand what is going on inside a computer. They may also encounter situations where a problem they have could be easily solved by involving (an app, some automation, a bigger dataset, etc).</p>

<p>Some example scenarios to discuss particularly in a 'imagine 20 years more innovation':</p>

<ul>
<li>Self driving cars (even now are argued to be safer than humans)</li>
<li>AI diagnosis (doctors can't identify the 1 in 1e6 rare symptoms)</li>
<li>Automated (first pass) scanning of diagnostic scans</li>
<li>Real-world timetable planning (app rather than diary)</li>
<li>Bus-routes on demand (in rural areas)</li>
<li>Warehouse management</li>
<li>Monitoring type healthcare applications (if you can describe examples)</li>
<li>Things that home automation doesn't do today (and would be valuable)</li>
</ul>

<p>Several of these scenarios I find hard to discuss with non-technical adults. Computers can be more consistent, access more data, do repetitive work without making mistakes. People struggle to understand some of the statistics and how to interpret risk though. People in a position to identify problems to be solved need to know what a computer can trivially do in order to innovate.</p>

<p>The timetable planning example - a language teacher wanted to overlay a simple 2-week pattern (learning vocab/testing) and some other progress, with the ability to slip, insert and skip work. Didn't realise this was already 90% done 'off the shelf' (so didn't look), and didn't recognise how this off-the-shelf solution was a good fit.</p>

CC BY-SA 3.0
2018-02-23T09:09:09.410Z
2018-02-23T09:09:09.410Z
Sean Houlihane
<p>The best answer to this is an honest one.</p>

<p>"We don't know"</p>

<p>But say that with a big smile on your face and enthusiasm in your voice.</p>

<p>How you might use this is a big mystery. It might be it gives you an idea how the software that touches your life works under the covers so it's a little less scary. It might be part of your job gets automated and you teach a computer how to do the boring repetitive parts of it so you don't have to anymore. It might be you have a great idea some day and you use this stuff to not only make your life but my life better. It might be, that once you see how it works, making computers do what you tell them to do turns out to be fun!</p>

CC BY-SA 3.0
2018-02-07T11:13:58.717Z
2018-02-07T11:13:58.717Z
candied_orange
<h2>The grown-up answer: Because it's good for you.</h2>

<p>No, really.    </p>

<p>At this age the different things you study all give you different kinds of skills and different ways of thinking. Thinking is good and the more different ways you can do that the more likely it is that you will be able to solve the problems as they come along. The different subjects in the early years are put there because people (grown ups) think that they will be relevant in the future. </p>

<p>Being able to think for yourself means you are more likely to be able to detect the lies that people will try to tell you to get you to do things that aren't really in your best interest, like buying something that has the main purpose of compromising your privacy. Math, History, Philosophy, CS, ... all teach you to think in different ways. </p>

<p>And, in fact, programming is useful in many fields. Even philosophy if you want to examine a lot of texts written by old (dead) philosophers. Science can't do without it anymore. Nor can some aspects of literature. </p>

<h2>The less grown-up answer: Because it's fun.</h2>

<p>No, really. </p>

<p>Well, if it isn't fun then maybe the teacher needs to rethink how the course is taught. Why isn't it fun? Is it the sorts of problems that the students are working on? Are they boring to the students? Is it the way they are supposed to behave? Too much frustration of working alone (or the opposite, I suppose)? Personally, I hate boredom. Or is it that they just don't have any bigger picture of what it is that they are learning, being always lost in the details? You can always ask the students what they "learned today". I used to ask that quite frequently, just to get them to focus on that before they left the classroom. </p>

<p>Ok. That was a bit grown-up too, but devious. Devious can be good, if done right.  </p>

CC BY-SA 3.0
2018-02-07T19:14:26.080Z
Nice answer. We teach coding (even to students who won't become professional programmers) for the same reason we teach finger-painting (even to students who won't become professional artists). It allows them to express themselves, it lets them think in different ways, and some of them **will** become professional programmers or artists.
Kevin Workman
CC BY-SA 3.0
2018-02-07T12:31:24.843Z
2018-02-07T12:52:20.803Z
2018-02-07T12:52:20.803Z
Buffy
<p>When I am teaching, sometimes, I am asked “How is this useful to me? I don't use a computer. I won't use a computer in my job.”</p>

<p>How can I, quickly, answer this question?</p>

<p>I only have a few pupils with this attitude, so don't want to spend too much time on this. However ideas for a short-ish introduction, or ways to answer the question, will be welcomed.</p>

<hr>

<p>I know this stuff is useful. For example programming: Some will become professional software engineers; some will just write the odd 10 liner to help solve the problem of the day; some will have to commission a software project, and the software engineers will try to over charge them ; some will never use a computer in their life, but computational thinking is still of use.</p>

<p>Details of pupils: year 7…9 (age 11…14). They are on the course, because it is part of the schools core curriculum.</p>

CC BY-SA 3.0
2018-02-07T11:04:26.387Z
@PeterTaylor added Why studying CS in the first place to the question.
ctrl-alt-delor
CC BY-SA 3.0
2018-02-08T19:34:36.590Z
I am a SW engineer, not an educator. I wonder: Would it be helpful to challenge the assumptions? "I don't use a computer.” Do you use a smart phone, tablet, or game system? You are actually using very powerful computers. "I won't use a computer in my job.” The technician who does a smog check on my car uses a computer. When I shop, the person at the register uses a computer. The person who walks my neighborhood to read water meters uses a handheld computer. Shuttle and delivery drivers making use of navigation systems use computers. Etc, etc. Computers are ubiquitous these days.
njuffa
CC BY-SA 3.0
2018-02-09T09:41:21.620Z
@njuffa I think that could be an answer. With a little work, a good one.
ctrl-alt-delor
CC BY-SA 3.0
2018-02-16T21:40:46.007Z
@ctrl-alt-delor, Most of those people will never _program_ computers.  Not even when a complete programming language is built-in to the word-processor that they use every day.  IMO, you should accept Buffy's answer.  Beyond the three R's, the only reason we learn _anything_ in school is because learning makes us better people.  Learning, in and of itself, is a valuable life skill, and school is where we learn how to learn.
Solomon Slow
<student-motivation>
Answering “How is this useful to me?”
# Answering “How is this useful to me?”

(Asked by: username_0 on 2018-02-07)

When I am teaching, sometimes, I am asked “How is this useful to me? I don't use a computer. I won't use a computer in my job.”

How can I, quickly, answer this question?

I only have a few pupils with this attitude, so don't want to spend too much time on this. However ideas for a short-ish introduction, or ways to answer the question, will be welcomed.

---

I know this stuff is useful. For example programming: Some will become professional software engineers; some will just write the odd 10 liner to help solve the problem of the day; some will have to commission a software project, and the software engineers will try to over charge them ; some will never use a computer in their life, but computational thinking is still of use.

Details of pupils: year 7…9 (age 11…14). They are on the course, because it is part of the schools core curriculum.

**Tags:** student-motivation

> **Comments:**
> **username_0**: @PeterTaylor added Why studying CS in the first place to the question.  
> **username_1**: I am a SW engineer, not an educator. I wonder: Would it be helpful to challenge the assumptions? "I don't use a computer.” Do you use a smart phone, tablet, or game system? You are actually using very powerful computers. "I won't use a computer in my job.” The technician who does a smog check on my car uses a computer. When I shop, the person at the register uses a computer. The person who walks my neighborhood to read water meters uses a handheld computer. Shuttle and delivery drivers making use of navigation systems use computers. Etc, etc. Computers are ubiquitous these days.  
> **username_0**: @username_1 I think that could be an answer. With a little work, a good one.  
> **username_2**: @username_0, Most of those people will never _program_ computers.  Not even when a complete programming language is built-in to the word-processor that they use every day.  IMO, you should accept username_6's answer.  Beyond the three R's, the only reason we learn _anything_ in school is because learning makes us better people.  Learning, in and of itself, is a valuable life skill, and school is where we learn how to learn.  

---

## 4 answers

### Answer by username_6 on 2018-02-07. Score: 9

## The grown-up answer: Because it's good for you.

No, really.

At this age the different things you study all give you different kinds of skills and different ways of thinking. Thinking is good and the more different ways you can do that the more likely it is that you will be able to solve the problems as they come along. The different subjects in the early years are put there because people (grown ups) think that they will be relevant in the future.

Being able to think for yourself means you are more likely to be able to detect the lies that people will try to tell you to get you to do things that aren't really in your best interest, like buying something that has the main purpose of compromising your privacy. Math, History, Philosophy, CS, ... all teach you to think in different ways.

And, in fact, programming is useful in many fields. Even philosophy if you want to examine a lot of texts written by old (dead) philosophers. Science can't do without it anymore. Nor can some aspects of literature.

## The less grown-up answer: Because it's fun.

No, really.

Well, if it isn't fun then maybe the teacher needs to rethink how the course is taught. Why isn't it fun? Is it the sorts of problems that the students are working on? Are they boring to the students? Is it the way they are supposed to behave? Too much frustration of working alone (or the opposite, I suppose)? Personally, I hate boredom. Or is it that they just don't have any bigger picture of what it is that they are learning, being always lost in the details? You can always ask the students what they "learned today". I used to ask that quite frequently, just to get them to focus on that before they left the classroom.

Ok. That was a bit grown-up too, but devious. Devious can be good, if done right.

> **Comments:**
> **username_7**: Nice answer. We teach coding (even to students who won't become professional programmers) for the same reason we teach finger-painting (even to students who won't become professional artists). It allows them to express themselves, it lets them think in different ways, and some of them **will** become professional programmers or artists.  

---

### Answer by username_3 on 2018-03-15. Score: 3

I've been that student. Now I'm that teacher.

Here are dialogues that I've had:

> **Me**: I honestly can't tell "if" it'll be useful to you. But I'd rather
> we thought of it as "how" is this useful to you. How do you tell any
> machine what to do? For example how do you tell the
> washing machine to wash the clothes?
>
> **Student**: (Most common answer) *You push the button!*
>
> **Me**: Excellent! But part of school is to help you learn to *think*. So
> instead of just showing you how to use the machine, I'd like you to
> think about how does the button press make the machine wash its
> clothes. *How* does the machine know what to do?
>
> **Student**: (usually thinking) Ummm...
>
> **Me**: Let's write down all what needs to be done when the button is pressed:
>
> (we note some steps: start water, turn on the "rotating bucket", flow
> detergent and stop after 45 minutes)
>
> **Me**: Does the machine understand English?
>
> **Student**: NO! It's a machine! (usually followed by giggles)
>
> **Me**: Alright, so how do we "talk" to it? (carry this toward the notion
> of a *language* that only computers can understand. Keep it high level
> and dig deeper only if they're curious).
>
> **Me**: Let's say that the machine only understands Python (or the language you're teaching). How can we tell the machine to do all the above steps?

This helps them at least understand why we need to program.

After this I give them an exercise on "giving instructions to someone". Intentionally ambiguous so that they can easily misinterpret it in hundred different ways. Like ask them to get me a Peanut butter and jelly sandwich the next day and we'll snack it in the class. Say it's for "me" (i.e., the teacher).

Intentionally critique them like "but I wanted it toasted" or with "less butter" etc., Students usually go "*But you didn't tell us that! How do we know?*". That's *exactly* what you want!

Now educate them to the benefits of being precise! When you give instructions to a computer you have to be very precise. With humans the more ambiguous you are the more confusing things get.

So, now we come full circle to why learn programming? It's the art of being specific - *that* is what we want to teach/learn. No matter what job you do, it'll come in handy. You'll realize what it means to be specific and "how specific" is good enough. The act of talking to a machine is just a fun way to teach you this. You may not use it, but at least you'll know something about it!

I've had great success with this with kids of all ages. It helps sink things in. Know why it's useful and what's the point are the best questions IMHO.


---

### Answer by username_4 on 2018-02-23. Score: 2

At some point in their lives, more so now than 40 years ago, these students will need to make decisions based on interactions with computers. When they do this, they will make better decisions if they understand what is going on inside a computer. They may also encounter situations where a problem they have could be easily solved by involving (an app, some automation, a bigger dataset, etc).

Some example scenarios to discuss particularly in a 'imagine 20 years more innovation':

* Self driving cars (even now are argued to be safer than humans)
* AI diagnosis (doctors can't identify the 1 in 1e6 rare symptoms)
* Automated (first pass) scanning of diagnostic scans
* Real-world timetable planning (app rather than diary)
* Bus-routes on demand (in rural areas)
* Warehouse management
* Monitoring type healthcare applications (if you can describe examples)
* Things that home automation doesn't do today (and would be valuable)

Several of these scenarios I find hard to discuss with non-technical adults. Computers can be more consistent, access more data, do repetitive work without making mistakes. People struggle to understand some of the statistics and how to interpret risk though. People in a position to identify problems to be solved need to know what a computer can trivially do in order to innovate.

The timetable planning example - a language teacher wanted to overlay a simple 2-week pattern (learning vocab/testing) and some other progress, with the ability to slip, insert and skip work. Didn't realise this was already 90% done 'off the shelf' (so didn't look), and didn't recognise how this off-the-shelf solution was a good fit.


---

### Answer by username_5 on 2018-02-07. Score: 1

The best answer to this is an honest one.

"We don't know"

But say that with a big smile on your face and enthusiasm in your voice.

How you might use this is a big mystery. It might be it gives you an idea how the software that touches your life works under the covers so it's a little less scary. It might be part of your job gets automated and you teach a computer how to do the boring repetitive parts of it so you don't have to anymore. It might be you have a great idea some day and you use this stuff to not only make your life but my life better. It might be, that once you see how it works, making computers do what you tell them to do turns out to be fun!


---

