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/