pouët.net

Java tutorial for elementary school students

category: general [glöplog]
There are/were? thousands of Java tutorials.
Why not one more?
(Lass/doodVIII)
:)
added on the 2008-02-05 00:31:55 by BITS BITS
SoLo2, comment, BBS, java topic
They should have problem solving classes. real problem solving.
I learned LOGO first (not at school). BASIC would have been a better choice imho. Javascript seems to be the best bet nowadays: it's a simple language with real uses. And Processing... maybe, didn't look enough into it.

Basically: any simple interpreter w/o too much structure needed with wich you can make funny stuff and solve real problems, albeit simple. And that makes is easy to share them with friends.

If you teach Java to your kid you're a sadic...
added on the 2008-02-05 00:41:26 by makc makc
Scratch is a visual programming language especially designed for teaching programming to children.

I confess to having played with it for a couple of nights.. I almost started making a demo but then I came into my senses :)


added on the 2008-02-05 00:58:33 by Preacher Preacher
makc: I fully agree. Java is for masoc... :) Teach 'em BASIC ! Maybe even Assembler, do not underestimate how fast children learn! it's great (and useful!) to get to know the fundamentals of programming!

(seriously, I found ASM much easier to learn than any of the *abstract* high level languages when yours truly was just a little kiddo!)

added on the 2008-02-05 01:01:04 by xyz xyz
....and do not teach 'em X86 ! give em ARM, M68K or even better some simplified ASM instruction set VM (anyone knows a good one? there must be something) ..and preacher: I agree that visual feedback is surely very important in order to not bore the kids! The "learning VM" (if there is one) should definitely come with a (simple!) graphics(/audio?) library!
added on the 2008-02-05 01:18:40 by xyz xyz
You overestimate children (I assume we're talking about young kids, ie. not teenagers). They don't want to code, they want to play, and if putting a picture of a cat on the screen takes more than three clicks with a mouse, the vast, vast majority of them is not going to bother, and the rest will learn programming on their own anyway (that includes a lot of people on this site). Very few kids, if any, are capable of abstract and conceptual thinking until they're in their teens, and many are not even then.

Scratch is a VM with a graphics and audio library, and lots of fun features. What more can you ask?
added on the 2008-02-05 01:24:48 by Preacher Preacher
Preacher: It's just that I find "programming by clicking" very abstract in itself. Maybe I'm wrong. I learned BASIC when I was 8 years old, Assembler when I was 9 and I really don't think that I'm exceptionally intelligent.
I had quite some discussions with friends about whether it's better to teach object oriented thinking to young children or if they should better learn procedural stuff.
The only thing I can tell you is that when I was young, I found procedural thinking much easier.
When I would have to learn programming right now, I would love to have a very simple procedural language with a rather sophisticated library that would allow me to display 3d cats :) I would not want to know how the 3d stuff works but rather how to move that cat :) I think that it would be better to introduce these kids to at least the very fundamental idea of "meaningful" text files instead of having them just click at something.
Maybe it would be cool to combine both worlds in a programming environment that offers "just click" examples (i.e. where you could still achieve simple things easily) but which let's the more interested kids have a look behind the scenes..

added on the 2008-02-05 01:45:42 by xyz xyz
Quote:
It's just that I find "programming by clicking" very abstract in itself. Maybe I'm wrong. I learned BASIC when I was 8 years old, Assembler when I was 9 and I really don't think that I'm exceptionally intelligent.


Depends on the attention span of the kids. If you don't have any focus, if you can't use your mind like a coherent spotlight for hundreds of second at a time on a single problem, then I would say coding is pretty hopeless.
Oh, and try to compare how your own mind evolved and how today kids minds evolve. Compare the level of dedication. Compare the level of effort capacity. Compare your patience at 9 and theirs. Compare your way to deal with error, and theirs.
Then conclude.
added on the 2008-02-05 02:01:44 by TomS4wy3R TomS4wy3R
TomS4wy3R: That's why I wrote that last sentence, we should definitely cut the kids that will not ever be programmers in their lifetime some slack. I imagine a "programming" environment that is easy to use for *all* kids but still offers the possibility to investigate "how it works"! i.e. a language/application that does not limit the ones who grasp the idea of real programming to a pure click-UI environment.
added on the 2008-02-05 02:12:24 by xyz xyz
Quote:
try to compare how your own mind evolved and how today kids minds evolve


I can only repeat myself, do not assume your/the kids are dumb/will never learn what you learnt. Todays kids are not less intelligent than our generation so we should lead them in the right direction (but not push them!)

added on the 2008-02-05 02:19:31 by xyz xyz
hermes, i couldnt agree more. although i long feared object programming, i think its far more natural to learn procedural programming first. first things first.

for me the ideal would be something like basic then c/pascal then asm then oop... but maybe i'm biased cause thats my experience :) . really these are different ways of thinking, (functional programming like lisp/ lambda is yet another one that i don't like that much because its far from hardware, but that i respect cause it, em, forces repect) the beauty is to be able to see the links and the equivalence between them.

And seeing the links and equivalence is seeing how it translates to hardware. So for me its absolutely fundamental to grasp asm... by the way, i think that something like 32b asm with fasm in a sandbox like protected mode windows, for example, is not ugly and clumsy at all. but, i agree, i'm convinced that the number one reason, why people dont like asm, is the teaching of 16b dos realmode in academics... sigh.

but, back on the language learning topic, these, cough, "paradigms" are mere ways of expressing the problem... for now the hardware can execute one of them, other are translated... but one might imagine things will not be that way forever... now i'm ranting against newbs that dont know the true way things works (c) and saying the hardware vision of things should be the only one that matters because thats how its done and thats how you get performance... but what if all processors were, or would become, massive parallel lambda evaluators? i would feel bad :) . but until then, thats what VMs are all about...

oh well.


the thing is, its easy to understand the compu is like a mechanical machine that takes numbers from numbered places and manipulates them in sequence by stepbystep reading the listing you wrote, even if you are 9 (btw congrats for you precocity) .

me thinks its far harder to conceptualize "objects" that have data and methods attached, that are created and destroyed, that are made of each others... that each have a thread.. yuck :(

should you learn that shit first, you take all for ganted like its the basic building blocks, and imho you'll have a hard time understanding the underlying inner workings... the constant push/pop malloc/free... some say some people even never ever get it :D

oh well.
the ideal for me would be basic, then ASM, then C because IMHO you can never really appreciate C unless you know why it has been invented in the first place. BASIC (or maybe the imaginary language/VM I dreamt up in my previous posts..) would just be a teaser to get 'em started :)
..but thinking about your post, you probably have a point regarding the "massive parallel" thing, I also think that's where we're heading currently..
added on the 2008-02-05 02:44:18 by xyz xyz
hey helloworld, that's what I meant =) assembler is easy because it's easy to think about it as some
Quote:
mechanical machine that takes numbers from numbered places and manipulates them in sequence


added on the 2008-02-05 02:51:04 by xyz xyz
Or:

BB Image

Then: same as makc & Preacher.
added on the 2008-02-05 03:11:08 by bdk bdk
a friend won't let a friend program p....oh ..d'oh wait...
:) :)

p.s.:
python is for adults! (like certain other scripting languages ;))

added on the 2008-02-05 03:17:26 by xyz xyz
hermes : I was not talking about actual "intelligence". Of course kids are intelligent. I was talking about attention span issues... :)
To sum it up : "Power without control is nothing."
added on the 2008-02-05 03:18:31 by TomS4wy3R TomS4wy3R
And yes, LOGO rules.
added on the 2008-02-05 03:18:34 by bdk bdk
Broderick: Of course Logo rules, now take that into the 21st century :)
(btw: are you into music? I listened to a track by someone called Broderick on BitJam earlier today and it I really liked it..nostalgia..:))
added on the 2008-02-05 03:23:39 by xyz xyz
Forestcre:
the nice thing about logo is that you can do sort-of "live coding" in the sense that i.e. you write FD 10 and the turtle goes there... so: immediate/intuitive feedback, wich is good and also allows quick experimenting...

Even if a bit dated I think LOGO can be a quite good start.

btw this page seems quite nice for early teaching purposes.


(yes, I released it at Horde 2007. thx, I'm happy you like it :)
added on the 2008-02-05 03:40:10 by bdk bdk
I meant: Hermes

Time to go sleeping o_- °
added on the 2008-02-05 03:41:48 by bdk bdk
broderick: Good to know. Pleasant dreams to you, I am outta here for today, too ("real" life is calling..)
added on the 2008-02-05 03:44:21 by xyz xyz
gnite hermes!

*vote for one of the better threads in pouet*
added on the 2008-02-05 06:45:42 by Rubicante Rubicante
i remember when i was a kid in high school and a teacher was showing us logo i found it stupid and boring couz i already knew basic and pascal. later in univ when learning about turing machines it made more sense on why its "important" but i never really got much fun out of it, mostly because you could do the same and better with other coding languages..
added on the 2008-02-05 06:50:29 by psenough psenough

login