Using BBC BASIC to teach programming concepts in 2017

for all subjects/topics not covered by the other forum categories
User avatar
richmond62
Posts: 257
Joined: Sun Apr 16, 2017 3:15 pm
Location: Bulgaria
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by richmond62 » Tue Jun 26, 2018 11:38 am

AND, to be really crude:

Nothing is quite as "in your face" and attention-grabbing as a black screen.

No "nasty" GUI to distract anyone.

User avatar
richmond62
Posts: 257
Joined: Sun Apr 16, 2017 3:15 pm
Location: Bulgaria
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by richmond62 » Tue Jun 26, 2018 11:41 am

missing out on things as fundamental as multi-line IF clauses or WHILE loops or CASE statements
By the time we get to SWITCH and CASE I've already transitioned the kids to LiveCode.

User avatar
BigEd
Posts: 2691
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by BigEd » Tue Jun 26, 2018 11:55 am

I just came across "Language-independent conceptual bugs in novice programming" from 1986 and thought it might be of interest:
"This article argues for the existence of persistent conceptual "bugs" in how novices program and understand programs. These bugs are not specific to a given programming language, but appear to be language-independent. Furthermore, such bugs occur for novices from primary school to college age. Three different classes of bugs - parallelism, intentionality, and egocentrism - are identified, and exemplified through student errors. It is suggested that these classes of conceptual bugs are rooted in a "superbug," the default strategy that there is a hidden mind somewhere in the programming language that has intelligent interpretive powers."
via The Shape of Code blog (which takes the line "Teach children planning and problem solving not programming")

Coeus
Posts: 1402
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Coeus » Tue Jun 26, 2018 9:28 pm

BigEd wrote:
Tue Jun 26, 2018 11:55 am
...I just came across "Language-independent conceptual bugs in novice programming" from 1986...
Interesting. The only one of those that I think applied to me was when receiving an error message

Code: Select all

Missing " at line 40
and thinking to myself "if you know it is missing then why don't you put it on for me!" but of course that was from the limited context that the line concerned was almost certainly a PRINT statement and the unterminated string was almost certainly intended to run to the end of the which is exactly where the interpreter decided the closing " must be missing. Later, of course, it because obvious that this was so the compiler/interpreter did not swallow up large amounts of text into a string when they should have been something else.

So you have me wondering now. Somewhere, early on, I got the concept that a computer carries out steps in the order you specify. That was long before doing any kind of assembly language so I looked up the ZX81 BASIC manual which is likely the first book I had on programming having come with my XZ81. In the very first chapter it talks about giving the computer commands. It goes from there to expressions, including precedence, i.e. effectively order of evaluation just as we learn in maths, functions and then on to stored programs. When making the distinction between stored programs and immediate commands in makes the point that the stored program does nothing until you run it. I am not sure what else might have been an influence. I know I sat in a class that taught the whole "write down the steps to making a cup of tea for the benefit of someone who has no initiative at all" exercise but I think that was much later. Maybe the seeds were set much earlier when I liked to take things apart and it became apparent that big things generally happened by a series of smaller things happening in some organised way.

User avatar
BigEd
Posts: 2691
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by BigEd » Wed Jun 27, 2018 7:19 am

Me too - I've never had this 'bug'. But if even a quarter of students somehow manage to make this mistake, it's worth being able to look for it and correct it. I like the idea that students should explain their code by talking it through - for a simple program, the behaviour shouldn't be surprising.

I also like the idea that the leap from speech to writing is a bit like the leap from instructing a human to instructing a computer: you need more control of your words and you need to manage a mental model of the context of the reader/computer.

User avatar
Richard Russell
Posts: 956
Joined: Sun Feb 27, 2011 10:35 am
Location: Downham Market, Norfolk
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Richard Russell » Wed Jun 27, 2018 8:30 am

richmond62 wrote:
Tue Jun 26, 2018 11:38 am
Nothing is quite as "in your face" and attention-grabbing as a black screen.
No "nasty" GUI to distract anyone.
As I pointed out previously, BBCSDL doesn't of itself have a GUI, and white on black is just a trivial change to the palette. Replace the supplied 'bbcsdl.bbc' with this custom version and see what happens!

Code: Select all

      MODE 7
Richard.

User avatar
Elminster
Posts: 3978
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Elminster » Wed Jun 27, 2018 8:48 am

BigEd wrote:
Wed Jun 27, 2018 7:19 am
Me too - I've never had this 'bug'. But if even a quarter of students somehow manage to make this mistake, it's worth being able to look for it and correct it. I like the idea that students should explain their code by talking it through - for a simple program, the behaviour shouldn't be surprising.

I also like the idea that the leap from speech to writing is a bit like the leap from instructing a human to instructing a computer: you need more control of your words and you need to manage a mental model of the context of the reader/computer.
Your comment above reminds me of an activity we do In sport coaching (and probably other places).

You split a group of people into 3 groups. You then split these groups in 2. (Giving you .... 6 ... although you could do it with 4).

3 of the groups are given the instructions of a task. They then have to get the remaining groups to carry out this task.

The fun bit.

One group can only give verbal instruction
One group only has visual instruction
One group has both

Hope my explanation makes sense. The results can be hilarious.

Coeus
Posts: 1402
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Coeus » Fri Jun 29, 2018 12:42 am

BigEd wrote:
Wed Jun 27, 2018 7:19 am
Me too - I've never had this 'bug'. But if even a quarter of students somehow manage to make this mistake, it's worth being able to look for it and correct it. I like the idea that students should explain their code by talking it through - for a simple program, the behaviour shouldn't be surprising.
Absolutely it seems worth knowing about this if you are teaching programming. I am not sure I would go as far as suggesting that existing imperative programming languages are deficient because they do not communicate strongly enough that they are indeed imperative, rather that declarative, which is a suggestion made by the article.
BigEd wrote:
Wed Jun 27, 2018 7:19 am
I also like the idea that the leap from speech to writing is a bit like the leap from instructing a human to instructing a computer: you need more control of your words and you need to manage a mental model of the context of the reader/computer.
That's definitely insightful - there is a link here with theory of mind where you try to see someone else's perspective and what out what they would think or do but in this case you have to be able to cope with a non-human that is much more simplistic. Perhaps as the software bundled with computing devices gets more advanced and we have digital personal assistants appear to guess what we are about to do, the leap to the model of something with no initiative at all that just executes basic instructions is harder to make.

User avatar
BigEd
Posts: 2691
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by BigEd » Fri Jun 29, 2018 7:23 am

It strikes me that we tend to say "the computer" and we mean so many different things by it. When I start typing a search query and get half a dozen suggested searches, that's "the computer" offering me some choices, but in reality it's remote computers doing that for me. If I get a wobbly red line under a typo of mine, that's my very complex browser doing the work. When I get a Basic interpreter to run my program, that's some much simpler but still pretty complex software acting as some kind of very fast idiot reading and re-reading each line and doing some small amount of work according to what it says. When I write a few lines of assembly code and run the corresponding machine code, finally I'm down at the level where a CPU right next to me is doing precisely what I asked it to do, very fast. (If it's a 6502 I don't have to worry too much about the inner complexity of the CPU...)

At some very early point in my programming life I used programmable calculators. That's about as unforgiving as assembly language but with a simpler model. It's very obvious that a program is a sequence of steps, each executed with no context. But if you don't like numbers and calculations, a programmable calculator isn't a very attractive thing. I prefer to think that programming has much wider appeal than that.

I wonder if line numbers help to indicate that a program is a series of lines, and not a whole thing? It happens to be true that I met Basic and Fortran before I met Pascal and C and their friends. (I wouldn't say that line numbers are an essential feature of a beginner's language.)

Has anyone here tried the "coding without computers" idea in teaching?
https://csunplugged.org/en/

TopBanana
Posts: 1064
Joined: Wed Jun 09, 2010 2:16 pm
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by TopBanana » Fri Jun 29, 2018 7:31 am

Elminster wrote:
Wed Jun 27, 2018 8:48 am
You split a group of people into 3 groups. You then split these groups in 2. (Giving you .... 6 ... although you could do it with 4).
x = x/3
x = x/2

Very inefficient code. :lol: :lol:

User avatar
Elminster
Posts: 3978
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Elminster » Fri Jun 29, 2018 8:32 am

TopBanana wrote:
Fri Jun 29, 2018 7:31 am
Elminster wrote:
Wed Jun 27, 2018 8:48 am
You split a group of people into 3 groups. You then split these groups in 2. (Giving you .... 6 ... although you could do it with 4).
x = x/3
x = x/2

Very inefficient code. :lol: :lol:
It is acutally more efficeint for Human brain.

X=x/3
explain some stuff to each 3 groups
x=x/2
explain some stuff to 3 groups

As opposed to
x=x/6
explain stuff to 6 groups
explain stuff to 3 groups
get confused who you told what to

User avatar
MartinB
Posts: 5252
Joined: Mon Mar 31, 2008 9:04 pm
Location: Obscurity
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by MartinB » Fri Jun 29, 2018 8:59 am

Seems quite simple - now, are there any questions? :-k


any questions.jpg

User avatar
flaxcottage
Posts: 3779
Joined: Thu Dec 13, 2012 8:46 pm
Location: Derbyshire
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by flaxcottage » Fri Jun 29, 2018 9:05 am

Ah, so it would seem to a mathematical programmer! :lol:

Socially, what happens in this exercise is:
  • split a class into 3 groups (say 10 per group).
  • a group splits into two smaller groups, one subgroup is the presenters, the other the receivers
  • Each presenter sub-group gets a problem in a sealed envelope along with 'how to present instructions', ie visual only, verbal only, mixed visual/verbal
  • Simultaneously in widely spread locations in the classroom the presentations take place
How about another conundrum?

You are on the turnstile admitting people into a football match. You must admit exactly 100 people. You must take exactly £100 at the turnstile. Adults cost £2.00, Over 60s cost 50p and children cost 25p. How many of each category do you admit to satisfy both conditions?

Let's see the mathematicians handle this, then. :lol:
- John

Image

User avatar
Elminster
Posts: 3978
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Elminster » Fri Jun 29, 2018 9:23 am

flaxcottage wrote:
Fri Jun 29, 2018 9:05 am
Ah, so it would seem to a mathematical programmer! :lol:

Socially, what happens in this exercise is:
  • split a class into 3 groups (say 10 per group).
  • a group splits into two smaller groups, one subgroup is the presenters, the other the receivers
  • Each presenter sub-group gets a problem in a sealed envelope along with 'how to present instructions', ie visual only, verbal only, mixed visual/verbal
  • Simultaneously in widely spread locations in the classroom the presentations take place
Yes but no envelopes (in my example) as the instructor gives the visual demo or uses laptop or ipad. None of which fit in the envelope. Plus volunteer sports coaches dont have enough (any) budget for envelopes.

Edit: Also groups wouldnt be as big. Max of 12 people in total for Climbing. That is usually the per instructor limit imposed by insurance companies.

Edit2: 30 Kids in a class room sounds like a scary number
Last edited by Elminster on Fri Jun 29, 2018 9:26 am, edited 2 times in total.

User avatar
BigEd
Posts: 2691
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by BigEd » Fri Jun 29, 2018 9:40 am

Took me 10 or 12 manual iterations in a spreadsheet to do the turnstile problem. I'd like to think a younger version of me could do it in his head. But is there a way to do it without iterating?

User avatar
1024MAK
Posts: 9393
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by 1024MAK » Fri Jun 29, 2018 1:30 pm

BigEd wrote:
Wed Jun 27, 2018 7:19 am
Me too - I've never had this 'bug'. But if even a quarter of students somehow manage to make this mistake, it's worth being able to look for it and correct it. I like the idea that students should explain their code by talking it through - for a simple program, the behaviour shouldn't be surprising.

I also like the idea that the leap from speech to writing is a bit like the leap from instructing a human to instructing a computer: you need more control of your words and you need to manage a mental model of the context of the reader/computer.
Do you not think that part of the problem is our own so called 'natural' language? A form of communication that only works because humans put so much effort into trying to work out what we are saying to each other. And where we even have specially trained people to understand some areas of our language (I'm thinking of lawyers for example). I don't speak any other human languages, but as soon as you look at English with new eyes, you find so many inconsistencies and words / meanings that only make sense if the full context is given. But most of the time, people don't give you the full context.

Back to that paper, here are my thoughts...

Parallelism bugs, intentionally bugs and egocentrism bugs.

Performing tasks or instructions in a strict order is not limited to programming a computer.

Everyone surely understands that certain things have to occur in a sequence and that in a sequence, what happens later is not necessarily relevant to what happens earlier.

Plenty of examples in construction, engineering, cooking, chemistry etc...

It's fairly easy for students (of any age) to not fully comprehend the theory. So it's good to have a physical task to help bed in the theory. Building something where the parts have to be assembled in the correct sequence maybe. Maybe playing with some simple logic circuits, with a timers / counter[*] and some switches and LEDs as well.

The key information that students of programming need are:
  • Computers are very fast, but very dumb.
  • Computers follow a list of instructions exactly and in sequence.
  • They only do what they are told to do, nothing more.
I'm not saying that I never make such mistakes, because I do.
Being able to follow program flow and work out what should be happening compared to what is currently happening does find most of my own bugs.

Oh, and finally, looking at this paper reminds me that this also applies with many people at the user level where they interface with computerised systems, or logic controlled systems (it does not even have to be electronic logic systems).

And how many pet owners think their pet understands everything they say, while in reality the pet may just recognise the sound patterns of some of their words...

Mark
Last edited by 1024MAK on Fri Jun 29, 2018 1:33 pm, edited 1 time in total.

User avatar
Elminster
Posts: 3978
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Elminster » Fri Jun 29, 2018 1:43 pm

1024MAK wrote:
Fri Jun 29, 2018 1:30 pm
I don't speak any other human languages, but as soon as you look at English with new eyes, you find so many inconsistencies and words / meanings that only make sense if the full context is given. But most of the time, people don't give you the full context.

My wife's 3rd Language was American English before I retrained her. Even between British and American English you get wired constiancy meanings, due to the context of words being used differently between here and acros the pond.

User avatar
flaxcottage
Posts: 3779
Joined: Thu Dec 13, 2012 8:46 pm
Location: Derbyshire
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by flaxcottage » Fri Jun 29, 2018 3:28 pm

BigEd wrote:
Fri Jun 29, 2018 9:40 am
Took me 10 or 12 manual iterations in a spreadsheet to do the turnstile problem. I'd like to think a younger version of me could do it in his head. But is there a way to do it without iterating?
A spreadsheet is the best way to solve the problem. Mathematically the difficulty is that three simultaneous equations are needed but the information provides for only two;

A+P+C=100 ..................... (1)
2A+P/2+C/4=100 .............. (2)

where A=Adult numbers, P=over 60 numbers and C=children numbers admitted

Substituting for A from (1) into (2) gives

C=(400-6C)/7 .................. (3)

Removing C from the equations (1) and (2) gives

P=300-7A ....................... (4)

Set up a spreadsheet:-
sheet.jpg


and the result should be 40 - 20 - 40

Real results occur when B2 and C2 are integers. A must be <43 and >33.
- John

Image

User avatar
BigEd
Posts: 2691
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by BigEd » Fri Jun 29, 2018 3:32 pm

Ah... I found the different result 36 - 48 - 16

dp11
Posts: 956
Joined: Sun Aug 12, 2012 8:47 pm
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by dp11 » Fri Jun 29, 2018 4:08 pm

There are a number of solutions

A P C
42 6 52
41 13 46
40 20 40
39 27 34
38 34 28
37 41 22
36 48 16
35 55 10
34 62 4

Notice how P changes by 7 each time and C changes by 6

User avatar
Elminster
Posts: 3978
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Elminster » Fri Jun 29, 2018 4:13 pm

BigEd wrote:
Tue Jun 26, 2018 11:55 am
The Shape of Code[/url] blog (which takes the line "Teach children planning and problem solving not programming")
Jumping back to the blog 'The Shape of Code'

I found this an interesting statement
Switching to a more ‘serious’ language because it is similar to what professional programmers use is a failure to understand the purpose of what is being taught and a misunderstanding of why professionals still use ‘text’ based languages (because computer input has historically been via a keyboard and not a touch sensitive screen; I expect professional programmers will slowly migrate over to touch screen programming languages).
Because as I think I mentioned in another thread there is the 'grown-up' version of scratch in development that is much more complex than scratch as it has all the things missing from scratch that are available in more advanced modern languages but is still a visual and therefore a drag and dropable on an tablet language. so it could be that in future the Linux kernel will be programmed in a visual blocks language.

Oh gpblocks is the language.

Porting these langauges to Beeb might be tricky though. The editor would use all the memory before you wrote anything, would have to be a cross compile.

User avatar
Lardo Boffin
Posts: 1708
Joined: Thu Aug 06, 2015 6:47 am
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Lardo Boffin » Tue Jul 03, 2018 7:07 pm

Elminster wrote:
Fri Jun 29, 2018 9:23 am

Edit2: 30 Kids in a class room sounds like a scary number
My wife used to have that many on a regular basis. One year it was a split keystage group with VERY different ability ranges.
Atom, issue 5
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

User avatar
Lardo Boffin
Posts: 1708
Joined: Thu Aug 06, 2015 6:47 am
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Lardo Boffin » Tue Jul 03, 2018 7:25 pm

Regarding the language independent conceptual bugs with the For loop:-
F0AB55FB-E312-408A-889B-71544E4E04D5.jpeg
It is interesting that a lot of the students thought that the print statement would activate somehow magically when X got to 10. It is as if they decided to process it based on how they think it should work rather than what was considered the norm at the time. It is almost like they predicted the asynchronous model of javascript way before it came along. Admittedly you would have to have some sort of listening process in place (edit - the pub / sub process) but the print can be triggered based on events elsewhere without being called again directly from the loop. In the old slow days of dial up internet when you opened a page with multiple images you got the standard ‘picture’ place holder in the frame until it loaded. Once the program had made reference to the resource it moved on and more or less ignored it. The picture then loaded at some point.
Obviously stuff was going on in the background but as far as the programmer was concerned they did not need to know about this.

I never thought like that and really struggled with the whole async thing when I had to implement a data layer for a complex data driven mobile phone app. I still have nightmares about the jquery deferred and resolved promise chain coding structures. :cry: We were using async tools but a lot of what happened had to happen in a set order. Oh for the simple days of synchronous programming!

Anyway the point of all my ramblings is that I don’t think their thinking was a bug but just thinking outside the box.
Last edited by Lardo Boffin on Tue Jul 03, 2018 8:02 pm, edited 1 time in total.
Atom, issue 5
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

Coeus
Posts: 1402
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Coeus » Fri Jul 20, 2018 10:39 pm

Lardo Boffin wrote:
Tue Jul 03, 2018 7:25 pm
Anyway the point of all my ramblings is that I don’t think their thinking was a bug but just thinking outside the box.
Interesting this "everything happens all the time" model that isn't right for an imperative programming language is very similar to how asynchronous logic work and you have to add extra logic to make things synchronous, either to a clock or another part of the system.

User avatar
1024MAK
Posts: 9393
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by 1024MAK » Fri Jul 20, 2018 11:58 pm

In real world logic systems where micro-controllers and micro-processors are not involved, both parallel unsynchronised, sequential logic and synchronised logic is used.

And of course, 8/16/32 bit micro-controllers and micro-processors can do sequential logic and parallel logic (within limits). They can also fake other logic constructs.

The point here I think, is that although the students were told that the computer processed each command/instruction one at a time, then moved on to the next instruction, due to other life experiences, they did not know that they were making a mistake. Humans are always doing this. Look at some ordinary people pressing a button at a pedestrian crossing/traffic lights. How many times do they press it? Lots of people will press it multiple times. Why?

Mark

User avatar
jms2
Posts: 2313
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by jms2 » Sat Jul 21, 2018 8:31 am

Well, in Derby quite a lot of the buttons don't seem to work properly. You have to press them several times before they light up.

User avatar
1024MAK
Posts: 9393
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by 1024MAK » Sat Jul 21, 2018 9:15 am

jms2 wrote:
Sat Jul 21, 2018 8:31 am
Well, in Derby quite a lot of the buttons don't seem to work properly. You have to press them several times before they light up.
Yeah, but you don't press the button again after the system has acknowledged your input (or do you?). But some people keep pressing the button until the traffic lights change.

I noticed similar types of behaviour in other (wo)man/machine interfaces.

Mark
Last edited by 1024MAK on Sat Jul 21, 2018 9:15 am, edited 1 time in total.

User avatar
Elminster
Posts: 3978
Joined: Wed Jun 20, 2012 8:09 am
Location: Essex, UK
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Elminster » Sat Jul 21, 2018 9:35 am

1024MAK wrote:
Sat Jul 21, 2018 9:15 am
Yeah, but you don't press the button again after the system has acknowledged your input (or do you?). But some people keep pressing the button until the traffic lights change.

I noticed similar types of behaviour in other (wo)man/machine interfaces.
I think people get bored and need something todo, so they press the button again. Maybe when we have Siri in everything they can chat with the traffic lights.

Has anyone tried dictation for a whole program recently? I have done a few paragraphs on words and it was 100% spot on. But I got bored and went to look for a button to press.

User avatar
jms2
Posts: 2313
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by jms2 » Sun Jul 22, 2018 7:25 pm

Having just been for a short walk through town, I've got an update on the crucial subject of pedestrian crossing buttons (I'm sorry if this has got a bit off topic by the way :lol: - but it does tell us something about human/machine interaction I suppose).

On the way in, I pressed the button to cross the road - but it didn't work. So I tried pressing it again several times, and it still didn't work. Later on during my walk I encountered other various crossings (where the buttons probably did work), but I didn't need them because there wasn't much traffic around.

On the way home, I came to the busy road again - but by this point I knew I was better off relying on my own judgement rather than on the crossing. There were some cars coming, so I pressed the button - but I wasn't looking at it because I was keeping an eye on the traffic. Without even thinking about it, I automatically pressed the button several times. Subconsciously I reckon I must have been thinking "the button probably isn't working and I'm not relying on it anyway, but I've got nothing to lose by pressing it several times". I only realised what I was doing when the traffic stopped.

So that's my explanation - its a subconscious response to recent previous experiences.

Coeus
Posts: 1402
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: Using BBC BASIC to teach programming concepts in 2017

Post by Coeus » Sun Jul 22, 2018 8:54 pm

jms2 wrote:
Sun Jul 22, 2018 7:25 pm
...Subconsciously I reckon I must have been thinking "the button probably isn't working and I'm not relying on it anyway, but I've got nothing to lose by pressing it several times". I only realised what I was doing when the traffic stopped....
I wonder if there is a link here with "task closure". I first came across this concept when someone from one of the banks explained that they had reordered the sequence of actions when someone was using an ATM because they found of they gave the cash first and then asked the user if they wanted another service before returning the card, people were prone to walking away and leaving the card in the machine. As people's intention was to get cash from the machine, immediately they had achieved that the task was closed so they didn't bother with anything that should have followed. By giving the card back first and the cash last the problem was solved.

So I think it is almost the same thing here - closure would be the lights to stop the traffic and give the green pedestrian signal. Until they happens people feel they should be doing something.

Post Reply