On May 15, 2006, at 1:54 PM, Justin Collins wrote:

> Francis Cianfrocca wrote:
>> Well, I have a somewhat different theory. Because remember five to  
>> ten
>> years ago, when all the young people were coming out having learned
>> Scheme and nothing else, so they were useless? I think someone told
>> the professors they need to train people for the real world, but they
>> responded by picking Java as the default choice. Seems like it would
>> be nice to find a happy medium between solid training in CS
>> fundamentals and practical knowledge. The Java training they're
>> getting now seems to be little more than recipes.
>>
> This is exactly correct. A lot of CS programs (my own included) are  
> struggling with a balance between marketable skills (ugh) and a  
> solid theoretical base. My school is currently considering  
> switching from C++ to Java for intro CS classes. I was lucky enough  
> to have classes with both C++ and Java, as well as a programming  
> languages class that used Scheme. Most of the CS students younger  
> than myself will be lucky if they are exposed to Python.
>
> I think the main problem is that some students just want to learn  
> to be software engineers, others want to be computer scientists.  
> The best proposal I've heard so far is to split the CS program into  
> the two, one track for the practical side and the other for  
> theoretical. Of course, there would be quite a bit of overlap.
>
> In my opinion, it should be straight computer science, drop the  
> software engineering or make it a different major :) Too bad the  
> department is heading in the direct opposite direction.

Which half of the split would you say that learning how to implement  
an AVL tree falls under?

-- Elliot Temple
http://www.curi.us/blog/