

U of Waterloo: All intro CS courses use Scheme (for Math students too!) - pchristensen
http://compsci.ca/blog/computer-science-at-waterloo-the-new-scheme-of-things/

======
a-priori
I actually just presented an argument to the U of Guelph CS department a few
months ago saying that, among other things, they should do this (Guelph is
about 40km NE of Waterloo). It was remarkably well-received.

------
smook
Back in 1972, @ Univeristy of Toronto, Engineering Science we took PL/C. Most
of us used APL (A Programming Language) to write quick and fast code on the
fly. Where did that language go ? Remember I.P.Sharpe Associates? Time-
sharing? Ouch, this dates me. I'm running an ISP in Toronto now and hiring
graduates, but find many think they can programme, but they cannot "problem-
solve"! Too bad most of the Universities are giving us programmers but no
network ip people. (They seem to be self-taught, like the best ones...!) My
son currently in second year Chemical Engineering is just using some C++ and
MathLAB. My younger son will be entering UofT for Engineering Science in FALL
2008, and they are asking all students to enroll in a summer class for
programming if they wish to be accepted into EngSci. I'm hoping that the
Universities keep up the push to stay-up-to-date with the current programming
languages. Good luck to all you new noobs.

------
mrtron
I took the Java route @ Waterloo.

I would have to defend CS 133/134 in the Java days by saying that that they
always emphasized the data structures and OO components and downplayed
anything language specific. The only language specific components really were
how you expressed the general concepts. For this reason, I don't feel the
switch will make a huge impact on a lot of students.

However, I do think it is a good thing, too many students focused on
memorizing the Java aspects like what a main definition looks like (memorizing
public static void main... instead of understanding what public meant, what
static meant, and so on).

~~~
jamesbritt
"... they always emphasized the data structures and OO components and
downplayed anything language specific."

How can you use Java for OO and not have it skewed by language specifics?

------
eworoshow
Alas, I was a year too early and thus doomed to take the CS 133/134 sequence.
It was terrible. (The day our professor suggested Java had operator
overloading I stopped going to class.) By all accounts the CS 135/6/45
sequence is excellent; kudos to Prabhakar Ragde for pioneering it. Waterloo's
first-year CS sequence has been in a constant state of flux for quite a while
now so with any luck this change will provide some stability.

------
brent
Same here at IU, but what do you expect when Dan Friedman and Kent Dybvig are
faculty. Unfortunately my undergraduate school was yet another java school.

------
jraines
When I was at GT all freshmen had to take CS1321, which was taught in Scheme.
(ahem, well, the lectures were in English . . .)

------
admanrs
the Northwestern University CS department has been teaching Scheme in its
intro course since the beginning of time. its kind of a weed-out class. theres
been a lot of talk about teaching a more 'useful' language like python, but
its probably never going to happen.

as for me, im glad i learned it and saw the light!

------
holdenk
I was one of the students to take the first version of the course :) Funtimes
:)

~~~
pinecone
I was one of the students to take the Java-y CS134. One cup of coffee I could
have done without.

------
brentr
At Bowling Green, the introductory class for the CS major is based around C++.

~~~
pchristensen
Egad. What was the attrition rate?

------
hollerith
Ah, but I believe MIT's intro CS course stopped using Scheme a few years ago.

~~~
pchristensen
That's why I thought Waterloo's switch _to Scheme_ was noteworthy. MIT's 6.001
was the prototypical Scheme class and now it's Python (w/robots).

~~~
brlewis
Keep in mind that MIT doesn't have a CS department. Course 6 is EECS.

~~~
aston
Not really that important to note. Basically all of the scheme instruction
(short of two classes taught by Sussman) has been removed from the curriculum.

~~~
brlewis
When I took 6.001 (SICP) in Spring 1987 there weren't a lot of classes using
Scheme either. I think the main difference is that SICP is no longer required
for all of course 6.

~~~
aston
6.034 was the Scheme follow-on, and it's now Python, too.

------
cos
my uncle is a prof there. I guess they partner with MS.

