Slashdot Mirror


Best Introduction To Programming For Bright 11-14-Year-Olds?

firthisaword writes "I will be teaching an enrichment programming course to 11-14 year old gifted children in the Spring. It is meant as an introduction to very basic programming paradigms (conditions, variables, loops, etc.), but the kids will invariably have a mix of experience in dealing with computers and programming. The question: Which programming language would be best for starting these kids off on? I am tempted by QBasic which I remember from my early days — it is straightforward and fast, if antiquated and barely supported under XP. Others have suggested Pascal which was conceived as an instructional pseudocode language. Does anyone have experience in that age range? Anything you would recommend? And as a P.S: Out of the innumerable little puzzles/programs/tasks that novice programmers get introduced to such as Fibonacci numbers, primes or binary calculators, which was the most fun and which one taught you the most?" A few years ago, a reader asked a similar but more general question, and several questions have focused on how to introduce kids to programming. Would you do anything different in teaching kids identified as academically advanced?

13 of 962 comments (clear)

  1. Snake Wrangling for Kids by caseih · · Score: 4, Informative

    I know several young people who've got hooked on programming because of this free book: http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/

    There are versions of the book for Windows, Mac, and Linux. Although the book targets kids as young as 8, it would still be able to speak to an 11 or 12 year old I think.

  2. Objective C by Foofoobar · · Score: 3, Informative

    Objective C gives them the ability to build applications quickly and easily using GnuStep or Xcode. If they have iPods, this also gives the them ability to develop apps for them as well. The intrigue and excitement in their ability to do that often will get them excited in developing in other languages.

    --
    This is my sig. There are many like it but this one is mine.
  3. Alice? by SpectraLeper · · Score: 5, Informative

    It wouldn't start with any specific languages, but using Alice and its younger cousin Storytelling Alice might provide a good intro to concepts.

    I would judge how quickly those concepts are being integrated and then move on to an easy-ish language like BASIC.

  4. Try Python. by atomicthumbs · · Score: 4, Informative
    --
    http://pinopsida.com
  5. Scratch by Num6 · · Score: 5, Informative

    http://scratch.mit.edu/ Scratch is very cool, comes with an educational program for kids. It's an mit/ucla project

  6. PostScript by Colz+Grigor · · Score: 3, Informative

    I recommend PostScript.

    For kids, PostScript has the advantage of nearly instant gratification, because it allows them to draw graphics quickly. It has loops and conditionals. It uses stacks and variables and functions.

    All you need to get going in PostScript is a text editor and a PostScript to PDF converter. On a Mac, it's built in. On Windows, I use GhostScript in CygWin and run ps2pdf, just like I would on Linux. Alternatively, Acrobat Distiller should do the trick.

  7. wikipedia by jbolden · · Score: 5, Informative

    I (and others) wrote a good wikipedia page on this topic
    http://en.wikipedia.org/wiki/Educational_programming_language . I'd look at this list

    I personally love and can recommend Alice http://www.alice.org/ and had a great deal of success with my daughter with this.

  8. Re:LOGO! by themba · · Score: 4, Informative

    Seconded. You can't beat designed for the task. It's got an extremely low learning curve, immediate feedback, and lends itself nicely to exploration. And contrary to popular belief, it's not exactly limited. Brian Harvey at UCB has 3 downloadable books suitable for varying skill levels here.

    --
    /t
  9. Scratch is a programming language for kids by macz · · Score: 3, Informative

    It was developed by MIT (http://scratch.mit.edu/) and has some cool stuff to keep their interest.

    --
    ...But I digress. TREMBLE PUNY HUMANS!ONE DAY MY SPECIES WILL DESTROY YOU ALL!
  10. Re:Lego Mindstorm by tylerni7 · · Score: 4, Informative

    I remember getting the RCX a few years ago, I think that was probably one of my first experiences programming even...
    I would not recommend the default graphic programming language for 11-14 year-olds, however. There are a lot of third part languages you can use to program it, which not only allow you to do more, but also will be more educational and feel less like a toy to the kids.
    I agree with you that programming something like a robot is nice because they get to do something in the real world, but at that age, the kids should really be doing something more than sticking blocks together on a screen.

    On a similar note, you may want to try Processing/Wiring. Both are based on Java, so they are pretty easy. Wiring is used in a lot of micro-controllers, so it might be interesting to try that route instead of the Lego kit if the kids are really into it.

  11. Language by TheBradshaw · · Score: 3, Informative

    I would suggest Alice http://www.alice.org/. It is a drag and drop interface to a 3D environment. It is FREE and was designed at Carnegie Melon University. I teach high school sciene and have almost zero programming background. I learned the basics in two weeks at a summer workshop at Duke University. The last week of the workshop was a summer camp for middle school aged children. They picked it up easily, enjoyed making worlds, and learned quite a bit about basic programming. Once they learn it, they can easily start exploring languages like Java.

  12. Alice/Storytelling Alice or Myro/PyroRobotics by isdale · · Score: 3, Informative

    Alice and StoryTelling Alice
    "Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a teaching tool for introductory computing. It uses 3D graphics and a drag-and-drop interface to facilitate a more engaging, less frustrating first programming experience."
    Thank you Randy Pauch. We miss you.

    Or try
    Myro using Microsoft Robotics Studio

    or Pyro which was the non-MS precursor to Myro... program bots in Python with either real bots or simulation.

    Either way, the graphical environments and real bots give kids a great way to SEE and TOUCH their results, which is more how they learn. You can cover all the important software constructs (variables, loops, events, data structs, etc) and avoid some of the abstract conceptualization required in more conventional languages/applications. They will learn the concepts through doing & using them. Then once they are hooked, they can dig into other languages.

    Works great for middle school & college kids.... Pyro's got years of track record teaching intro to AI - to liberal arts majors!

  13. Re:LOGO! by Lars+Arvestad · · Score: 3, Informative

    Aw, I got it wrong: I mean Scratch (from MIT), not Squeak. Scratch is great! We have not looked at squeak.

    --
    Reality or nothing.