On 11-Jun-06, at 12:55 PM, Nicholas Evans wrote:

> This year was the first year for the course, and Scheme was used.  
> However, I've been talking to the teacher about Ruby, suggesting  
> that she should try it for one of the programming courses next  
> year. (Unfortunately, there's no ready-made curriculum for Ruby  
> available to her, and she is not really a techie, so that idea was  
> shot down.)
>
> If I end up teaching it, I think it would be cool to cover Ruby  
> instead of Scheme. I'd have to develop my own curriculum, but  
> whatever.
>
> The goal of the course is to teach programming concepts in half of  
> a school year. The things that were covered during this year's  
> course were writing functions to do a simple calculation, using  
> variables, and using cond/booleans. Many students struggled during  
> the beginning of the year with writing basic functions. Our teacher  
> kind of blamed herself for that, because
> this was her first year teaching programming, and she had never  
> been trained on Scheme.

If you can teach someone to program, learning a new language isn't  
going to be a big problem. Your decision should be less about the  
language and more about the concepts you need to be teaching. Scheme  
is an excellent language for teaching people how to program. Sure,  
most of them are unlikely to use scheme much if ever in day to day  
operations on the job (if they choose to go down this path and stick  
with it), but it's an excellent language to teach programming concepts.

> So, given all of that, I have two questions for ya, list. One, do  
> you think there's any merit from teaching pretty non-technical  
> sophomores in highschool Ruby over Scheme?

No, I don't. Keep the language simple, teach them how to program;  
those who continue on with programming will find languages that they  
wish to pursue, and will learn those when the time is appropriate.

> Nick Evans

--
Jeremy Tregunna
jtregunna / blurgle.ca


"One serious obstacle to the adoption of good programming languages  
is the notion that everything has to be sacrificed for speed. In  
computer languages as in life, speed kills." -- Mike Vanier