Slashdot Mirror


Localized (Visual) Programming Language For Kids?

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?"

23 of 185 comments (clear)

  1. Scratch by dabadab · · Score: 4, Informative

    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.

    --
    Real life is overrated.
    1. Re: Scratch by Anonymous Coward · · Score: 3, Informative

      Available Scratch languages

      Help translate Scratch into other languages.

  2. The only way to do it by V!NCENT · · Score: 3, Interesting

    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/

    No... It is better.

    --
    Here be signatures
    1. Re:The only way to do it by Melkman · · Score: 4, Informative

      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 ;-).

  3. Re:Stop by DarkDust · · Score: 4, Insightful

    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.

  4. Logo by isj · · Score: 4, Interesting

    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.

  5. Scratch is still your best bet. by Spottywot · · Score: 3, Insightful

    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.

    --
    In a cybernetic fit of rage she pissed off to another age...
  6. Lego Midstorm by ThreeKelvin · · Score: 4, Funny

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

    1. Re:Lego Midstorm by cosm · · Score: 3, Funny

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

      Why is this modded funny?

      --
      'We are trying to prove ourselves wrong as quickly as possible, because only in that way can we find progress.' RPF
  7. You are wrong in that it matters by Anonymous Coward · · Score: 4, Insightful

    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.

  8. Khan academy's platform by cool_akshay · · Score: 3, Informative

    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

  9. To switch languages in Scratch... by girlinatrainingbra · · Score: 4, Informative

    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, is already a supported language in Scratch, as are 49 other languages as shown at http://info.scratch.mit.edu/Languages

  10. Lego Mindstorm by pieleric · · Score: 5, Interesting

    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).

  11. Perl FTW! by girlinatrainingbra · · Score: 4, Funny
    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 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

    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!

  12. Re:Stop by ozmanjusri · · Score: 5, Informative

    I've been teaching my nephews coding and robotics with Minibloq http://blog.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've got more toys than Teruhisa Kitahara."
  13. You should teach her English by Shlomi+Fish · · Score: 5, Insightful

    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 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 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 from the time of the Neo-Babylonian Empire 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).

    --
    We have two eyes and ten fingers so we will type five times as much as we read. http://www.shlomifish.org/
  14. Play with them by mrthoughtful · · Score: 4, Interesting

    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.

    --
    This comment was written with the intention to opt out of advertising.
  15. Re:I learned C when I was a kid. by ozmanjusri · · Score: 4, Funny

    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?

    --
    "I've got more toys than Teruhisa Kitahara."
  16. Re:Logo by mrthoughtful · · Score: 5, Informative

    "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.

    --
    This comment was written with the intention to opt out of advertising.
  17. Re:Stop by a_hanso · · Score: 3, Interesting

    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.

  18. Re:Stop by KGIII · · Score: 3, Informative

    I am not sure why but this is actually in my favorites.

    http://en.wikipedia.org/wiki/List_of_educational_programming_languages

    Some research there may help too. I don't have anything of value (beyond said link) to add to this conversation really.

    --
    "So long and thanks for all the fish."
  19. Re:Just "Learn English" by gbjbaanb · · Score: 3, Interesting

    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.

  20. Re: Stop by Anonymous Coward · · Score: 3, Insightful

    The problem with doing things right the first time is that nobody appreciates just how damn difficult it was.