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?
PHP? A scripting language? Are you freaking kidding me? Scripting languages are pathetic insults to programming. You don't even have to declare variables before using them or choose their type. There would be some serious oversights of programming basics if you teach them php. In high school I took C++ and that worked out just fine. It was intimidating to think about writing a whole piece of software with that ancient language but it did teach the basics so later when I learned VB.net I could identify all the stuff they screwed up and improved and understood how a framework worked. At my college anyone in the IT field, even if it wasn't programming, had to take intro to VB and that class was pretty well structured. Plus you could actually write something with a GUI like modern programs have. I'd lean towards either C++ or VB.net.
Google's Super Secret Search Algorithm: SELECT @search_results FROM internet WHERE @search_results = 'good'
Free IDEs, free source code, videos, documentation.... that only applies to, oh I don't know, every language and platform I've ever encountered. A flavour of C is ok to start with, but it's also a bit much for the beginning 11 year old. Hell, teach them Perl if you want to know if they have a REAL interest and knack.