Progamming in UK Schools

For other topics related to the FreeBASIC project or its community.
Sigord
Posts: 153
Joined: Mar 14, 2013 9:54
Location: Hastings UK
Contact:

Progamming in UK Schools

Postby Sigord » Sep 01, 2014 11:15

Some may have seen today in the UK News that schools are beginning to teach computer programming. Does anyone know what sort of language will be involved? Will it be some form of simple QB / FB, or some terribly complex version of 'C' for the poor kids?
marcov
Posts: 2752
Joined: Jun 16, 2005 9:45
Location: Eindhoven, NL
Contact:

Re: Progamming in UK Schools

Postby marcov » Sep 01, 2014 11:43

Well, the Raspberry Pi (Model A) was originally meant for UK schools, and the educational programming was in Python iirc.
Sigord
Posts: 153
Joined: Mar 14, 2013 9:54
Location: Hastings UK
Contact:

Re: Progamming in UK Schools

Postby Sigord » Sep 01, 2014 13:14

Exactly what language or version thereof is used on a Raspberry
aurelVZAB
Posts: 289
Joined: Jul 02, 2008 14:55
Location: Croatia
Contact:

Re: Progamming in UK Schools

Postby aurelVZAB » Sep 01, 2014 14:26

python on Rpi....
python sucks..
Sigord
Posts: 153
Joined: Mar 14, 2013 9:54
Location: Hastings UK
Contact:

Re: Progamming in UK Schools

Postby Sigord » Sep 01, 2014 15:05

Typical of the British Education system look at this nerdy Python rubbish compared to QB and FB

Code: Select all

>>> from collections import deque
>>> queue = deque(["Eric", "John", "Michael"])
>>> queue.append("Terry")           # Terry arrives
>>> queue.append("Graham")          # Graham arrives
>>> queue.popleft()                 # The first to arrive now leaves
'Eric'
>>> queue.popleft()                 # The second to arrive now leaves
'John'
>>> queue                           # Remaining queue in order of arrival
deque(['Michael', 'Terry', 'Graham'])
marcov
Posts: 2752
Joined: Jun 16, 2005 9:45
Location: Eindhoven, NL
Contact:

Re: Progamming in UK Schools

Postby marcov » Sep 01, 2014 18:41

I don't know. I taught languages a while in the past, and learned from that that an ideal teaching language is not always a worthwhile language to know long term.

So Python suits perfectly :-)
counting_pine
Site Admin
Posts: 6169
Joined: Jul 05, 2005 17:32
Location: Manchester, Lancs

Re: Progamming in UK Schools

Postby counting_pine » Sep 01, 2014 19:21

Also, I think the deque example might look significantly longer in FB.
MrSwiss
Posts: 3124
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: Progamming in UK Schools

Postby MrSwiss » Sep 01, 2014 21:09

We might make a difference here between 'scripting' and 'programming', or
maybe more to the point, between 'compiler' and 'interpreter' languages.
badidea
Posts: 1384
Joined: May 24, 2007 22:10
Location: The Netherlands

Re: Progamming in UK Schools

Postby badidea » Sep 01, 2014 21:52

Python isn't bad as a 'beginner' language. For more serious projects, I don't like it.
BasicCoder2
Posts: 3349
Joined: Jan 01, 2009 7:03

Re: Progamming in UK Schools

Postby BasicCoder2 » Sep 02, 2014 0:50

Sigord wrote:Typical of the British Education system look at this nerdy Python rubbish compared to QB and FB

So what is FB version of the example so I can compare it?
Would you need to write a FB version of the deque object with the same set of methods ?
marcov
Posts: 2752
Joined: Jun 16, 2005 9:45
Location: Eindhoven, NL
Contact:

Re: Progamming in UK Schools

Postby marcov » Sep 02, 2014 8:37

badidea wrote:Python isn't bad as a 'beginner' language. For more serious projects, I don't like it.


Personally I think for the _first_ programming course, the environment is more important than the language. The number of lessons is limited, and you want the maximum out of it.

The more unnecessary boilerplate a language has for minimal programs that just draw/write something on screen (think #Include/using, int main() etc) the more unsuitable the language. Any boilerplate requires some questions, questions and students hold up due to beginner mistakes in the boilerplate during experimentation. Similarly for semicolons terminator/separators etc.

In some languages import related boilerplate can be reduced by preloading a library in the default namespace in the educational setup.

For the same reason, as little time as possible should be spent on harnessing the IDE (this includes the form designner for output. And you really don't want to explain QT slots etc), and again as functional and to the point as possible, without much boilerplate

IMHO most commercial languages/IDE are unusable, even the scripting languages. Too much boilerplate, too much setup, too much functionality accessible that is not needed which is errorprone, invites offtopic playing.

Of course you can make allowances for student level (CS students differ from primary school kids), but usually some of that level distance is already souped up by the complexity of the examples and general progression of difficulty over classes.

Keep in mind also that the slowest students (the ones without any programming knowledge) set the pace. They need the introductionary class the most.

I helped teaching a mix of 1st year CS and math students, with some additional people that got a partial CS or math certificate after finishing some other engineering degree. Both groups had total programming virgins, despite a general high math and abstraction ability.
dodicat
Posts: 5809
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: Progamming in UK Schools

Postby dodicat » Sep 02, 2014 10:27

Sigord wrote:Typical of the British Education system look at this nerdy Python rubbish compared to QB and FB
...
...


England, Wales and Northern Ireland are the parts of the UK to start this.
But I would say that you can be sure that free compilers/interpreters will not be used.

Some people will make money out of this, this will have been the inspiration, not the children's needs.
Sigord
Posts: 153
Joined: Mar 14, 2013 9:54
Location: Hastings UK
Contact:

Re: Progamming in UK Schools

Postby Sigord » Sep 02, 2014 12:14

I did actually download and install what appears to be free large version of Python. But soon uninstalled it fed up with the endless descriptions instead of seeing simple code. Just so that those of Amateurs Programmers among us like me can see the difference perhaps as suggested someone could post a simple working program in Python and the equivalent in FB.

If not too far off subject, it always amazes me the way UK teachers still seem to be asking the kids what sort of job they want instead of advising them based on their school reports. This is especially in view of the massive unemployment among teenagers so that surely many are lucky to get any job.
dodicat
Posts: 5809
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: Progamming in UK Schools

Postby dodicat » Sep 02, 2014 12:51

counting_pine wrote:Also, I think the deque example might look significantly longer in FB.


If you use the up to date build (which incorporates udt dynamic arrays), then you can just about regurgitate something similar:

Code: Select all

 

'need the latest freebasic build

type name
    as string names(any)
    declare sub append(as string)
    declare sub popleft()
    declare operator cast() as string
end type

sub arrayinsert( a() as string,index as integer,insert as string )
if index>=lbound(a) and index<=ubound(a)+1 then
    index=index-lbound(a)
    redim preserve a(lbound(a) to  ubound(a)+1)
    for x as integer= ubound(a) to lbound(a)+index+1 step -1
      Swap a(x),a(x-1)
    next x
   a(lbound(a)+index)=insert
   end if
end sub
sub arraydelete(a() as string,index as integer)
    if index>=lbound(a) and index<=ubound(a) then
    for x as integer=index to ubound(a)-1
         a(x)=a(x+1)
    next x
    redim preserve a(lbound(a) to ubound(a)-1)
    endif
end sub

operator name.cast() as string
for n as integer=lbound(names) to ubound(names)
    print names(n) + " ";
next n
return ""
end operator

sub name.append(s as string)
    arrayinsert(names(), ubound(names)+1,s)
end sub

sub name.popleft
    arraydelete(names(),lbound(names))
end sub

'===================================================
'START

dim as name deque
redim deque.names(1 to 3)
with deque
    .names(1)="Eric":.names(2)="John":.names(3)="Michael"
end with

print deque

deque.append("Terry")':print deque
deque.append("Graham")':print deque

deque.popleft
deque.popleft

print deque
sleep

   
badidea
Posts: 1384
Joined: May 24, 2007 22:10
Location: The Netherlands

Re: Progamming in UK Schools

Postby badidea » Sep 02, 2014 14:58

Sigord wrote:I did actually download and install what appears to be free large version of Python. But soon uninstalled it fed up with the endless descriptions instead of seeing simple code. Just so that those of Amateurs Programmers among us like me can see the difference perhaps as suggested someone could post a simple working program in Python and the equivalent in FB.
...

Switching form one language to a different one can take some time. I once tried java, but after 3 unsuccessful evenings of trying to do stuff which would take me only 5 minutes in freeBASIC or C, I decided that java is not meant for me. I was, in a way, forced to learn python since we use it at work a lot. I doubt it will ever be my favourite language, but you can do a lot with just a few lines of code.

Basic python examples: http://www.java2s.com/Code/Python/CatalogPython.htm

Return to “Community Discussion”

Who is online

Users browsing this forum: Baidu [Spider], Josep Roca and 4 guests