pouët.net

Java tutorial for elementary school students

category: general [glöplog]
Adok: Please read the feedback you've been given on the tutorial before you go giving little kids traumas about programming. One dose of your tutorials and they will never program again.
added on the 2008-02-07 19:44:17 by Preacher Preacher
Adok, let's do humanity a favour, and do not torture those poor children. Especially not with Java.
added on the 2008-02-07 19:50:41 by blala blala
doctor mensagele ftw!
added on the 2008-02-07 19:59:43 by Zest Zest
if it has to be Java, make em write unit tests !! whose tests fail has to go to bed early without dinner!! muaahahaha!!

sry:)
added on the 2008-02-07 23:46:41 by xyz xyz
Yeah and get them using version control too! Whoever breaks the build has to stand in the corner for 10 minutes.
Adok teaching children Java.. I think Java is the least problem :D
added on the 2008-02-07 23:55:11 by Hatikvah Hatikvah
and why not teaching them UML modeling before some java implementation, they have to get their minds and projects well structurized! super-fun!
added on the 2008-02-08 00:02:37 by Zest Zest
Zest, good point but why start there? Better to get them comfortable with constraints, verification and validation first!
UML FTW! >:D
added on the 2008-02-08 00:51:17 by bdk bdk
What about python? Python is cool!
added on the 2008-02-08 00:53:05 by xernobyl xernobyl
install jdk and eclipse during the holidays.. riightt..

lets start our lessons with the most tedious of all computer operations: installing software. During your holidays.
added on the 2008-02-08 00:53:19 by Navis Navis
I'd like to see a generation of kids raised on Prolog.
added on the 2008-02-08 01:16:10 by doomdoom doomdoom
xernobyl: X is cool but Z might be even better.
Seriously, both X and Z are far too advanced for children, the goal should be to give them an impression of how a machine ticks.. if this, do that..
BASIC will do just fine since it's simple and does not come with a gazillion features that might scare them.

added on the 2008-02-08 01:29:59 by xyz xyz
Why not good old C? Basic? Pascal? Cobol? Fortran? Brainfuck?
added on the 2008-02-08 02:03:53 by xernobyl xernobyl
I loved QBasic when I got into coding. It had an OK editor, and everything you needed for basic programming was built directly into the system. I remember making small text adventures with my friends, it was great stuff.
Sigh, I wish I could still find those at my school.
Quote:
Sigh, I wish I could still find those at my school.

Friends? Yes, we would all like to..
added on the 2008-02-08 08:02:37 by hollowman hollowman
Thanks again for the discussion contributions.

Unfortunately I haven't had the possibility yet to test this tutorial with children. Today the first lesson will be spread in an Austrian class, and I hope that in the coming holiday week the children will install the programs and try to write the programs from the first lesson. Everything is still open. I'm just waiting for the first feedbacks so that I can refine the lesson more child-correct.

On IRC I talked to an American elementary school teacher and asked her if it would be possible to start with the tutorial in an American class. Although she herself is committed at school as a teacher, she said it would be difficult because the teachers at elementary school have to stick to the curriculum, which is controlled by the American school government. That's why they have little time for experiments like the Java tutorial for children. It's a pity as the public schools in America have "accelerated programs" for gifted elementary school pupils.

Basic would also be a good thing. I already wrote a tutorial for it, so far it's only in the German language. It would not be a problem to translate it, but Basic is not included in Windows XP/Vista and downloading QBasic or Quick Basic from the Internet would be possible but illegal.

I'll try to motivate a class in Portugal. That country is ambitious and cares a lot about education.
added on the 2008-02-08 10:20:41 by Adok Adok
you're awfully bad at reading for a mensa member. *don't* test it with childen. fix the problems first. your tutorial is horrible.
added on the 2008-02-08 10:23:03 by skrebbel skrebbel
also, he just said that portugal, as a country, is ambitious :)
added on the 2008-02-08 10:23:34 by skrebbel skrebbel
Write what in your opinion should be made better so that the children understand it better.
added on the 2008-02-08 10:31:03 by Adok Adok
I try to give many examples. Maybe the tutorial will be more understandable this way.

I already fear the second lesson on which I'm working. I even included an example with factorials to demonstrate loops. :)
added on the 2008-02-08 10:32:58 by Adok Adok
Quote:


Quote:
Let's stake a look at the line "public static void main(String[] args)". This starts the definition of a method. A method is the same thing that's called a function in other programming languages. It's a section of the program code that is executed under certain circumstances. The method main has the special property that it is always executed first when a program is started as an application. It is "public" and "static". Public means that it can also be run by other classes, and static means that it belongs directly to the class and not to an object inferred from it. Moreover, it is "void" - that means that it doesn't return a value. "String[] args" is the parameter of the function main. "args" is the name of the variable and "String[]" is its data type. It's an array, a collection of strings. With it, command line parameters are transmitted. For now this isn't important as we don't care about command line parameters. But in order to define a main method, this parameter muss always be written.


You seriously think that an average ten-year old can digest that?


Quote:

The very least thing you can do is to abstract away the I/O class into something like Read.Integer();

Even our first java course in the university did that, and plenty of people had real issues with finishing up that course.


just so you really get the point; these are not my new suggestions. they've already been posted, if you had tried to read *everything* instead of just the posts agreeing with you, you had seen them. next quote, however, isn't really a quote, but more something of a summary:

Quote:
don't do it with java. anything but java. please? pretty please?
added on the 2008-02-08 10:34:38 by skrebbel skrebbel
Quote:
I even included an example with factorials to demonstrate loops. :)


these people do not know what factorials are, dear adok. you teach loops to kids by making them print "boing!!!" ten times. and then a sequence of numbers. and then a sequence of numbers, time five.
added on the 2008-02-08 10:36:34 by skrebbel skrebbel
time=>times
added on the 2008-02-08 10:36:43 by skrebbel skrebbel
FOR i =1 TO 10

INPUT "WHAT LOOP IS THIS? PREVIOUS ONE WAS: " + i, x
IF X = i THEN
PRINT "CORRECT!"
ELSE
PRINT "NO ASSHOLE IT IS: " + X

NEXT I

or something. don't really remember basic :(
added on the 2008-02-08 11:42:46 by Hatikvah Hatikvah

login