DanVan
Posts: 5
Joined: Sat Oct 15, 2011 6:58 am

Re: Lets get a beginner programing thread in here!

Sun Oct 16, 2011 2:54 pm

Since python is aimed at teaching kids how to program why don't we get a resource thread in here
Python
http://learnpythonthehardway.org/
Ruby
http://ruby.learncodethehardway.org/

MarkSmith
Posts: 29
Joined: Sat Sep 17, 2011 3:58 pm

Re: Lets get a beginner programing thread in here!

Sun Oct 16, 2011 3:15 pm

Depends on the age of the kid. 16+, I would be tempted to say just learn C/C++ and stop your whining and do it properly. ;)

On saying that, experience tells me that me that you have to find an angle to get them interested first.

One of mine was music the other art, with the carrot of, you could so much more with a little bit of expertise. After that they tended to run with it.

DanVan
Posts: 5
Joined: Sat Oct 15, 2011 6:58 am

Re: Lets get a beginner programing thread in here!

Sun Oct 16, 2011 5:40 pm

Do you have any resources for C/C+ +? I want to teach myself C/C+ +, I have a little experience with OOP but not. Much

tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: Lets get a beginner programing thread in here!

Sun Oct 16, 2011 6:06 pm

If you want to learn C, you'd not go far wrong with "The C Programming Language" by Kernighan and Ritchie. It's not available online as far as I know (although there are probably hooky pdfs on scribd) but it's the bible.
C is not a big language, and it is not well served by a big book
For C++, hell if I know. Stroustroup is dense to the point of being obtuse, and you need to know the language a bit before Meyers' "Effective C++" is of any use. http://www.cplusplus.com/doc/tutorial/ is probably a decent start.

Simon

andyfrommk
Posts: 7
Joined: Sun Aug 21, 2011 11:43 am
Contact: Website

Re: Lets get a beginner programing thread in here!

Sun Oct 16, 2011 7:49 pm

Quote from DanVan on October 16, 2011, 18:40
Do you have any resources for C/C+ +? I want to teach myself C/C+ +, I have a little experience with OOP but not. Much
I have found http://www.youtube.com/user/LetsLearnCPP to be very useful

pauleway
Posts: 1
Joined: Mon Oct 17, 2011 3:12 am

Re: Lets get a beginner programing thread in here!

Mon Oct 17, 2011 4:18 am

I am curious whether this device will support Processing ( http://processing.org/ ) It is a Java based program that is a great teaching language. Anyone have any idea here?

Bacan
Posts: 347
Joined: Sun Sep 25, 2011 10:03 pm

Re: Lets get a beginner programing thread in here!

Mon Oct 17, 2011 6:25 am

Quote from tufty on October 16, 2011, 19:06
If you want to learn C, you'd not go far wrong with "The C Programming Language" by Kernighan and Ritchie.

Using Google search: C Programming Language 2nd Edition PDF
resulted in over half a dozen sites offering a PDF version of the classic.
I did a quick DnLoad. It looked good to me.

If you have trouble getting the links, let me know, I'll post my search results.

tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: Lets get a beginner programing thread in here!

Mon Oct 17, 2011 8:01 am

Don't worry about me, I have the first and second editions here "in the flesh". I'd be wary of posting direct links to copyright infringement, though.

As for Processing, I don't know. It would need a JVM (I believe the ARM core is Jazelle-enabled, for what it's worth), but that's certainly a worthwhile thing to have. Processing is pretty nice.

Lakes
Posts: 267
Joined: Wed Aug 24, 2011 2:17 pm

Re: Lets get a beginner programing thread in here!

Mon Oct 17, 2011 7:30 pm

+ 1 For The Processing Language

barr5790
Posts: 7
Joined: Thu Oct 13, 2011 7:03 pm

Re: Lets get a beginner programing thread in here!

Mon Oct 17, 2011 7:31 pm

Quote from tufty on October 16, 2011, 19:06
If you want to learn C, you'd not go far wrong with "The C Programming Language" by Kernighan and Ritchie.
Simon

I'm not so sure. While I agree it is a very good book, I don't think I would advise it for someone completely new to programming. The book I started on was Absolute Beginner's Guide to C by Greg Perry. While it would be a tedious read for anyone who is already familiar with programming, I thought it covered the basics well.

User avatar
panik
Posts: 369
Joined: Fri Sep 23, 2011 12:29 pm
Location: Netherlands

Re: Lets get a beginner programing thread in here!

Wed Oct 19, 2011 1:46 pm

Quote from tufty on October 17, 2011, 09:01
As for Processing, I don't know. It would need a JVM (I believe the ARM core is Jazelle-enabled, for what it's worth), but that's certainly a worthwhile thing to have. Processing is pretty nice.

If (for whatever reason) Java is a problem or annoyance, there's also an HTML5/javascript implementation of processing.

http://processingjs.org/
Microcontroller addon boards and software for Raspberry Pi A+/B+/Pi2:
- ARMinARM: ARM Cortex-M3 (STM32)
- AVRPi: ATmega32U4 & ATmega328 ("Arduino")
http://www.onandoffables.com

jacklang
Posts: 166
Joined: Thu Aug 04, 2011 10:59 am

Re: Lets get a beginner programing thread in here!

Wed Oct 19, 2011 2:07 pm

You might want to look at the Computing at School group that have put a lot of work into this problem
http://www.computingatschool.org.uk/
http://www.computingatschool.o.....Curric.pdf
http://www.computingatschool.o.....id=cpinks3

A group of teachers and other specialists from CAS have formed a group to write and introduction for Raspberry Pi - exciting stuff: http://groups.google.com/group.....ling?hl=en

Scribe
Posts: 98
Joined: Wed Sep 28, 2011 12:00 pm
Contact: Website

Re: Lets get a beginner programing thread in here!

Wed Oct 19, 2011 4:10 pm

A good book for learning standards based C++ is:
http://www.amazon.co.uk/Beginn.....b_title_bk

It's more interesting than For Dummies etc because it teaches through simple command-line games. It has a good focus on using classes and STL and is very clear.

ajford
Posts: 15
Joined: Tue Sep 13, 2011 3:17 am

Re: Lets get a beginner programing thread in here!

Wed Oct 26, 2011 9:26 pm

Quote from MarkSmith on October 16, 2011, 16:15
Depends on the age of the kid. 16+, I would be tempted to say just learn C/C++ and stop your whining and do it properly. ;)


If it weren't for the fact that I started with C++, I'd be offended ;)

I vote Python, and recommend learnpythonthehardway.org (above, OP),
as well as python-guide: http://python-guide.org

When paired with pygame, it makes an easy way to get those of younger age into the thick of things, and even those older (who can resist making pong ;) ).
http://http://www.pygame.org/

Ford

User avatar
Beakster
Posts: 29
Joined: Mon Oct 24, 2011 6:03 pm

Re: Lets get a beginner programing thread in here!

Wed Oct 26, 2011 10:44 pm

I'm probably in the minority here, but I'm most interested in programming the R-Pi in Assembler and executing my code directly from the boot loader without Linux or any other operating system getting in the way.

I hadn't done any ARM assembler until recently when I started working through the following tutorials using QEMU to run my assembled code:
http://bravegnu.org/gnu-eprog/index.html
http://www.heyrick.co.uk/assembler/

It might be a bit too low level for most people, but if the aim of the project is to teach kids how computers really work then it's perfect. :D

Bacan
Posts: 347
Joined: Sun Sep 25, 2011 10:03 pm

Re: Lets get a beginner programing thread in here!

Thu Oct 27, 2011 12:36 am

Quote from Beakster on October 26, 2011, 23:44
I'm probably in the minority here, but I'm most interested in programming the R-Pi in Assembler and executing my code directly from the boot loader without Linux or any other operating system getting in the way.

We might be in a minority; your not alone in your desires.
You can count me in as having nearly the same intent, for fun!
Sick, I know. I like getting that level of control on the machine.

ajford
Posts: 15
Joined: Tue Sep 13, 2011 3:17 am

Re: Lets get a beginner programing thread in here!

Thu Oct 27, 2011 2:00 am

Quote from Bacan on October 27, 2011, 01:36
Quote from Beakster on October 26, 2011, 23:44
I'm probably in the minority here, but I'm most interested in programming the R-Pi in Assembler and executing my code directly from the boot loader without Linux or any other operating system getting in the way.

We might be in a minority; your not alone in your desires.
You can count me in as having nearly the same intent, for fun!
Sick, I know. I like getting that level of control on the machine.

I'd have to say I'm in the same boat. I think it might be quite helpful for my other project (using the RasPi as a radio astronomy reciever, see http://www.raspberrypi.org/?pa.....#038;t=868), having less overhead would free up a lot more power to do some signal processing. Come to think of it, so would having access to the DSP core in the GPU that I've heard of... ;)

thesynapseuk
Posts: 55
Joined: Thu Jul 28, 2011 11:21 am

Re: Lets get a beginner programing thread in here!

Thu Oct 27, 2011 4:09 pm

What seems to be forgotten again and again on this forum and on threads like this in particular is that kids will NOT engage in anything that takes too long to get results in. ANYTHING that will help them get decent looking results quicker is good. C++ will NOT be a good choice for anyone, any age as a starter language because the time between getting into it and producing something is too long and too much hard work. People need to get some encouragement whilst they learn in order to persist.

I often find that there is a pervasive attitude of ,"If they can't live up to our high standards then they're not worth bothering with". If this device is to be aimed at education and addressing this country's pressing needs (besides other things) then things like C/C++ etc. have no place at all. You've got to see the problem from the eyes of an educator rather than a hobbyist/hacker.

Two-penneth given. Over.

User avatar
Beakster
Posts: 29
Joined: Mon Oct 24, 2011 6:03 pm

Re: Lets get a beginner programing thread in here!

Thu Oct 27, 2011 5:09 pm

Quote from thesynapseuk on October 27, 2011, 17:09
What seems to be forgotten again and again on this forum and on threads like this in particular is that kids will NOT engage in anything that takes too long to get results in.

How about this for a crazy project idea to address that concern...

A reimplementation of the BBC Micro's operating system and BBC Basic for the Pi. It could run direct from the SD card so when they turn the computer on they get a screen that's ready to start typing programming into. No need to learn linux/unix, all they would need is a book on BBC Basic. There are loads of old ones floating around the UK and the official one from Acorn could probably be distributed as a PDF.

Evidence as to why this would work is that it worked for all of us that were exposed to the BBC Micro at school. You turn it on and type:
10 PRINT "HELLO"
20 GOTO 10
RUN

From turning the power switch it takes about 30 seconds until you have your first program running. :D Then you start to wonder what else you can do and look in to the book to find command to read input from the user and draw shapes on the screen.

clivef
Posts: 67
Joined: Thu Oct 27, 2011 1:40 pm

Re: Lets get a beginner programing thread in here!

Thu Oct 27, 2011 7:36 pm

This is a great idea Beakster, but there is one thing that would make it a million times better: change the language :)

Booting to a REPL (perhaps via a simple menu) is a must for me, especially bearing in mind the Foundation's purpose. But the '80s were a quarter of a century ago and kids are not the same*. We are now competing with the buzz of shooting your mate in the face in CoD and other such diversions. Revisiting the BBC user guide today confirms that it is neither fun nor inspirational . I really wanted it to be exciting, but it is 32 pages in before you actually get to type a program ( which takes an input and multiplies it by 12 :o .)

Python - just for example! - has the same immediacy but would actually be useful to learn and could be coupled with a contemporary, learn-whilst-doing, topic-based user guide. Now booting to that would make me happy.

*Disclaimer: I was one of those kids who typed '10 PRINT "Clive is ace"; 20 GOTO 10'. And permanently carried a 2p piece around in my pocket in case I had to phone home etc. Yes, they were heady days, never to be seen again :( :D

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5201
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: Lets get a beginner programing thread in here!

Thu Oct 27, 2011 8:23 pm

I see your pocket and raise you a girl's prep school purse-belt. (Note zip pocket for putting your tuck money and phone change in.) And I was mostly typing '10 PRINT "Miss Lyons smells of cheese"' - but those details aside, that's a very recognisable childhood.
Director of Communications, Raspberry Pi

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5201
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: Lets get a beginner programing thread in here!

Thu Oct 27, 2011 8:24 pm

Incidentally: if you're reading, Miss Lyons, you did not smell of cheese. I was just a spectacularly unpleasant 11-year-old.
Director of Communications, Raspberry Pi

tnelsond
Posts: 120
Joined: Sun Aug 07, 2011 4:35 pm
Contact: Website

Re: Lets get a beginner programing thread in here!

Thu Oct 27, 2011 8:39 pm

All this talk about Basic makes me wonder what's wrong with the shell.

I mean it already is a REPL and it's very very useful. From the shell you can do just about everything in linux. You can even write shell scripts.

clivef
Posts: 67
Joined: Thu Oct 27, 2011 1:40 pm

Re: Lets get a beginner programing thread in here!

Thu Oct 27, 2011 8:52 pm

Quote from liz on October 27, 2011, 21:23
I see your pocket and raise you a girl's prep school purse-belt

<Grovels on floor, snatching sideways glances at the mighty Purse Belt>. I did not imagine such things existed :o

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5201
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: Lets get a beginner programing thread in here!

Thu Oct 27, 2011 8:59 pm

To be honest, I'm a bit shocked to discover that purse belts still make up part of girls' uniforms. My first encounter with one was 27 years ago. (That particular school uniform also included a straw boater hat in summer, which we used to suck on because the starch was delicious, like envelope glue, and a cross between an air hostess's cap and a city gent's bowler hat in the winter. That hat didn't taste quite so good.)
Director of Communications, Raspberry Pi

Return to “General programming discussion”