Christopher Smith on 22 Sep 2003 21:04:02 -0000 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [ALACPP] Advice for a teacher, please |
So, I finally am getting around to weighing in on this topic. First of all, I'd say that in general at the high school level you don't really need to get into the "deep" levels of any particular programming language. Students should be be good enough with a language to write a non-trivial program without requiring language help, but beyond that I'd say you're well in to the kind of "practical knowledge" area that may prove irrelevant by the time they are in the real world. I'd echo most of what's been said here about infecting students with the notion that programming can be fun. I tend to look at high school programming courses as mostly instruction in how to do problem solving. I will never get over my shock in University while watching at least 50% of my CS class literally not knowing where to start with their lab work. If you gave them a program skeleton, they could work their way through to a solution, but they had no ability to build that skeleton. I think *that* is the skill that you should focus on at the high school level, because it's got a very broad range of applicability even outside of computer science. On the language side, I'd definitely start with a high level language. Maybe at an advanced level it might be time to start going in to the "this is how all the magic is done underneath it all" level, but it's probably not the way to start out. Java is not a bad teaching language in this context, although I think using things like "Squeak" might be even better. You might want to check it out as it very quickly will let your students do "fun" multimedia work, while at the same time get them going in the direction of thinking about program structure. http://www.squeak.org/ Alan Kay has actually setup a whole foundation for helping folks use Squeak in an educational setting (some of it is targeted at folks younger than your students): http://www.squeakland.org/ In general, I consider C++ a poor teaching language. I recently described C++ to someone as a "postmodern" language, in much the same light as Perl. It does not present any particular programming technique in a very pure form, but rather draws it's strengths from letting you combine multiple techniques. I think it makes a lot more sense for students to explore each technique, and get comfortable with each of them, before having them mix them all together. I'd think ideally it'd be good for students to learn Smalltalk, Scheme, and probably Pascal before throwing them into the C++ world. In a more practical world, perhaps Java, Scheme and C would do. -- Christopher Smith <x@xxxxxxxx> _______________________________________________ alacpp mailing list alacpp@xxxxxxxxxxx http://lists.ellipsis.cx/mailman/listinfo/alacpp