My Idea of Summer Fun

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

My Idea of Summer Fun

Postby richmond62 » Thu Jun 15, 2017 6:37 pm

My idea of summer fun is to teach primary children in groups of six the fundamentals of computer programming.

I am starting them off this year with BBC BASIC as it seems a very 'clean' way to get to grips with things.

BBCBasic1.png

Splitting text strings in BBC BASIC.

Zarchos
Posts: 2355
Joined: Sun May 19, 2013 8:19 am
Location: FRANCE

Re: My Idea of Summer Fun

Postby Zarchos » Thu Jun 15, 2017 8:16 pm

That is a very clever approach, with sthing tactile.

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: My Idea of Summer Fun

Postby richmond62 » Thu Jun 15, 2017 8:55 pm

I always use tactile and physical things to get kids started as they are more "real" than what goes on
inside a computer, and children younger than 11-12 are not really capable of much abstract thought.

Zarchos
Posts: 2355
Joined: Sun May 19, 2013 8:19 am
Location: FRANCE

Re: My Idea of Summer Fun

Postby Zarchos » Fri Jun 16, 2017 6:36 am

Wow then I am still in my early teen years on many subjects ;-)

Are you a teacher ?
I was wondering if now children tend to do just everything on computers or tablets, the fact they don't use pens and sheets of paper, has decreased their ability to think, synthetize, and solve problems ...

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

Re: My Idea of Summer Fun

Postby flaxcottage » Fri Jun 16, 2017 7:42 am

BBC BASIC is excellent for teaching young children.

I used to have groups of primary students visit my school in the Summer to learn it a few years ago. I used it right up to GCSE. The language just seems designed for GCSE Computer Science. Richard Russell's version is the bee's knees. Why examination boards do not accept it I don't know. It must be some sort of snobbery in favour of that dreaded Python, which is absolutely useless to start teaching programming yet it is so 'fashionable'. [-X

When I started I used the three words PRINT, INPUT and COLOUR. They really grabbed the students' attention, especially COLOUR, and it was amazing what they could produce. When I introduced IF to recognise a name they all enjoyed producing insult machines. :lol:

Good luck with your enterprise. =D> =D>
- John

Currently running Level 4 Econet with BBC B, BBC B+ 128K, Master 128K, 4Mb A3000, 4Mb A3020, 4Mb A4000, 4Mb A5000 dual FDD; UK101; HP41CX setup; Psion 3a, 3mx and 5mx; Z88; TI-58c, TI-59 and printer, HP-16C programmer's calculator

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

Re: My Idea of Summer Fun

Postby Elminster » Fri Jun 16, 2017 9:38 am

flaxcottage wrote:BBC BASIC is excellent for teaching young children.

I used to have groups of primary students visit my school in the Summer to learn it a few years ago. I used it right up to GCSE. The language just seems designed for GCSE Computer Science. Richard Russell's version is the bee's knees. Why examination boards do not accept it I don't know. It must be some sort of snobbery in favour of that dreaded Python, which is absolutely useless to start teaching programming yet it is so 'fashionable'. [-X

When I started I used the three words PRINT, INPUT and COLOUR. They really grabbed the students' attention, especially COLOUR, and it was amazing what they could produce. When I introduced IF to recognise a name they all enjoyed producing insult machines. :lol:

Good luck with your enterprise. =D> =D>


I tend to use Python, Shell (bash or ksh) or C in real life. But had I started on these rather than BASIC in my <= teens I think my head may have exploded.

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: My Idea of Summer Fun

Postby richmond62 » Fri Jun 16, 2017 6:16 pm

Are you a teacher ?


Nothing more, nothing less :D
BBCBasic2.png

BBCBasic3.png

and lucky enough to have pupils who respond to my
"daftness" with Letter tiles and marker pens all over the table :P

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

Re: My Idea of Summer Fun

Postby TopBanana » Fri Jun 16, 2017 7:03 pm

Is there a maximum age limit to attend these classes ? :D

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: My Idea of Summer Fun

Postby richmond62 » Fri Jun 16, 2017 8:54 pm

No: but they are being held in Plovdiv, Bulgaria . . . so, if you just
so happen to stay just down the road . . . . .

Zarchos
Posts: 2355
Joined: Sun May 19, 2013 8:19 am
Location: FRANCE

Re: My Idea of Summer Fun

Postby Zarchos » Fri Jun 16, 2017 9:08 pm

Oooohhh isn't that the home country of a rare clone of the Oric Atmos ?

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: My Idea of Summer Fun

Postby richmond62 » Fri Jun 16, 2017 9:22 pm

It's the home of the Pravetz: a direct rip-off of the Apple II by the Communists.

http://www.pravetz.bg/history

In fact I know a chap who has 2 and I have spent ages working him over re them and a Commodore 64 he has lying around: no luck so far.

Zarchos
Posts: 2355
Joined: Sun May 19, 2013 8:19 am
Location: FRANCE

Re: My Idea of Summer Fun

Postby Zarchos » Fri Jun 16, 2017 9:30 pm

I was right ... :-)
Have you heard of the 8D ?

Apple, honestly, it doesn't ring a bell ... [-X but Oric yes, for sure :^o
:)

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: My Idea of Summer Fun

Postby richmond62 » Fri Jun 16, 2017 9:40 pm

Luckily I arrived here post-Communism and then dipped in and out of the country before
settling here about 12 years ago, so, while having heard of the 8D I have avoided the "pleasure" of the thing.

My wife (who is Bulgarian) worked on Pravetzes in the late 1980s.

Zarchos
Posts: 2355
Joined: Sun May 19, 2013 8:19 am
Location: FRANCE

Re: My Idea of Summer Fun

Postby Zarchos » Sat Jun 17, 2017 7:30 am

Just received ... for the museum
1497684523378987050997.jpg

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: My Idea of Summer Fun

Postby richmond62 » Sat Jun 17, 2017 11:50 am

Because the Linux boxes (aka any-old-crap-I-can-pick-up-second-hand) are connected to KeyNeeds
keyboards (originally designed for disabled people they are very good indeed for young EFL learners)
I have produced a picture of how the B-em maps onto a KeyNeeds KB (printed them out, ran them through the
stalwart laminating machine):

KB.png

The "only" snag is that as KeyNeeds KBs don't have Function keys one cannot access B-em's menuing system
and one has to Quit B-em using a KILL signal.

User avatar
richardtoohey
Posts: 3378
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand

Re: My Idea of Summer Fun

Postby richardtoohey » Sun Jun 18, 2017 12:38 am

richmond62 wrote:The "only" snag is that as KeyNeeds KBs don't have Function keys one cannot access B-em's menuing system
and one has to Quit B-em using a KILL signal.
If you are building from source (which I think from your posts you are) you should be able to change the use of the F keys or at least set up F11 differently. Don't mean that snarkily so if you need a hand to do so, ask away. Not sure from your keyboard map what keys are left available but if you said "can key X be the menu key" we should be able to figure it out. Rebuild the binary on one machine and copy that new binary to the others (think you've built on all of them so dependencies should be fine as long as you stick to same "size" - 32 or 64 bit.)

EDIT: should have looked in the other thread first, eh? All been done already! :D =D>

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: My Idea of Summer Fun

Postby richmond62 » Sun Jun 18, 2017 8:39 am

KB.png

Thanks for the support richardtoohey :D

That is the END key on the KeyNeeds keyboard.

User avatar
dgrubb
Posts: 134
Joined: Thu Jun 02, 2016 8:36 pm

Re: My Idea of Summer Fun

Postby dgrubb » Sun Jun 18, 2017 3:03 pm

flaxcottage wrote:that dreaded Python, which is absolutely useless to start teaching programming


Just curious, what's the problem with Python?

Zarchos
Posts: 2355
Joined: Sun May 19, 2013 8:19 am
Location: FRANCE

Re: My Idea of Summer Fun

Postby Zarchos » Sun Jun 18, 2017 3:24 pm

Oh oh bring the pop corn and watch ...

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

Re: My Idea of Summer Fun

Postby flaxcottage » Sun Jun 18, 2017 4:51 pm

dgrubb wrote:
flaxcottage wrote:that dreaded Python, which is absolutely useless to start teaching programming


Just curious, what's the problem with Python?


There are several problems with Python for teaching
as a first language
The first is that everything depends
on indentation.
Get it wrong and the blessed program doesn't work (just like indentation using spaces on this forum! :roll: )

It isn't a visible problem to students. A language that has terminated constructs is easier to learn

Secondly Python is a non-algorithmic language. It has no repeat ... until, no for ... next, no while ... endwhile, no case ... of ... endcase, etc structures. When teaching algorithms this makes Python nonsensical.

In console mode there is no clear screen command, no printing at defined screen coordinates and no use of colour.

There are no arrays.

True one can use kludges to get round these drawbacks but then one fights the language rather than using it and one has to teach that the language should have these features but doesn't. We are using Python because it is fashionable, free and pushed by the Raspberry Pi foundation and CAS.

From first hand experience, teaching students to program using BBC BASIC, Pascal or COMAL produces good programmers quicker and programmers who can easily adapt to programming in other languages. They are also very good at solving problems using algorithms. Students who are taught to program in Python have an extremely limited and blinkered outlook. At A-Level this is positively shackling. Would you use console Python for a data processing application? A-Level Pythonauts do. :? :lol:
- John

Currently running Level 4 Econet with BBC B, BBC B+ 128K, Master 128K, 4Mb A3000, 4Mb A3020, 4Mb A4000, 4Mb A5000 dual FDD; UK101; HP41CX setup; Psion 3a, 3mx and 5mx; Z88; TI-58c, TI-59 and printer, HP-16C programmer's calculator

User avatar
jonb
Posts: 2085
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: My Idea of Summer Fun

Postby jonb » Sun Jun 18, 2017 5:04 pm

flaxcottage wrote:
dgrubb wrote:
flaxcottage wrote:that dreaded Python, which is absolutely useless to start teaching programming


Just curious, what's the problem with Python?


There are several problems with Python for teaching
as a first language
The first is that everything depends
on indentation.
Get it wrong and the blessed program doesn't work (just like indentation using spaces on this forum! :roll: )

It isn't a visible problem to students. A language that has terminated constructs is easier to learn

Secondly Python is a non-algorithmic language. It has no repeat ... until, no for ... next, no while ... endwhile, no case ... of ... endcase, etc structures. When teaching algorithms this makes Python nonsensical.

In console mode there is no clear screen command, no printing at defined screen coordinates and no use of colour.

There are no arrays.

True one can use kludges to get round these drawbacks but then one fights the language rather than using it and one has to teach that the language should have these features but doesn't. We are using Python because it is fashionable, free and pushed by the Raspberry Pi foundation and CAS.

From first hand experience, teaching students to program using BBC BASIC, Pascal or COMAL produces good programmers quicker and programmers who can easily adapt to programming in other languages. They are also very good at solving problems using algorithms. Students who are taught to program in Python have an extremely limited and blinkered outlook. At A-Level this is positively shackling. Would you use console Python for a data processing application? A-Level Pythonauts do. :? :lol:



Whaaaaat???

I'll get the pitchforks and I'll meet you outside the Dept. Of Education with the firebrands!

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

Re: My Idea of Summer Fun

Postby Elminster » Sun Jun 18, 2017 5:13 pm

flaxcottage wrote:
Secondly Python is a non-algorithmic language. It has no repeat ... until, no for ... next, no while ... endwhile, no case ... of ... endcase, etc structures. When teaching algorithms this makes Python nonsensical.


I feel I must be falling into some sort of trap but how do you mean Python has no repeat, while, For etc? You mean the way it is implemented?

Also I assume we are talking basic 2/4 here so no while or case on Beeb basic. Unless we are talking about advanced copro basic, which does.

I do like Python but I would using do it in the order bash, Python, c. Bbc I would go basic then asm. Although tinkering with cross C.

But agree basic is good for teenagers. Python is a big language to learn.

User avatar
danielj
Posts: 5365
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: My Idea of Summer Fun

Postby danielj » Sun Jun 18, 2017 5:33 pm

Just looking at the Usborne "coding for beginners using python" book, (similar vein to their fantastic basic books of yore), definitely has for loops, while loops etc.. Or do you mean in the sense that they're obviously terminated blocks and in python you're relying on the indentation to convey the information about what's in which block? (I'm not a python programmer, I got this book for the youngling as he wanted something other than scratch and wanted "not old fashioned" :D)

d.

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: My Idea of Summer Fun

Postby richmond62 » Sun Jun 18, 2017 6:30 pm

Certainly, as my Devawriter Pro uses about 500 buttons, each with more than 5000 conditions I am
very, very heavily indebted to SWITCH . . . CASE statements.

User avatar
sweh
Posts: 1847
Joined: Sat Mar 10, 2012 12:05 pm
Location: New York, New York
Contact:

Re: My Idea of Summer Fun

Postby sweh » Sun Jun 18, 2017 7:02 pm

flaxcottage wrote:There are several problems with Python for teaching
as a first language
The first is that everything depends
on indentation.
Get it wrong and the blessed program doesn't work (just like indentation using spaces on this forum! :roll: )

It isn't a visible problem to students. A language that has terminated constructs is easier to learn

This is true, and my main dislike for Python (I'm a perl fan, myself).

Secondly Python is a non-algorithmic language. It has no repeat ... until, no for ... next, no while ... endwhile, no case ... of ... endcase, etc structures.

This is clearly not true. Python has a 'for' construct that iterates over list elements, and you can use this to do a "1 to N" type loop easily

Code: Select all

for i in xrange(1,N):
  do_something(i)


Similarly the 'while' command

Code: Select all

while condition:
  do_something()


In console mode there is no clear screen command, no printing at defined screen coordinates and no use of colour.

This really shouldn't be a function of the language. C, for example, doesn't have this. Neither does Java. Nor perl. Nor most languages. Instead we separate out this into a set of libraries which can be platform specific (clearing the screen on Linux would be different to clearing the screen on a Windows console). Python has the "curses" library (a common name, based on the standard Unix libraries of the same name). It's very easy to have a library that creates a "cls()" call. So there's no need for commands such as "CLS", "DRAW", "COLOUR" to be first class elements of languages.

The approach of having the output device tightly coupled to the language (as with BBC BASIC) is an anti-pattern and should not be taught.

There are no arrays.

Python has various data structures. A "list" is close to an "array", indexed from 0.

Code: Select all

myList=[1,2,3,4,5,6]
print myList[2]
myList[2]=100

etc

From first hand experience, teaching students to program using BBC BASIC, Pascal or COMAL produces good programmers quicker and programmers who can easily adapt to programming in other languages. They are also very good at solving problems using algorithms. Students who are taught to program in Python have an extremely limited and blinkered outlook. At A-Level this is positively shackling. Would you use console Python for a data processing application? A-Level Pythonauts do. :? :lol:


Command line programs are extremely well suited for data processing, and have a long and fruitful history. Indeed, this is what FORTRAN was designed for. By separating out processing and presentation layers we improve code re-usability (same routines can be used to create console apps, GUI apps, web apps). "Headless" programming for web interfaces is maybe the largest growing programming segment. A megabank (one of the largest in the world) has their primary trading platform written in python. With extensions such as numPy you get a massive library of scientific functions

I'm not a fan of python (white space sensitive languages just lead to odd bugs, and historically it's been slow - although that is improving), but if you're seeing A-level python programmers stuck in a rut then this seems like they've been taught badly.
Rgds
Stephen

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: My Idea of Summer Fun

Postby richmond62 » Sun Jun 18, 2017 7:18 pm

Personally Python gives me the willies.

As I teach programming in Bulgaria, in my own private school, I can decide WHAT, HOW and WHEN to teach,
and as I leap-frogged from exactly FORTRAN, BASIC AND PASCAL to OBJECT-BASED stuff (HYPERCARD, TOOLBOOK, METACARD,
HYPERNEXT, LIVECODE) I can't actually see any need to teach primary school kids stuff like PYTHON.

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

Re: My Idea of Summer Fun

Postby Elminster » Sun Jun 18, 2017 7:23 pm

I Don't think Sweh was suggestion to do Python, just that it is a valid language for the purpose it is intended.

Personally I am having fun with Basic but Basic V is better. With its while, case and multistatement if.

paulb
Posts: 784
Joined: Mon Jan 20, 2014 9:02 pm

Re: My Idea of Summer Fun

Postby paulb » Sun Jun 18, 2017 7:49 pm

flaxcottage wrote:Secondly Python is a non-algorithmic language.


Define "non-algorithmic language".

flaxcottage wrote:It has no repeat ... until, no for ... next, no while ... endwhile, no case ... of ... endcase, etc structures. When teaching algorithms this makes Python nonsensical.


It has "for" and "while" loops. Things like "do" or "repeat" loops for Python have been discussed endlessly over the years, but you can achieve the same thing with the other looping constructs. People have also proposed "switch" or "case" statements, but since those things only really have value when you can compile the code to some kind of branch table, you'd probably have to restrict the cases to employ constants.

In the end, nobody has been bothered to demonstrate the necessity of "switch" over "if" statement usage in Python, and people have probably been directed towards having a dictionary mapping values to callables if they want to achieve the same thing, which is more or less how people envisaged compiling such a statement. (You could also have the compiler translate "if" statements similarly under certain conditions.)

flaxcottage wrote:In console mode there is no clear screen command, no printing at defined screen coordinates and no use of colour.


Python in itself has no notion of a "console". And libraries exist for console interaction and graphical user interfaces.

flaxcottage wrote:There are no arrays.


Yes there are. And there are lists, anyway, which do what most people want from arrays plus more besides. Or just write your own collection abstractions.

flaxcottage wrote:Students who are taught to program in Python have an extremely limited and blinkered outlook.


If this is so, it is probably due to the students only being exposed to a single programming language: that is a widely-recognised phenomenon. You might be pleased to know that various computer science lecturers who told us undergraduates of their disdain for BASIC were probably expressing such disdain only partly with the language itself, with most of it rooted in their experiences with undergraduates who had only ever used that language.

That said, BASIC does not even measure up very well to traditional teaching languages like Pascal, particularly when modelling and representing data. Some students are able to broaden their perspectives when realising that their previous experiences were narrow and not representative of the discipline, but others seem to fail at this point of transition.

I would argue that Python is a considerable step forward in exposing the different elements of the discipline, even if modern computing environments have more moving parts and thus more complexity in things like configuration and deployment: you get to choose from a lot of libraries but have to make them available correctly. Of course, the quality of the teaching matters a lot: you could introduce a lot of concepts using just BASIC, but the issue then is how much more work would be needed to do so and whether the language would add to the confusion.

flaxcottage wrote:At A-Level this is positively shackling. Would you use console Python for a data processing application? A-Level Pythonauts do. :? :lol:


What kind of data processing application? The use of Python is now fairly routine in scientific disciplines, where I believe a lot of data processing takes place, and combining Python programs, perhaps using things like pipes, coordinating them using shell scripts or even Python programs, is a pretty effective way of getting data processing done, at least in my experience.

Of course, at more advanced levels, students should be employing things like database systems and other technologies to do the heavy lifting, choosing appropriate tools for each task. I hardly think Python is at a disadvantage to BASIC when taking such things on, somehow.

(And given that I spend a lot of time these days being critical of Python and its direction, this must have been the longest I've spent in some time actually defending its use.)

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

Re: My Idea of Summer Fun

Postby flaxcottage » Sun Jun 18, 2017 7:55 pm

Oh what fun!!! :twisted: :lol:

I was expecting C and Java to come along. Maybe they will. Ha Ha.
- John

Currently running Level 4 Econet with BBC B, BBC B+ 128K, Master 128K, 4Mb A3000, 4Mb A3020, 4Mb A4000, 4Mb A5000 dual FDD; UK101; HP41CX setup; Psion 3a, 3mx and 5mx; Z88; TI-58c, TI-59 and printer, HP-16C programmer's calculator

Zarchos
Posts: 2355
Joined: Sun May 19, 2013 8:19 am
Location: FRANCE

Re: My Idea of Summer Fun

Postby Zarchos » Sun Jun 18, 2017 8:01 pm

Duel tomorrow morning at dawn near the abandoned castle in the forest ... :mrgreen:
Bring your ADA95 course book and your COBOL manual.


Return to “off-topic”

Who is online

Users browsing this forum: No registered users and 3 guests