Best Introduction To Programming For Bright 11-14-Year-Olds? 962
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?
Assembly (Score:5, Funny)
Re:Assembly (Score:5, Funny)
It might be tough to actually solve a problem in assembly languages, but at least they're straightforward in the sense that it always does exactly what the documentation says it does. Each command is so simple that there's no chance you'll get hit with a language bug. Then again, maybe assembly just seems like a warm fuzzy bed of consistency since I have to use PHP at work.
C# is the best alternative... (Score:5, Funny)
11-14 years old = NO CASH.
Nobody has more free resources available to the budding programmer than Microsoft; like it or not.
Anyone can download FREE IDEs, free Source code, videos, documentation up the wazoo.
Also, C# is almost syntactically identical to Java, and it is a good language for the beginner to discover whether or not they have a REAL interest and a knack for coding.
If I were 14 again, wanting to learn how to code, Microsoft would be nirvana with all the free available stuff out there. There really is no contest.
As always, I got karma to burn, so take your best shot....
PL/1 or COBOL (Score:2, Funny)
Close to natural language is best (Score:4, Funny)
That's easy... (Score:2, Funny)
COBOL.
Re:PHP? (Score:1, Funny)
"With a procedural language, you get the benefit of showing them with just a few lines of code what you can do."
class HelloWorld:
def __init__(self, msg="Hello World"):
print msg
hw = HelloWorld()
OO with only a few extra lines
Re:DO NOT (Score:5, Funny)
I'll heartily second that. Visual Basic is totally inappropriate for a budding programmer.
Make them use vanilla Basic. I suggest using a C64 emulator (or, if you're feeling perverse, a VIC-20 emulator).
What? I had to use line numbers, so should they.
I'd also suggest making them use a cassette tape drive, or even a reel-to-reel drive, to ensure that they understand why bloated code is bad.
Oh, and while you are at it, make sure to supply them with a limitless supply of Tang (no, not 'tang, you'll get in trouble for that) and store-brand potato chips.
Finally, make sure that whatever they do, they need to write out their programs in pencil for review first, then enter the code verbatim once it's been signed off on.
Re:Logo, LISP, Scala, F#, Erlang, and Haskell (Score:3, Funny)
"Functional programming is making a comeback- it's going to be to the 2010s what OOPs was to the 1990s."
That's rather unkind. I don't think Functional Languages are going to screw up an entire generation;)
Re:DO NOT (Score:3, Funny)
My kingdom for a mod point, high shcool teahesr VB to get the kids to grips with the very basi (If statements, arrays etc)
This basic launguage got me started today.
GET OUT NOW!!!! (Score:5, Funny)
FOR $DIETY sake, don't do it!!! You'll end up surfing Slashdot ALL DAY like the rest of us.
If you're really bright, go into Physics or Chemistry! Better chance at girls than living in your mom's basement for the next 30 years till you're too old to program any longer!
Re:Bright vs. Hard Workers (Score:5, Funny)
I believe the currently accepted term is "stupidity challenged."
Re:PHP? (Score:2, Funny)
Re:Look at POV-Ray. (Score:5, Funny)
Visual payoff? Luxury. We used to dream of visual payoff. When I was young, we used to be happy if the computer beeped.
Re:Look at POV-Ray. (Score:5, Funny)
... of course, to get it to beep, you had to turn the display on and off really fast, in the hope of creating an audio carrier that the TV could understand.
Ah, ZX81... how I ... well, actually I don't miss thee at all.
Spring! (Score:3, Funny)
I will be teaching an enrichment programming course to 11-14 year old gifted children in the Spring
Spring [springframework.org] it is!