Hacker News new | past | comments | ask | show | jobs | submit login
U of Waterloo: All intro CS courses use Scheme (for Math students too!) (compsci.ca)
23 points by pchristensen on March 18, 2008 | hide | past | favorite | 20 comments



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.


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.


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).


"... 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?


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.


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.


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


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!


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


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


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


Egad. What was the attrition rate?


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


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).


We're using HtDP, not SICP. Our approach is quite different from MIT's (past and present).


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


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.


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.


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


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




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: