+1 for bhousel's suggestion for LPTHW.
How to design a CS curriculum for middle/high school?
11–14 of 14 posts
Re: How to design a CS curriculum for middle/high school?
#12The best way to teach programming to middle/high school students is to teach them programming. Forget things like alice and scratch. Just hand them a python prompt and a book or tutorial, or perhaps Hackety Hack. Middle school students are a lot more intelligent than those programs give them credit for and are completely capable of learning actual computer science. +1 for bhousel's suggestion for LPTHW.
Re: How to design a CS curriculum for middle/high school?
#13I'd probably just use Zed Shaw's Learn Python The Hard Way as a model: http://learnpythonthehardway.org/ at least for the programming parts. Ruby For Kids is interesting too, but I think it's a little too advanced for an intro course: http://ruby4kids.com I agree that history is important too. Some of the more applied CS can be interesting (graphics) but I wouldn't delve too deeply into the more difficult stuff (cryp…
Re: How to design a CS curriculum for middle/high school?
#14The best way to teach programming to middle/high school students is to teach them programming. Forget things like alice and scratch. Just hand them a python prompt and a book or tutorial, or perhaps Hackety Hack. Middle school students are a lot more intelligent than those programs give them credit for and are completely capable of learning actual computer science. +1 for bhousel's suggestion for LPTHW.
The problem is that you couched this in teaching kids programming, but I what I really want to teach is computer science. It's really more about answering the "why" question for the kids and showing something that stimulates curiosity. Granted for some people this is programming, but for others it's about showing the effect of computer science and how to be a part of that effect.
Another thing to look at is the Lego NXT robot, which uses very Scratch-like software (drag and drop action and control flow elements) to control a real robot that they can put together with Lego pieces.
I wouldn't downplay the importance of having a python prompt or a c compiler available, though. It may not seem as exciting as drag and drop programs, but to some kids it is more exciting (it was to me when i started programming, certainly).