Path: utzoo!attcan!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!unmvax!ncar!tank!uxc!uxc.cso.uiuc.edu!m.cs.uiuc.edu!p.cs.uiuc.edu!gillies From: gillies@p.cs.uiuc.edu Newsgroups: comp.edu Subject: Re: Texts on fundamentals of programmin Message-ID: <82400035@p.cs.uiuc.edu> Date: 4 Apr 89 15:41:00 GMT References: <354@cbnewsc.ATT.COM> Lines: 35 Nf-ID: #R:cbnewsc.ATT.COM:354:p.cs.uiuc.edu:82400035:000:1588 Nf-From: p.cs.uiuc.edu!gillies Apr 4 10:41:00 1989 > The approach to problem sets in the class at MIT was great > - they would give you lots of code and you would then have to figure > it out and then modify or extend it. Much more of a real-world > approach than writing everything from scratch. > > Peter Desnoyers I agree that one valid way to teach programming is to have students modify code. But I have to disagree furiously with the overall implication. I recently reviewed my course notes and problem sets from 6.001, when it was taught in CLISP ('81). More than HALF THE PROBLEMS ARE AI TOY PROBLEMS!!!! I also took intro to C.S. for majors at Illinois, and the problems were much more realistic. Face it, you're not going to be write lisp interpreters, reprogram eliza's, simulate infinite lists of primes, or reimplement MacSyma out in the real world. A LARGE fraction of our problems in 6.001 could not easily be translated into other languages. The course is heavily dependent on the intricacies of LISP! The course is very unrealistic. It is fun, and it teaches recursion beautifully, it neglects documentation totally, but it is VERY UNREALISTIC.... Don Gillies, Dept. of Computer Science, University of Illinois 1304 W. Springfield, Urbana, Ill 61801 ARPA: gillies@cs.uiuc.edu UUCP: {uunet,harvard}!uiucdcs!gillies P.S. When I took the course, to get an 'A' you had to understand how to implement LISP closures on a LISP frame stack. Yes, I got an 'A', and this knowledge has proven to be about as useful as being able to jump through a hoop. In fact, I can't see the fundamental difference!