Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Localized (Visual) Programming Language For Kids?

timothy posted about a year and a half ago | from the because-english-sometimes-sucks dept.

Education 185

First time accepted submitter jimshatt writes "I want my kids to play around with programming languages. To teach them basic concepts like loops and subroutines and the likes. My 8-year-old daughter in particular. I've tried Scratch and some other visual languages, but I think she might be turned off by the English language. Having to learn English as well as a programming language at the same time might be just a little too much. I'd really like to have a programming language that is easy to learn, and localized or localizable. Preferably cross-platform, or browser-based, so she can show her work at school (Windows) as well as work on in at home (Debian Linux). By the way, she speaks Dutch and Danish, so preferably one of those languages (but if it's localizable I can translate it myself). Any suggestions?"

cancel ×

185 comments

Sorry! There are no comments related to the filter you selected.

Stop (-1)

Anonymous Coward | about a year and a half ago | (#43502311)

Stop pushing your line of work down her throat.

Re:Stop (4, Insightful)

DarkDust (239124) | about a year and a half ago | (#43502341)

This is encouraging, not forcing. So I'm all for it. If a friend of my father hadn't introduced me to programming at age of 7, I would have missed something that soon turned into a passion and is now my day job. That was the most important event in my life, second only to my birth. You have to give kids the chance to try something to see whether they like it, like chemistry or electronic kits. If they like it, great! If not, so what.

Re:Stop (2)

GNUALMAFUERTE (697061) | about a year and a half ago | (#43502853)

Even if they don't make a carrier somewhere in IT, coding skills come in handy in many other carrier choices and is highly valued. Even more important, being exposed to programming teaches other valuable skills, and improves logical thinking and organization.

Just developing a logical mind? (-1)

Anonymous Coward | about a year and a half ago | (#43502377)

I don't recall it saying anything about preparing her for a line of work. The father just wants her to play around with simple programming, quite possibly to help her develop a logical mind. That would be supremely useful regardless of the kind of career she chooses.

It's also a form of immunization --- logically flawed memes like religion just can't take hold when you have a logical mind. I think he's acting very responsibly.

Re:Stop (5, Informative)

ozmanjusri (601766) | about a year and a half ago | (#43502479)

I've been teaching my nephews coding and robotics with Minibloq http://blog.minibloq.org/ [minibloq.org] . They love being able to see their code happen in the real world, with lights, buzzers and motors to control.

The hard part is getting them to stop!

There are French, Bahasa and Spanish versions available, and it should be simple to add Dutch and/or Danish.

I learned C when I was a kid. (-1)

Anonymous Coward | about a year and a half ago | (#43502509)

If your child can't learn something like C, then I'm afraid to say that he/she is a failure when it comes to programming and logic (like most people). Properly learning C can teach new programmers all sorts of useful concepts (some low-level), and the fact that it might be difficult for a kid to understand is why I recommend it.

Re:I learned C when I was a kid. (4, Funny)

ozmanjusri (601766) | about a year and a half ago | (#43502601)

Perhaps, and after all, these boys have other failings as well.

Their musical skills are below par, they're absolutely useless at bricklaying and carpentry, and they suck at brewing and winemaking. I've suggested to my sister-in-law that she sell them off to vivisectionists and start again, but she's hesitant.

Do you have any arguments that might convince her?

Re:I learned C when I was a kid. (2)

GNUALMAFUERTE (697061) | about a year and a half ago | (#43502861)

Jumping straight into C isn't such a good idea. Specially for an 8 year old kid. Pointers? When you have only been doing basic math for a couple of years?

Let them understand the logic, and then you can switch them to something more advanced. Just make sure they don't stay on a broken training-wheels language like basic past the age of 12.

Re:I learned C when I was a kid. (1)

DragonTHC (208439) | about a year and a half ago | (#43503049)

First, watch this http://www.ted.com/talks/sugata_mitra_shows_how_kids_teach_themselves.html [ted.com]

Second, C is a good idea.

Always teach the peanut butter robot exercise first. write out the steps for a robot to make a peanut butter and jelly sandwich.
And when the kids skip a step, you get to stump them with "HOW?" They will soon understand programming at its core as a set of instructions.

When a kid wants to know how to solve a particular problem, they're going to learn the maths necessary. Unless they don't have the real interest, and then nothing of value was lost.

Re:I learned C when I was a kid. (1)

Anonymous Coward | about a year and a half ago | (#43503089)

On the other hand it seems like only C-programmers have problems with pointers. I don't know what but there is something seriously wrong with the syntax C uses for pointers or the common textbook description for them.
Kids who started with other programming languages doesn't seem to get that problem. It's just a memory address.
Basic isn't that bad of a programming language to learn programming from as long as you use a non-managed basic.
I would suggest using some assembler as a starting language. This might seem rough but for small sized projects it works just as fine as C with the exception that you actually see what happens. No problems with compiler quirks or implicit functionality in the language.
When they later move on to other languages they will be more inclined to ask how you do things in that language rather than what you can do in that language. Pointers will be a non-issue, it is just an address register.

Assembler have a very bad reputation but apart from some esoteric ones no language is designed to be hard to work with and it have been the first language of many programmers.

Re:Stop (3, Interesting)

a_hanso (1891616) | about a year and a half ago | (#43502909)

I taught myself programming when I was about 10 years old and I'm not a native English speaker and my language is written in non-latin characters. I can tell you how I did it but many of you are not going to like it:

I started with BASIC in the pre-structured era. I wrote stuff like this:

10 PRINT "HELLO"
20 SOUND 512 5
(forgive if syntax is wrong)

I spent a lot of time drawing pictures and making music without knowing anything about conditionals or loops. Then I graduated to GOTO, which in retrospect was a lot easier to understand for a 10 year old than a structured conditional block or a loop.

When I finally started with structured programming languages, making the transition took only a little time. If I had started with it at age 10, it might have overwhelmed me. The explicit representation of sequence (the line labels), conditions and iteration (the GOTO) was easier for me to understand as a kid. Especially since my English was very limited back then.

Plus I never bothered with math (I hadn't learned to love it yet). As I said, I drew pictures and made music with the PC speaker (so I was using only a few functions built into the language). Maybe that's an approach to think about, for starters.

Scratch (4, Informative)

dabadab (126782) | about a year and a half ago | (#43502317)

Scratch is localizable, it's actually running in Hungarian on my Debian desktop. Looking at /usr/share/scratch/locale, it's already translated to over 40 languages.

Re: Scratch (3, Informative)

Anonymous Coward | about a year and a half ago | (#43502363)

Available Scratch languages [mit.edu]

Help translate [mit.edu] Scratch into other languages.

To switch languages in Scratch... (4, Informative)

girlinatrainingbra (2738457) | about a year and a half ago | (#43502435)

It's very easy to switch the locale in Scratch even while running scratch. Click on the left-most icon (a wire-frame globe icon) at the top-left, and that will allow you to select the language to use.
:>)
Danish a.k.a. Dansk [wikipedia.org] , is already a supported language in Scratch [wikipedia.org] , as are 49 other languages as shown at http://info.scratch.mit.edu/Languages [mit.edu]

Re:To switch languages in Scratch... (0)

Anonymous Coward | about a year and a half ago | (#43502525)

He'd need Dutch (Nederlands) or Spanish (Espanol), both supported.

Re:To switch languages in Scratch... (1)

turkeyfeathers (843622) | about a year and a half ago | (#43502799)

Danish people tend to speak Danish (Danske), not Spanish (Espanol).

Re:To switch languages in Scratch... (2)

MightyYar (622222) | about a year and a half ago | (#43503125)

Then what the heck are all those field hands speaking??? No wonder they look at me funny. Well, that and my face.

logo (0)

Anonymous Coward | about a year and a half ago | (#43502331)

use logo, it's Dutch

The only way to do it (3, Interesting)

V!NCENT (1105021) | about a year and a half ago | (#43502335)

Kay worked at just that, at Xerox PARC. It was not visual, but let's be honest here; Xerox fscking PARC.

You should check this out:
http://squeak.org/About/ [squeak.org]

No... It is better.

Re:The only way to do it (4, Informative)

Melkman (82959) | about a year and a half ago | (#43502567)

And there is a visual programming environment for squeak especially geared towards kids with localization in many languages. It's called Etoys (http://www.squeakland.org/). You can also link it to an Arduino or Mindstorm for real world interaction with Physical Etoys (http://tecnodacta.com.ar/gira/projects/physical-etoys/). It's what my kids use ;-).

Why are you asking in English? (-1)

Anonymous Coward | about a year and a half ago | (#43502339)

Asking, in English, how to do *anything* specifically in not-English seems a bit foolish if you ask me... and you have!

Re:Why are you asking in English? (1)

DarkDust (239124) | about a year and a half ago | (#43502359)

You do realize that a lot of non-native english speaker read Slashdot?

Re:Why are you asking in English? (1)

KGIII (973947) | about a year and a half ago | (#43502899)

Actually, I don't believe they asked you if you thought it a bit foolish. So as to avoid this in the future could you say specifically why you think that would be foolish?

Logo (4, Interesting)

isj (453011) | about a year and a half ago | (#43502343)

As far as I know most dialects of Logo are localized or localizable, both keywords and variables. But I don't know its domain (a drawing turtle) is interesting to your daughter.

Re:Logo (1)

Anonymous Coward | about a year and a half ago | (#43502405)

When I was 8 we used a localized version of Logo at school, and indeed it was interesting at that time. Today's standards might be higher, though.

Re:Logo (0)

Anonymous Coward | about a year and a half ago | (#43502417)

As far as I know most dialects of Logo are localized or localizable, both keywords and variables. But I don't know its domain (a drawing turtle) is interesting to your daughter.

I can second this. I learned logo as a child and fell in love with programming, more than two dacades ago.

Re:Logo (1)

Shlomi Fish (3362) | about a year and a half ago | (#43502517)

Logo is a horrible language to start with because it doesn't trust you with responsibility. You are stuck in a la-la-land where the only thing you can do is draw pretty pictures. Beginning programmers, and even children, want to be trusted with responsibility, and feel like they are in control of their environment. So I suggest avoiding pedagogical languages and instead opt for practical languages [shlomifish.org] .

Re:Logo (5, Informative)

mrthoughtful (466814) | about a year and a half ago | (#43502803)

"The only thing you can do is draw pretty pictures" That is just not true.

Although it's initial purpose was to create a math land where kids could play with words and sentences, Logo was most often taught via turtle graphics - which provided a set of visual cues to understand the nature of the underlying structures of languages such as the stack and program counters and also helped to develop debugging skills. Likewise the fact that recursion is Logo's preferred processing paradigm is, IMO, quite remarkable.
Logo's initial weaknesses were to do with an absence of concurrency and limited IO. Modern variants such as StarLogo and NetLogo address many of those issues and are used to examine emergent systems and AI.

Scratch runs on Squeak, a variant of Smalltalk, which was inspired by Logo, which itself is a dialect of Lisp.

Scratch is still your best bet. (3, Insightful)

Spottywot (1910658) | about a year and a half ago | (#43502349)

Either translate it yourself from the source code, it's not a huge language, or just accept the fact that she will have to learn English along the way. She will be learning a new language anyway, so what does it matter what language she uses to label new concepts. Loop, string etc...can't be a huge problem for her as she is bilingual anyway.

Lego Midstorm (4, Funny)

ThreeKelvin (2024342) | about a year and a half ago | (#43502351)

I don't know if it's localized, but Lego Mindstorm should do the trick. Rather expensive solution though.

Re:Lego Midstorm (3, Funny)

cosm (1072588) | about a year and a half ago | (#43503129)

I don't know if it's localized, but Lego Mindstorm should do the trick. Rather expensive solution though.

Why is this modded funny?

Re:Lego Midstorm (0)

Anonymous Coward | about a year and a half ago | (#43503269)

Maybe it should read "Lego Mindstorm should do the brick."

Re:Lego Midstorm (2)

gl4ss (559668) | about a year and a half ago | (#43503309)

because they think it's a toy? well it is a toy but you can do some cool tricks with it like http://www.youtube.com/watch?v=oF0pMILT7_Y [youtube.com]

it's expensive though and I don't think that it solves the language "problem".. I don't think it's a problem though, learning computers and learning english is something that just goes hand in hand.

Just "Learn English" (1, Insightful)

Anonymous Coward | about a year and a half ago | (#43502355)

.. no programming language requires you to "learn English", they require you to know a handful of keywords.

Also, at 8 years old, they should already know English or start learning it anyways, it's a language pretty much everyone on the planet will need and the earlier you start learning it the easier it will be for you to learn it properly.

Re:Just "Learn English" (1)

jez9999 (618189) | about a year and a half ago | (#43502361)

Yeah, I would expect kids who speak Dutch and Danish (particularly Danish) to speak English relatively well as a second language. Strange that it would "put her off".

Re:Just "Learn English" (2)

DarkDust (239124) | about a year and a half ago | (#43502373)

Give that kid a break, she already speaks two languages and you want her to force to learn a third already? How many do you speak?

Re:Just "Learn English" (2, Insightful)

Anonymous Coward | about a year and a half ago | (#43502449)

Prob is, Dutch and Danish are cute "local" languages. She's gonna have to learn English, so better do it now while she's a kid and can handle it.

Perl FTW! (4, Funny)

girlinatrainingbra (2738457) | about a year and a half ago | (#43502467)

Perl for the win! It doesn't matter what language you speak natively, the symbols used in Perl will be fully incomprehensible!!! The learning curve is just as steep whether you are a native English speaker or a native speaker of French, Urdu, Chinese, Klingon, Swahili, or Dansk!
:>)
The ability of Perl [wikipedia.org] to mystify, astound, and obfuscate is so reknowned that there is even a contest dedicated to the ability of Perl to render unintelligible code:
the Obfuscated Perl Contest [wikipedia.org]

Used properly, Perl can become a "write-only" programming language, such that no one else can decipher what you are attempting to do.
;>)
Just kidding. I am actually a fan of Perl, Python, C, C++, BASIC, Lisp, and Scheme. I hear good things about Logo and the turtle languages all allow keywords to be in any language. Just because the token for printing in BASIC is usually the english word "PRINT", there is no reason for it to be constrained to that. In the TRS-80, "PRINT" is retokenized as the question-mark symbol "?" which can also be used as a short-cut for the "PRINT" statement. My first programming language was BASIC (Level 1 basic) on the TRS-80 with 4K (4 kilobytes!!!) of memory. I am sorry that your daughter is turned off by the english language. Get your hands on a BASIC interpreter and change the interpreter for the keywords which you'd prefer. Or stick with Scratch as recommended above.
.
Also, Lisp and Scheme are fairly cryptic and language agnostic, though parenthesis heavy: car, cdr, eval, print (damn, that last word is obviously english.) Good luck!

Re:Perl FTW! (1)

KGIII (973947) | about a year and a half ago | (#43503083)

My first programming language was BASIC (Level 1 basic) on the TRS-80 with 4K (4 kilobytes!!!) of memory.

Heh... The Trash 80!

I learned BASIC on a PET, upgraded to a VIC 20, and then I spent a summer pounding away on a friend's TRS-80 II (or III maybe, we're talking 30 years ago so my brain is a bit fuzzy) and that made me decide to get a TRS-80 4. I remember regretting purchasing it and not waiting a while longer. If I'd waited I probably would have ended up with an Amiga (1000 or 2000, again, I can't really remember because it was a lot of years ago) which was a much nicer computer - you could even multitask.

If I'd ended up with the Amiga then things may have been different. Buying the Trash 80 meant that a small group of us all had the same type of computer and a lot of the programs that would run on one would run on the others even if their model was different. I think we'd occasionally have to make small changes but nothing major. As I never got the Amiga I'm not 100% positive but IIRC it came with AmigaBASIC (from Microsoft actually) which wasn't at all compatible with anything else on the market.

Anyhow, I spent ages sharing and swapping out changes with a buddy. I'd written and kept poking at, for years actually, a text based RPG that was probably a lot less fun than it seemed like at the time. It kept us busy and amused for quite a while, we poked at the game individually and collaboratively for years. We'd make changes and had our own versions (we were OSS before it was cool I guess, well, not really - I'm not sure much was closed source back then) that we'd design for our friends and each other to play.

I was in touch with Robert (my buddy from way back then) probably about a year ago and the subject came up. He still has a couple of old floppy disks but no way to check them. I could probably cobble something together to read the disks (there are actually a couple of old working drives in the attic) but I've actually since found old (remember the old dot matrix printers?) source printed out and have considered seeing if I could put the game back together again. I probably should seeing as I have the time.

Wow... Now that I'm thinking about it... Even the "combat system" was pretty much stolen from AD&D (first edition 'cause we're old and second hadn't been invented yet I don't think). Damn we were geeks. Oh well...

I am not sure what my point is. I guess it boils down to: Finding a way to give a kid access to programming resources being a potentially good thing.

Not everyone is going to want to learn how to do it well, not everyone is going to be able to develop skills to do it well, and not every kid will find it entertaining.

The kids that do find they're able, willing, and enjoy it should certainly be exposed to programming though I'm not sure if they'll need any guidance to get there - they may find that path on their own and not need anyone urging them at all. We didn't need to be guided, we were irresistibly attracted to it by a force similar to gravity. I'm not sure how I'd have reacted if someone had tried to guide or coerce me but I probably still would have loved it and found said guide to be a resource and bugged the hell out of them with every little question I came up with.

Re:Just "Learn English" (1)

peragrin (659227) | about a year and a half ago | (#43502655)

English, Bad English , Canadian and American English.

Re:Just "Learn English" (1)

KGIII (973947) | about a year and a half ago | (#43503097)

Bad English! *wags finger* No participle for you!

*sighs*

I'm not even sorry for that.

Re:Just "Learn English" (3, Interesting)

gbjbaanb (229885) | about a year and a half ago | (#43503203)

I'd rather learn a new language at 8 than at 48... just saying, its probably a very good thing to teach her English right now than have her struggle to learn it later (apparently kids are much more adaptable to language, starting off with nothing and having to learn 1 it kind of makes sense somehow)

All my Danish friends say that they all speak English anyway, 5 million Danes on the planet and no-one else speaks Danish makes it almost mandatory for them to speak something else, and Danish is a close common ancestor of English anyway (ie I really don't speak Danish, but I can understand the meaning of danish text) having its roots in the settlement era of the dark ages when you guys came over in the longships.

You are wrong in that it matters (4, Insightful)

Anonymous Coward | about a year and a half ago | (#43502357)

I learned programming long before knowing english. It doesn't make any difference, keywords are just symbols you have to understand what they do. The fact that 'for' stands for an english word doesn't mean a non-programmer can look at the source code and see what 'for' does or the implications it has.

Re:You are wrong in that it matters (1)

WillKemp (1338605) | about a year and a half ago | (#43502533)

The fact that 'for' stands for an english word doesn't mean a non-programmer can look at the source code and see what 'for' does or the implications it has.

A Dutch speaker shouldn't have too much trouble with the word "for" - it's spelled a little differently, but pronounced almost exactly the same as its Dutch equivalent "voor".

Re:You are wrong in that it matters (0)

Anonymous Coward | about a year and a half ago | (#43503109)

and what about, say, do...while?

Priorities (0)

Anonymous Coward | about a year and a half ago | (#43502367)

Why not use the time to learn English first. It will be more useful to her than programming.

Re:Priorities (2)

DarkDust (239124) | about a year and a half ago | (#43502407)

Why not use the time to learn English first. It will be more useful to her than programming.

Learning a whole language first isn't much fun. Also, lots of people I know (me included) learned programming first, then (through programming) english. I started with GW-BASIC at age of 7 and almost everything was in english: the programs I had, even the manuals. I picked up basic english from this (after some trial and error you understand what certain words or phrases mean; I was pretty surprised when I learned at school that these words are pronounced totally differently than I imagined ;-)

I even knew a pretty good programmer who still does not speak english. He couldn't ask for directions if he'd get lost. Yet he manages to do hold up as a professional. Couldn't believe it at first, but it shows that knowing english does help when developing but it's not strictly necessary. The good thing about programming is that the syntax rules are so much more strict and easier to understand than natural language.

BASIC (1)

Meneth (872868) | about a year and a half ago | (#43502369)

I started with GWBASIC on DOS 3 at about that age. A couple of books with example programs in my native tongue and I was set.

Re:BASIC (1)

kthreadd (1558445) | about a year and a half ago | (#43502381)

Similar experience here but I started out with a cheat sheet that someone gave me, that got me going for a while. I remember the joy of getting a copy of QBasic, and not have to prefix every line with a line number.

Re:BASIC (1)

nschubach (922175) | about a year and a half ago | (#43503183)

I remember that joy... then the next was QuickBASIC being able to compile to an EXE... it was a huge step to be able to run things without the QBASIC interface. At least for a young kid.

Re:BASIC (1)

DarkDust (239124) | about a year and a half ago | (#43502411)

That's exactly how I started as well. The manuals I had were in english (plus DOS; that's how I picked up basic english) but we had books in our library that were in German. So not knowing english doesn't stop you, but I guess it would've been easier/nicer if I would've been able to start in my native tongue.

jQuery (-1, Troll)

Anonymous Coward | about a year and a half ago | (#43502395)

You can choose jQuery. It is not based on the English language or logic of any kind.

kturtle (0)

Anonymous Coward | about a year and a half ago | (#43502399)

http://edu.kde.org/kturtle/

Do it the right way (0)

Anonymous Coward | about a year and a half ago | (#43502409)

C.

Or even Java.

Re:Do it the right way (1)

DarkDust (239124) | about a year and a half ago | (#43502423)

As a first language? That's like giving a kid a Hayabusa instead of a bike with learning wheels.

Khan academy's platform (3, Informative)

cool_akshay (2902819) | about a year and a half ago | (#43502413)

Khan Academy's programming tutorials use some kind of visual programming platform. I think its worth checking out. It starts of with programming the movement of the ball. The language is English. But as it is intended to teach programming with fun, this might be the one. I had tried it with my 12 year old bother and it worked. Here is the link : https://www.khanacademy.org/cs/paddle-ball/830543654 [khanacademy.org]

GvR is a great place to start (2)

ernest.cunningham (972490) | about a year and a half ago | (#43502431)

GvR is a great platform to learn programming. It teaches loops and conditionals and problem solving. It is written in Python so will work cross platform. The only negative is that I think it is not localised.

http://gvr.sourceforge.net/index.php [sourceforge.net]

Re:GvR is a great place to start (1)

ledow (319597) | about a year and a half ago | (#43502471)

Great suggestion for a localised programming language there, then.

Re:GvR is a great place to start (1)

ernest.cunningham (972490) | about a year and a half ago | (#43502785)

He said "Or one that I can localise myself" It is written in Python, he could easily localise it himself...

Lego Mindstorm (5, Interesting)

pieleric (917714) | about a year and a half ago | (#43502447)

Lego Mindstorm might be a nice approach. It's available both in Dutch and Danish, and uses a graphical language with a great graphical interface dedicated to kids. I use it to teach (Dutch) programing and robotics to kids and it's amazing easy for them to make and modify the software.

The main drawbacks is that, although the software is free, you need to get a 200€ lego robot to make it useful. It also has only a Windows (and probably Mac) version. IMHO, the robot has the advantage to bring additional interest to the kids. It makes programming much less abstract.

To try the software before buying, look for the lego mindstorm nxt 2 iso on the lego website (it's a bit hidden).

Re:Lego Mindstorm (1)

ThreeKelvin (2024342) | about a year and a half ago | (#43502811)

Oh, I didn't know it was available in Danish.

I've used the NeXT (or nExt, NexT, or whatever their crazy capitalization is) for an introduction to control theory for engineering students at the university. It's a great way to quickly hobble together a prototype in Lego and some prototype software and watch it in action, and thereby get them motivated to learn a bit of theory.

Re:Lego Mindstorm (0)

Anonymous Coward | about a year and a half ago | (#43503281)

It also has only a Windows (and probably Mac) version.

Looks like lots of people have got it working with Linux in various ways, some pretty straightforward.

Turtle Graphics (1)

denpun (1607487) | about a year and a half ago | (#43502469)

Not Dutch but available in German, English and Vietnamese!
http://blockly-demo.appspot.com/static/apps/turtle/de.html [appspot.com]

Here is the main page
http://blockly-demo.appspot.com/static/apps/turtle/index.html [appspot.com]

It uses Blockly, a visual programming editor...
http://blockly-demo.appspot.com/static/apps/index.html [appspot.com]

Its browser based and I think with your help initially, she can play around by herself eventually... :)

Here are some examples of what can be done:
http://blockly-demo.appspot.com/static/apps/turtle/contest/index.html [appspot.com]

If she likes drawing..you can use that as a relation to see if she likes this as well....
Here is one that someone did that creates a random pattern everytime....
http://blockly-demo.appspot.com/static/apps/turtle/en.html#zdpxaa [appspot.com]

Piet (1)

pipatron (966506) | about a year and a half ago | (#43502475)

How about Piet [dangermouse.net] ?

Editirs? (0, Funny)

Anonymous Coward | about a year and a half ago | (#43502485)

To teach them basic concepts like loops and subroutines and the likes.

This sentence no finite verb.

My 8-year-old daughter in particular.

Neither this one.

You should teach her English (5, Insightful)

Shlomi Fish (3362) | about a year and a half ago | (#43502495)

Hi,

I may be dismissed as an imperialistic pig for saying that, but I've written on why it is important to avoid localised programming languages [shlomifish.org] because it is becoming more and more important to learn English as soon as possible. Just for the record, English is not my mother language (I am Israeli and my mother language is Hebrew), and yet I think that learning English is an increasingly important skill, and also communicate primarily in English in my Internet interactions, and most of home-site [shlomifish.org] and blogs are written in English. Whether you like it or not, I believe English has been becoming what Aramaic was in the Near East [shlomifish.org] from the time of the Neo-Babylonian Empire [wikipedia.org] up to Arab times.

I suggest you invest the time in teaching your daughter English first, which is of far greater utility than programming, and is also absolutely necessary for learning to program (or for most other fields of science, technology and endeavour).

Re:You should teach her English (0)

Anonymous Coward | about a year and a half ago | (#43502589)

and is also absolutely necessary for learning to program

Nope. [slashdot.org]

Re:You should teach her English (0)

Anonymous Coward | about a year and a half ago | (#43502813)

While understanding English is not strictly required to become familiar with programming concepts like loops, functions and stuff... As soon as you want to try something more complicated you will need to read tutorials or other explanations on how certain techniques work, which are often only available in English.

Re:You should teach her English (1)

Torp (199297) | about a year and a half ago | (#43503485)

As another imperialist pig who's not a native English speaker (Romanian in this case), I strongly recommend getting her used to the English keywords.
An important part of learning programming is going through documentation on your own, and most documentation worth a damn is in English.
Mind, i first started with machine code/assembly language when i was 10-ish, and that has no connection with any language known by humans :)

Re:You should teach her English (1)

gl4ss (559668) | about a year and a half ago | (#43503357)

and you don't need to be able to read to be a good cook.

sure opens new horizons though.

Chipwits (0)

Anonymous Coward | about a year and a half ago | (#43502511)

No words, just images.
Fun, and teaches the concepts of programming.
http://en.wikipedia.org/wiki/ChipWits

not localized & not visual (0)

Anonymous Coward | about a year and a half ago | (#43502539)

I am Dutch, learned programming (well...BASIC) when I was about 8-9 on a C64. The few English words is no problem at all for somebody from that age, especially if you already aware of 2 related languages. I learned much more from that than from the silly LOGO like languages they tried to teach me on school a few years later.

The key factor is that she should be interested in creating something, you have to learn the language syntax anyway. Besides, most of the time the words do not mean the same as in normal, you have a context defined meaning. Hell, I was trying x86 ASM a few years later and certainly did not need to know English to understand concepts like mov eax, 1 ; int 0x80.

Do not underestimate your kids. If they want to learn, the language is not an obstacle. And do not spend time on stupid toy languages that are not good for creating something useful anyway.

Semantic gap (0)

Anonymous Coward | about a year and a half ago | (#43502577)

When I started to learn programming (BASIC and assembler), the keywords meant nothing to me (I'm Dutch). Nor was I expecting to recognize the words -- I took 'learning a computer language' quite literally. It took quite some time before I admitted that 'for' and 'next' might have their roots in English. It took even longer before I understood that MOV might be shorthand for 'move'. Actually, I would really hate to write "Voor apekop=1 tot 10, probeer uittevoeren vierkantswortel(konijnenhok) ...". It's much too close in my mind to the imprecise language I speak in. In that sense I pity the English-speaking programmer.

Is it actually your experience that your daughter hates to learn English before she can start programming? There is a chance she won't even notice.

Play with them (4, Interesting)

mrthoughtful (466814) | about a year and a half ago | (#43502585)

If your kids are strongly visual, and want to work with graphics manipulation, then Scratch is ok. If they like robotics and want to work in the real world, then Lego mindstorms is alright (for simple projects) both choices the kids will be involved in as much non-programming as coding - as design (2d or 3d) will absorb their time.

Logo is a pure programming language, which is going to encourage good application design, but it's really important to find a good guide for them - it's also nice (but not necessary by any means) if you can find a turtle. At education college we were encouraged to teach logo, and it was a position that I agree on. The only potential issue is that it is not 'C'-like but that's a syntax issue.

There are also programming games which help develop Logo skills - not computer games - family games - such as you being a robot, and asking the kids to give you orders to do something - you can give them a starting lexicon of very few commands, and ask them to take you to the kitchen. Note that angles are often best addressed with quarter-turns: left, right, turn-around, etc. Then later on introduce something like 'bit-left' or 'little-left'. So a lexicon of forward,back,left,right,stop is often a good start. Then parameterising forward: eg forward 50..

The primary advantages are that they get time to have fun with their Dad, (and you with them) and you can design the language fluidly according to their ability. Later on you can easily add function definitions using eg "to": eg. "Dad, to square, repeat 4 times forward 5 right"

AFAIK none of them have very good debugging tools, and IMO debugging is where most early coders find out if they have enough stamina to want to code, so games like above help you to give suggestions. Likewise, with logo (turtle graphics) - at first anyway- you can act out the programme which can help.

Logo isn't just graphics - it's a simplified form of lisp.

Re:Play with them (1)

mrthoughtful (466814) | about a year and a half ago | (#43502833)

Have a look at http://education.mit.edu/projects/starlogo-tng [mit.edu]
It's available in English, Spanish, Brazilian Portuguese, and Greek - so it should be localizable - certainly for latin-based languages.
I'm unaffiliated..

Kudo (2)

bentwonk2 (2793825) | about a year and a half ago | (#43502599)

I have been have witnessed a positive reaction to Kudo, not only for my own 8 year old, but also at his school (where I gave the lunchtime computer club some games tutorials after the Raspberry Pi baffled them), the programming is visual, and more importantly delivers fun, rewarding visual results instantly, all in 3D which the kids can relate too. Within a few hours they were programming the AI for soccer teams and pitting them against each other in a tournament. I write this on a linux box, but credit where credits due MS did a good job with making Kudo assessable and rewarding.

Re:Kudo - try KODU (0)

Anonymous Coward | about a year and a half ago | (#43502957)

Sorry for the correction bentwork2. it took me a moment to find it online.

looks interesting though

Spoken language != coding language (1)

thoughtspace (1444717) | about a year and a half ago | (#43502635)

I am terrible at learning spoken languages; but no problem learning heaps of programming languages.
They use completely different skills. Coding languages are highly structured.

Is localization really necessary? (1)

Anonymous Coward | about a year and a half ago | (#43502645)

About 30 years ago my grandfather purchased a Commodore 64. I was aged 8 years and I had never used or even seen a "real" computer before, just video game consoles. So how do you start with a computer when you don't have a clou about how? My grandpa and me took the handbook and he dictated me the example BASIC listings. You know, those that played the song Michael Row The Boat Ashore or let a ballon with a Commodore logo fly across the screen and so on.
In Germany back then english classes startet in the fifth grade when one was aged about ten years. So I startet learning english and basic coding at the same time. My grandpa dictated the listings, I hacked them into the console and along the way he translated the simple BASIC commands. I mean IF, THEN, PRINT, GOTO, GOSUB. DATA etc. pp. are easy to understand and are enough to get an idea about how programming works in general. A funny consequence of learning BASIC before regularly learning english is that today I still pronounce GOTO, GOSUB, DATA as if they were german words - but only when they occur in a programming language, not when talking english. :-)
I think the challenge in getting nowadays a kid starting to code is not about language or programming language. It's about awakening interest in creating stuff, digitally. Having fun in learning how to command and control your computer. This is much harder than 30 yeards ago, I assume. Why would an eight year old kid bother typing 100 lines of code just to have a balloon fly across the screen? They open a web browser with one click and a minute later they may do anything you unlocked for them.
Anyway - I'm looking forward to read the other readers opinions because I too asked myself when and how to teach my son in mastering a computer, apart from just being a user.

Re:Is localization really necessary? (1)

pipatron (966506) | about a year and a half ago | (#43502951)

Lies.

The balloon program is just 16 lines, and expanding it to the full version as presented in the book it's just 25 lines. :(

Re:Is localization really necessary? (0)

Anonymous Coward | about a year and a half ago | (#43503047)

Not lies, rather my memories that probably show how I sensed it having never typed before while simultaneously trying to understand the code.
However much more difficult than understanding the basics of the actual code was the very first line of it if I remember correctly.
It tok me a day or so to find out how to enter it. :-)

10 PRINT ""

(In the editor box I see a white heart (even if it's not on a black background), I think it will get lost if I submit it.)

Scratch for windows (0)

Anonymous Coward | about a year and a half ago | (#43502647)

There is Scratch for windows, check it out.

Rocky's Boots! (1)

funkboy (71672) | about a year and a half ago | (#43502649)

n/t

Blockly (0)

Anonymous Coward | about a year and a half ago | (#43502693)

The Maze App based on the Blockly language has been translated into danish. See http://blockly-demo.appspot.com/static/apps/maze/da.html [appspot.com]

Dutch (0)

Anonymous Coward | about a year and a half ago | (#43502731)

Your Dutch daughter is 8 and she doesn't speak English? Where do you live, Denmark or something?

NSB/AppStudio for web apps? (1)

ghenne (537543) | about a year and a half ago | (#43502743)

This might be a step up from what you want to do, but NSB/AppStudio [nsbasic.com] might be a suggestion. The IDE is available in 19 languages (Dutch is complete, Danish partially). All the menus, prompts and error message are localized.

It creates apps which run on iOS and Android devices, which makes it more fun and relevant for kids starting out. They can take the apps with them and run them on their iPhone/iPad/iPod/etc.

It uses a programming language with a drag and drop design screen, instead of a cartoon (like Scratch) interface, so it's a more serious tool. Programming languages currently supported are JavaScript and BASIC. (There's some English there, learning keywords, but I don' t think that's so bad).

Runs on Mac or PC.

Re:NSB/AppStudio for web apps? (0)

Anonymous Coward | about a year and a half ago | (#43503397)

Dutch people are a bit wary of things called NSB :-)

x86 Assembly Language (1)

wirefarm (18470) | about a year and a half ago | (#43502761)

I would recommend teaching her x86 Assembly Language.
The instructions are simple little things like MOV, PUSH, POP, CALL, and INT. She can and should comment heavily and that can be in any language.
The mnemonics come from English, but are abstracted enough that they shouldn't turn her off for language's sake.
The concepts are basic as well. What she learns now will always be relevant. Consider this:
[...] a design architecture for an electronic digital computer with subdivisions of a processing unit consisting of an arithmetic logic unit and processor registers, a control unit containing an instruction register and program counter, a memory to store both data and instructions, external mass storage, and input and output mechanisms.
Von Neumann wrote that in 1945 and it all still applies today.

Scratch is great (0)

Anonymous Coward | about a year and a half ago | (#43502809)

When I started learning to program in the 1980s, I had to learn English in school. While being not very good in school I had no problem to learn all the BASIC commands in short time. My mother was puzzled, as I never did that much for school. The important thing is, the language is not the problem in your teaching attempt, but if she is not interested in programming, it will not work. Fascination is the thing you require and scratch is a god choice.

TAILS OS - private project to secure it (-1)

Anonymous Coward | about a year and a half ago | (#43502837)

In a few areas of the Tails Forums, (one example below) Tails users have posted about certain 'data collection, logging, debugging, Whisperback', and other issues a distro such as Tails should not include!

I am working on a project which will stop this type of collection and it will be free and released with each new version of Tails (it won't be included with the Tails distro or worked on by Tails/Tor developers) â" matching any changes the Tails team may make to try and obscure these data logging/collection activities between versions.

Here is one example post from a concerned user (post exists now, could be deleted later!):

Why does Tails log too much? .recently-used.xbel
https://tails.boum.org/forum/Why_does_Tails_log_too_much__63___.recently-used.xbel/ [boum.org]

#

An example of this is this hidden file: .recently-used.xbel located in amnesia folder. To see, open Home/amnesia, press Cntrl+h, look for that file. The contents of that file logs recently used programs and files with names and timestamps.

There are many other logs for different activities and events, a simple look around can locate these.

Caching thumbnails, recent documents, terminal command history and the similar..

Why would Tails need to log all these things during the session?

Some are useful for bug reporting, but many other arent and are widely revealing of system activities.

Yes, a restart will wipe everything, but what about while in the session?

Can an option be made for Tails to be log free or normal where the user can choose between the two? Like run log free and if a problem occurs to re-run tails with logs to identify the problem.â

#

There are debugging scripts, Whisperback, a script to drop all firewall protection, and much more in Tails.

I need more information from Tails users (Tails developers and those pretending not to be Tails developers posting against this will be ignored) before the first release is announced.

Boot into Tails and examine every nook and cranny and post about any file(s) with full path, which contain anything related to logging (excluding /var/log directories â" those will be dealt with) and/or sending of individual personal data.

On their mailing list they even had the balls to discuss whether or not they should add the package 'popcon'!

This project will be developed by an anonymous user (not included in the annoying 'Anonymous' group). I will not reveal usernames from posters here, but I may credit this forum with each release with thanks for the help.

So boot into the most recent release of Tails, sniff around as much as possible, and post back juicy information to the thread in 'NEWS': http://clsvtzwzdgzkjda7.onion/ [clsvtzwzdgzkjda7.onion]

Thank you.

Idiotic question (-1)

Anonymous Coward | about a year and a half ago | (#43502941)

Why start from some silly language and what difference does it make different words and also what is the point of encouraging programming ? You are an idiot, sir

A Free Gift From Carnegie Melon University (0)

Anonymous Coward | about a year and a half ago | (#43502985)

http://www.alice.org/index.php

Alice (1)

Denogh (2024280) | about a year and a half ago | (#43502989)

Why not Alice? [alice.org] It's available on Windows, Mac and Linux. If it's not yet available in your chosen language, you can join in the localization effort [alice.org] .

Starcraft II (1)

azcoyote (1101073) | about a year and a half ago | (#43502999)

Making Starcraft II custom maps can be done with a very friendly GUI, and I believe that it is completely localized. Also, since it's a game, you might be able to spark some interest with it.

why not ... (0)

Anonymous Coward | about a year and a half ago | (#43503015)

give her a link to the C++ 11 standard and the link to google's translation tools?

LISP / Scheme? (1)

cpghost (719344) | about a year and a half ago | (#43503141)

Not really a visual language, but basically, you can seamlessly define localized wrappers around every LISP function, macro, and special form to obtain a fully-localized programming language. And yes, kids can learn programming with LISP [landoflisp.com] .

Kodu (1)

MagicM (85041) | about a year and a half ago | (#43503297)

You might want to look at Kodu [microsoft.com] . There are plenty of reasons to hate on it, but it's a visual programming language aimed at making games.

Learn English (1)

msobkow (48369) | about a year and a half ago | (#43503437)

Seriously. Most jobs in the programming industry (including offshore consulting) have customers and partners who use English for documentation, requirements, and code. While it may be "neat" to program in another language, if you try to do so in the real world, you're probably going to get spanked and told to use "comprehensible names in your code."

I realize that might sound bigoted, saying you have to learn English to program, but it's a simple fact of the modern world. The user interface for applications needs to be localized, but the code is written to be read in English in most cases.

One can hardly apply for jobs as "C programmed in Dansk" and "C programmed in German", so on. Maybe if you're looking only at the local market, but I assume you're trying to help your daughter build skills for a future career. That's going to mean learning English.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?