"Beginners" put off...


298 posts   Page 8 of 12   1 ... 5, 6, 7, 8, 9, 10, 11, 12
by jamesh » Mon Dec 31, 2012 12:25 pm
richardp wrote:As James has stated several times that the documentation is coming soon; this is good progress - but until then, the Pi is NOT ANYWHERE NEAR the maturity that a Commodore64/ZX Spectrum was 30 years ago. Time will get it there, but keep in mind that Sinclar and C= could not release firmware updates after the release of the product. It just worked!

Richard


I'd say it was more mature than the C64, Spectrum, BBC etc... It's got a robust multi tasking OS, with a vast software base for starters. Which is more than the BBC and Spectrum had on startup, or indeed, ever. What it doesn't have it the comprehensive very basic documentation those devices had. Yet. But even the BBC micro needed an advanced user guide eventually, and many books were released for the those old computers over time, so there were holes even there. I remember having to figure out how a byte of video memory in 16 colour mode on the BBC was represented on screen as it wasn't in the documentation. Also worth remembering that those machines had the backing of huge companies behind them to produce all this documentation. The Raspi foundation doesn't yet have that benefit.
Volunteer at the Raspberry Pi Foundation, helper at Picademy September, October, November 2014.
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 12384
Joined: Sat Jul 30, 2011 7:41 pm
by pygmy_giant » Mon Dec 31, 2012 12:25 pm
I remember that too. I guess that the Foundation is doing things the other way round, and looking for corporate backing after establishing the Pi in the wild.

Re: Linux - alot of people don't use Linux. I'm looking forward to seeing a port of ReactOS and how Android shapes up. Most peoples home computers do not run Linux. I don't understand why everyone is so hung up on Linux. I think there is a feint aroma of intellectual snobbery in the geek community around that. Eight year olds dont care what powers their applications or desktop environment - they just want something that works.
Last edited by pygmy_giant on Mon Dec 31, 2012 12:32 pm, edited 1 time in total.
Posts: 1569
Joined: Sun Mar 04, 2012 12:49 am
by techpaul » Mon Dec 31, 2012 12:32 pm
pygmy_giant wrote:Python is todays popular language, but it will not always be that way. What kids really need to learn is the principles of programming and the flexability to apply them to any language. As with spoken languages, that starts with getting cosy with a single language and then branching out. When my 8 year-old enters the job market people will say 'Oh yeah, I remember Python - that was good in its day, but everyone uses Teapot++ these days'

Yes BASIC can a good starting point, however most BASICs with or without line numbers do not use block structures and similar portable methods.

Python, PHP, RubyonRails, Java and many other languages have many similar structures and methods with less major syntax changes between them, as they are classed as 'C' like, which a lot of languages are.

Python and to a certain extent PHP from command line, allow fairly easy introduction to programming, whereby a simple file can be edited then run, no pesky compilers, linkers, resource controls to deal with.

Starting programming from command line basis and using simple print and input type statements from the keyboard is by far easier than MOST graphical methods as they spend ages making forms, buttons, backgrounds and very little on the code. The main exception to this is scratch, where I have seen 11 year olds produce some pretty good games in that.

When I look at syllabus for GCSE and A level, BASIC is rarely there, in some cases they insist on Pascal, but often they have a choice with things like Python, PHP, Java and C the main ones. Most exam boards eventually managed to drop Visual Basic three years ago, thankfully.

With the Pi and GPIO it becomes possible to do basics of programming and programming to the real world easier than on a desktop PC, in languages like Python that can be used on desktop and the Pi, no teaching of too many different languages to a beginner. The code looks similar and helps the transitions between platforms.
Just another techie on the net - For GPIO boards see http:///www.facebook.com/pcservicesreading
or http://www.pcserviceselectronics.co.uk/pi/
Posts: 1510
Joined: Sat Jul 14, 2012 6:40 pm
Location: Reading, UK
by pygmy_giant » Mon Dec 31, 2012 12:37 pm
I agree - BASIC looks alien to me now, but thats how I started and by learning that you are learning more good habits than bad.

Personally I don't like languages without curly braces (like python) because I find them hard to read.

I still think BASIC with line numbers (*GASP!*) is easier to learn from fresh than a blocky language for kids of a certain age because they can easily understand numbered lists.
Posts: 1569
Joined: Sun Mar 04, 2012 12:49 am
by Ravenous » Mon Dec 31, 2012 12:38 pm
Friendly interjection: has everyone forgotten what the original question was?
Posts: 1729
Joined: Fri Feb 24, 2012 1:01 pm
Location: UK
by pygmy_giant » Mon Dec 31, 2012 12:40 pm
I hope so
Posts: 1569
Joined: Sun Mar 04, 2012 12:49 am
by rurwin » Mon Dec 31, 2012 12:41 pm
I think it is pretty clear that RISCOS would be better for the targetted audience
I think I would disagree with that.

Yes, right now, RISCOS may give a better out-of-the-box experience, but that is only a little customisation away for Linux.

The trick is going to be working out how to make that customisation so that the experience is newbie friendly without removing flexibility. IMHO offering only a single language environment would be a huge mistake. (I'm not saying that is what RISCOS is, but others have suggested doing that.) By all means allow a selection on first boot for the default environment, Scratch, Python, BASIC, what-have-you, but that default environment should be built on top of the full Linux base and allow easy access to it.
User avatar
Forum Moderator
Forum Moderator
Posts: 2949
Joined: Mon Jan 09, 2012 3:16 pm
by techpaul » Mon Dec 31, 2012 12:46 pm
pygmy_giant wrote:I agree - BASIC looks alien to me now, but thats how I started and by learning that you are learning more good habits than bad.
Basic was a great way to get spaghetti unmaintainable code, easier for beginners than most languages I have come across.
Personally I don't like languages without curly braces (like python) because I find them hard to read.
Wrong labguage curly braces "{" and "}" are synonomous with C, Java, PHP....... Python is the TAB/indent 'nazi'
I still think BASIC with line numbers (*GASP!*) is easier to learn from fresh than a blocky language for kids of a certain age because they can easily understand numbered lists.
Actually line numbering causes more problems and an extra concept to most I have come across of various abilities. Block structure helps to get into functions and applying algorithms.

Your method encourages random spaghetti especially when a lot of newbies suddenly want an extra 10 lines of code because they have no algorithm or done some paper design first.

Getting first hello world and similar programmes like print lists, areas of objects, guess a number and others is easy in Python and I have seen classes cope with it well.

Adding blocks helps to concentrate the mind on the basics of programme flow and structure
Just another techie on the net - For GPIO boards see http:///www.facebook.com/pcservicesreading
or http://www.pcserviceselectronics.co.uk/pi/
Posts: 1510
Joined: Sat Jul 14, 2012 6:40 pm
Location: Reading, UK
by pygmy_giant » Mon Dec 31, 2012 1:17 pm
True - but for a young child who has never programmed that extra concept could be a barrier. Most modern basics support block structures, so kids can start off with spaghetti and then learn the advantage of blocks.

My point is that we are looking in the rear-view mirror and forgetting how we got here.

Kids arent computers. They need to make mistakes and learn better ways of doing things.

PS - I know
curly braces "{" and "}" are synonomous with C, Java, PHP....... Python is the TAB/indent 'nazi'
- thats what I said(?!)
Posts: 1569
Joined: Sun Mar 04, 2012 12:49 am
by bgirardot » Mon Dec 31, 2012 1:42 pm
rurwin wrote:
Code: Select all
10 print "Hello World"
20 goto 10

Code: Select all
while True:
    print "Hello World"



I just want to point out there is a huge conceptual difference between the two examples above. One is a straight forward progression with obvious location labels and simple directions to go to a location and one involves Boolean logic with subtle non obvious formatting required to make a looping control structure.
Posts: 517
Joined: Wed Oct 10, 2012 6:20 am
Location: Switzerland
by bgirardot » Mon Dec 31, 2012 1:51 pm
Nipper wrote:I am not saying you should ditch the operating system for the people that are already comfortable with it. All I am arguing for is a place where youngsters can learn how a computer works in a language they understand. When you first started to learn mathematics, you first had to learn about numbers, it was a visual system of learning, learning to read and write you had to learn the alphabet first, also visual, it was only after learning the basics were you able to take the next steps, everything was a steady progression. Python assumes you are already past the first stages of a learning curve, a bit like giving a 3 year old a Bible to read, and, expecting that child to understand what is written down between the front and back covers. This is a hurdle Python and Pi has to overcome. Set up a new forum on here, specifically aimed at the teaching profession, and, get the teachers to voice their requirements, in an open, and, uncensored debate.


I think in one way or another most people here agree with you. Linux, and perhaps computers in general, are tough to just get dropped into without any guidance, support or instruction and the folks at the foundation know that, as does most of the community around here, and both groups are working to improve the situation. It is just taking the needed amount of time, which is never as fast as we would all like.

Also, there is a forum for teachers and educators:
viewforum.php?f=49
Posts: 517
Joined: Wed Oct 10, 2012 6:20 am
Location: Switzerland
by joan » Mon Dec 31, 2012 1:56 pm
As this seems to be free expression day I'll add mine.

I think BASIC is a much better choice than Python for teaching programming to those who know no previous programming language.

I'm not a teacher though. I hope the Raspberry Pi charity took advice from teachers before choosing to suggest Python.
User avatar
Posts: 6582
Joined: Thu Jul 05, 2012 5:09 pm
Location: UK
by Ravenous » Mon Dec 31, 2012 2:03 pm
Okay then, I'll add mine :)

It makes ALMOST NO DIFFERENCE what programing language you start with. It's the teaching materials that count.

Which takes us back to the original question...
Posts: 1729
Joined: Fri Feb 24, 2012 1:01 pm
Location: UK
by joan » Mon Dec 31, 2012 2:14 pm
Ravenous wrote:Okay then, I'll add mine :)

It makes ALMOST NO DIFFERENCE what programing language you start with. It's the teaching materials that count.

Which takes us back to the original question...

I disagree. Look at Ada. I don't know the history of Python but it wouldn't surprise me if it is also committee designed. BASIC is (to my mind) more intuitive and if you have a code example easier to extend.
User avatar
Posts: 6582
Joined: Thu Jul 05, 2012 5:09 pm
Location: UK
by Nipper » Mon Dec 31, 2012 2:17 pm
bgirardot wrote:
rurwin wrote:
Code: Select all
10 print "Hello World"
20 goto 10

Code: Select all
while True:
    print "Hello World"



I just want to point out there is a huge conceptual difference between the two examples above. One is a straight forward progression with obvious location labels and simple directions to go to a location and one involves Boolean logic with subtle non obvious formatting required to make a looping control structure.



Well put. Simple, to the point, easily understood by all readers on here (and the sample code fits that bill too) 8-)
User avatar
Posts: 39
Joined: Tue Dec 25, 2012 4:55 pm
by Ravenous » Mon Dec 31, 2012 2:20 pm
I said almost. I knew someone would come up with a crazy unsuitable language...

Main point is: can we put the religious discussion about which language is best on the programming forum? The thing the project needs is instructional materials, not another programming language.
Posts: 1729
Joined: Fri Feb 24, 2012 1:01 pm
Location: UK
by Sueno » Mon Dec 31, 2012 3:27 pm
I don't think we're "stuck" with anything. The beauty of the Pi is its flexibility and you can swap SD cards in an instant. I happily change between Linux and Riscos as the mood takes me. It's horses for courses and a Linux course becomes a RISCOS Pi course in a few seconds. Yes, RISCOS Pi does boot faster. Good luck to everyone in 2013. Clearly, there is a lot of effort going in to making the Pi a success. Well done, guys and girls. I think it is all great stuff.
Posts: 5
Joined: Fri Jan 27, 2012 5:18 pm
by Jim JKla » Mon Dec 31, 2012 3:45 pm
The Spectrum came with Sinclair basic it was either a 16k or a 48k version Linux had not been invented but it's precursor was Unix and you could not have beaten Unix into a Spectrum with a big stick but about two years into the Spectrum market life we started getting Assemblers Disassemblers packages like Forth with reverse polish notation for stack calculation.

The kids then understood and played with these new tools kids are not our problem. We have some adults who think because they find this too difficult therefore children will also find it too difficult.

Well you are just so wrong within about a year of the Educational launch there will be some budding junior engineers out there writing code that will blow your socks off. There will be kids writing machine code cross compilers for python and C++ running on RaspberryPi's.

There will be Python Blogs and Facebook Pages and obviously some new stuff thats not been thought of.

I predict there will be some sub-teen who is destined to be a Raspberry millionaire because he/she has worked out how to build a solar power raspberry cluster and the could well be one of these kids that are being told by nipper that it's too hard.

The RaspberryPi is an engineering challenge and I am for one determined to help some of these future engineers not by removing challenges but by setting challenges.

The world is yet to see what is possible with the RPi and if your hot and bothered in this kitchen then you need to get out of the kitchen and if that means you are forever excluded from the new wave so be it. Just put your RPi in the back of the drawer and wait for the next generation of geeks to show you what it's capable of cooking up.

When you download an image burn it to an SD card plug in a usb device and be amazed.

What it will actually do who knows we can only predict the future in the broadest terms. I do know the journey won't be boring, and I want to be along for the ride. ;)
Noob is not derogatory the noob is just the lower end of the noob--geek spectrum being a noob is just your first step towards being an uber-geek ;)

If you find a solution please post it in the wiki the forum dies too quick
User avatar
Posts: 2199
Joined: Sun Jan 29, 2012 11:15 pm
Location: Newcastle upon Tyne UK
by bgirardot » Mon Dec 31, 2012 4:02 pm
Ravenous wrote:I said almost. I knew someone would come up with a crazy unsuitable language...

Main point is: can we put the religious discussion about which language is best on the programming forum? The thing the project needs is instructional materials, not another programming language.


No need to come up with odd languages to understand that some languages are better than others for introductions to programming. It makes perfect educational sense to start with languages designed for learning instead of languages designed for low level control or hyper efficiency, they have different goals.

There is no need to use a language that is arcane and very low level like C/C++ or assembly, when there are languages designed to reduce the level of knowledge required so kids can focus on just thinking programatically first before they have to worry about memory management, registers, inheritance, base16, pointers, references and all the rest.

Sure you can learn to program with any language, but as said above, why throw people into the deep water first when they are learning to swim. You end up scaring a lot of people away who would have been perfectly good swimmers if they had been introduced to it sensibly.

This is not some pointless religious argument over what language is best, it is a discussion of the best approach to helping beginners get the most out of the RPi, designed from the beginning to help kids learn to program. Just dismissing the idea that thought should be put into it and decisions should be made based on careful considerations of the educational goals does not help us address the issue of beginners having problems.
Posts: 517
Joined: Wed Oct 10, 2012 6:20 am
Location: Switzerland
by bgirardot » Mon Dec 31, 2012 4:18 pm
Jim JKla wrote:I predict there will be some sub-teen who is destined to be a Raspberry millionaire because he/she has worked out how to build a solar power raspberry cluster and the could well be one of these kids that are being told by nipper that it's too hard.


It is too hard as it is now for a lot of folks, everyone but you seems to agree with that, including the developers of the Raspberry Pi!

I do not see anyone saying it is too hard, do not do it. Stop putting words in people's mouths. People are telling us where the barriers and difficulties are and you darn right we are working to lower the barriers to entry.

Again, sure some people can handle it just fine the things are now, thats great, but that is no reason to throw everyone else under the bus and tell them to sink or swim, either you are good enough, or have the right support to do it Jim JKla's way or you do not get to learn. That is crap.

I am glad it works for you the way it is now, stop trying to prevent other making it more accessible to more people. It is no skin off of your back side if people want to help lower the bar for entry, you can keep doing it however you want.

I am out of this conversation.

To the folks who were nice enough to provide feedback on the things you are finding difficult, thank you very much, I appreciate it. Please, please continue to let us know what you find difficult and how you think we could improve things to make it easier to get started. And know that a lot of folks have heard your input and are working to address the issues you have raised, it is just taking longer than anyone would like.
Posts: 517
Joined: Wed Oct 10, 2012 6:20 am
Location: Switzerland
by Mortimer » Mon Dec 31, 2012 4:19 pm
I think people might underestimate what school kids can do when they are set a challenge. I have helped out in schools as part of my employer's engineering in schools initiative, and I find kids are not daunted by what we as older people see as "too difficult". They will generally have a go anyway, rather than write it off as a lost cause before even starting.

I also am not sure there is any great difference overall from when I started programming to the way it is now. OK, the first machines I started with booted straight into an interpreter, but after that there was little help. Errors being cryptic errors codes that was interpreted as a one line piece of text in the back of a computer manual, that more often than not was not easy to interpret in the context of the program you were writing. Now, its a little more difficult to get to the point of being able to write code, but once there, the compilers and IDE's are far more helpful when things aren't going quite right.

It's early days too. It's good to see that beginners are taking an interest, but I though the main aim at this stage was for the advanced guard, i.e. those buying these earlier machines to come up with the software and materials for the beginners to use, and for use in the classrooms. People have had coming up to a year to put the Raspberry Pi through its paces and become familiar with it. So I think we will see things taking off quite considerably this year.

For those looking to learn a little about programming, I have found Codecademy quite good, and it would be nice to have something similar targeted at Raspberry Pis.
User avatar
Posts: 721
Joined: Sun Jun 10, 2012 3:57 pm
by rurwin » Mon Dec 31, 2012 4:46 pm
bgirardot wrote:
rurwin wrote:
Code: Select all
10 print "Hello World"
20 goto 10

Code: Select all
while True:
    print "Hello World"



I just want to point out there is a huge conceptual difference between the two examples above. One is a straight forward progression with obvious location labels and simple directions to go to a location and one involves Boolean logic with subtle non obvious formatting required to make a looping control structure.


True. But both are accessible to the target audience. One teaches odd stuff that they will never come across again, and the other teaches stuff that is common across a wide range of languages.

Do you think you never had to learn how line numbers worked? Why is it 10,20 and not 1,2 or 100,200? Where in people's lives today is the concept of numbering lines with gaps in so that later they can add something in the middle? Why teach them that rather than a magic incantation that gets them thinking and playing?

Code: Select all
Dad_is_behind_the_times = True
while Dad_is_behind_the_times:
    print "Wake up Dad!"


I would be the first to agree that there still needs to be work done before the Educational release. But kids will learn a lot of stuff very quickly.

The first computer I used, at the age of 14, required us to

Dial a number on the telephone
Wait for the modem tone
Jam the headset into the modem and close the lid
Hit Return a few times
Enter a username
Enter a password
Type a command to start the BASIC environment

None of that confused us in the slightest once it had been demonstrated a time or two.
User avatar
Forum Moderator
Forum Moderator
Posts: 2949
Joined: Mon Jan 09, 2012 3:16 pm
by Pete6 » Mon Dec 31, 2012 5:23 pm
The Pi is a remarkable achievement for the price. However there are any number of higher performance single board computers coming on to the market right now. It is an idea whose time has come.

The Pi needs to be upgraded regularly in order to even stay level in the current market. it HAS to run both Android and Windows RT. Kids today know about Android and they respect it. Linux is dead. Everyone says so and even though it is great for servers, it actually occupies about 1% of the desktop market today. Kids will hate that, for sure.

Linux is just so arcane in use. I grew up on PDP-11s and DEC VAXs, CP/M, TRS-DOS and MS-DOS so I am totally at home in a command line environment but, just to change the LDXE wallpaper entailed copying my image to an obscure directory first. Linux must become USABLE by normal people. This initial learning curve is simply too high for most people. Even I heave a sigh of relief when I turn off my Pi and go back to my Windows 8 laptop. Sorry but it's true. Several friends who are al long term computer people have told me the same thing.

You cannot compare the old BBC micro, ZX-80, Commodore 64 with what is out there today. Kids just do not comprehend CLIs. Asking them to go backwards 20 years or more is only going to put them off I am afraid.

I, like many other here think that the choice of Python is not the best choice. Just about the most commonly used language today is VisualBasic (not the old line-numbered Dartmouth monster) that lives within MS-Office and any number of web-apps and PC apps.

If you want to write apps today C++ and C# need to be there as well as Python and a decent VisualBasic clone.

I am not knocking the incredible achievement of the PI development but for it to have a lasting future, it needs a better operating environment.
My favorite programming language is a soldering iron.
Posts: 29
Joined: Sat Nov 24, 2012 4:02 pm
by JoeD » Mon Dec 31, 2012 5:28 pm
jamesh wrote:
JoeD wrote:
jamesh wrote:
Of course, there are deficiencies in the documentation for the Raspi. They'll get sorted over time. .


So the PLAN is to put people off using the Pi then?

From what I've seen, there will be a lot of Pi's sitting in boxes not being used as the documentation IS NOT THERE to get started. The really basic stuff. The aims of the Pi people will not be fulfilled and kids will be PUT OFF cvomputing rather than the other way around.

JoeD's Dad.


Actually, all the documentation to get started is already available - here's a link to the basic quick start guide. http://www.raspberrypi.org/wp-content/u ... e-v1.2.pdf

Its on a link form the home page of the website


Yes seen that. However without decent documention and a decent learning resource anyone is just flying blind and can spend hours looking for something that's obvious to experienced users. My son is 13 and has done Scratch at school and is keen to learn but finding information that's in an easily digestable format is difficult so he comes to me. Raspberry Pi HAS to have the right documentaion to get kids involved. In my business, some of the first programmed products had the software written by a colleague who learnt to program on a Spectrum. This is I guess why the Pi has been started - to get a new generation of youngsters involved. Others have commented on the BBC computer and how it was used in schools. (I did BASIC on a Dragon 32 as I couldn't afford a BBC). The Pi is cheap and affordable. If sold with a standard mem card and Linux so it could be used out of the box with a manual that's relevant, the frustrations could be reduced significantly and the uptake would be better..
Posts: 3
Joined: Sun Dec 30, 2012 7:26 pm
by jamesh » Mon Dec 31, 2012 6:07 pm
JoeD wrote:
jamesh wrote:
JoeD wrote:So the PLAN is to put people off using the Pi then?

From what I've seen, there will be a lot of Pi's sitting in boxes not being used as the documentation IS NOT THERE to get started. The really basic stuff. The aims of the Pi people will not be fulfilled and kids will be PUT OFF cvomputing rather than the other way around.

JoeD's Dad.


Actually, all the documentation to get started is already available - here's a link to the basic quick start guide. http://www.raspberrypi.org/wp-content/u ... e-v1.2.pdf

Its on a link form the home page of the website


Yes seen that. However without decent documention and a decent learning resource anyone is just flying blind and can spend hours looking for something that's obvious to experienced users. My son is 13 and has done Scratch at school and is keen to learn but finding information that's in an easily digestable format is difficult so he comes to me. Raspberry Pi HAS to have the right documentaion to get kids involved. In my business, some of the first programmed products had the software written by a colleague who learnt to program on a Spectrum. This is I guess why the Pi has been started - to get a new generation of youngsters involved. Others have commented on the BBC computer and how it was used in schools. (I did BASIC on a Dragon 32 as I couldn't afford a BBC). The Pi is cheap and affordable. If sold with a standard mem card and Linux so it could be used out of the box with a manual that's relevant, the frustrations could be reduced significantly and the uptake would be better..


What specifically do you think is missing, or you have had trouble finding using Google?

Uptake has not been a problem - and one of the reasons the docs are a bit behind - sold 800K so far from an expected first years sales of about 30k. That 30k intended to be developer releases to help us sort out the hardware, software and docs...its got a bit out of hand, and that means the schedule now no longer matches the sales figures. Hopefully lots of work in the New Year to fix all that.
Volunteer at the Raspberry Pi Foundation, helper at Picademy September, October, November 2014.
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 12384
Joined: Sat Jul 30, 2011 7:41 pm