home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / programm / 3182 < prev    next >
Encoding:
Internet Message Format  |  1992-11-18  |  2.3 KB

  1. Path: sparky!uunet!stanford.edu!agate!usenet.ins.cwru.edu!b63519.STUDENT.CWRU.Edu!dpn2
  2. From: dpn2@po.CWRU.Edu (Damien P. Neil)
  3. Newsgroups: comp.programming
  4. Subject: Re: first-year programming languages
  5. Date: Wed, 18 Nov 1992 23:55:18 GMT
  6. Organization: Case Western Reserve University
  7. Lines: 29
  8. Distribution: na
  9. Message-ID: <dpn2.111.722130918@po.CWRU.Edu>
  10. References: <1992Nov13.171915.26423@cbnewsc.cb.att.com> <aelman.721693402@Xenon.Stanford.EDU> <dnebing-141192140340@m64-143.bgsu.edu> <BxsFop.Jvw@watserv1.uwaterloo.ca> <BxxKvy.4rI@news.cso.uiuc.edu> <1eeg4nINNs38@matt.ksu.ksu.edu>
  11. NNTP-Posting-Host: b63519.student.cwru.edu
  12.  
  13. I took an Intro to CS course at Carnegie Mellon, and they have a rather 
  14. interesting approach: they start students out with a pseudolanguage called 
  15. Karel. This language strongly resembles Pascal, but all it can be used for 
  16. is to move a simulated robot around and have it interact with a simple 
  17. world.
  18.  
  19. The interpreter and editor are integrated and designed so that students can 
  20. almost completely ignore syntax, and just concentrate on the concepts of 
  21. programming. It is possible to write a large portion of the program using 
  22. only a mouse.
  23.  
  24. This language teaches concepts like control structures, structured 
  25. programming, and even recursive algrothms before students learn what a 
  26. variable is. (There are no variables in Karel.)
  27.  
  28. After covering Karel extensively, the course moves on to Pascal. The Pascal 
  29. interpreter is identical in interface to the Karel compiler, and has a 
  30. number of very nice features. (Although it is far, far too slow for any real 
  31. work.) Some of the nice bits include the nicest call stack that I have 
  32. _ever_ seen. It makes the most beautiful representations of linked lists...
  33.  
  34. The final project in the class is to write a Karel interpreter, which brings 
  35. the whole course full circle. I found it an excellent approach. Even though 
  36. I was quite familiar with the mechanics of programming when I took it, I 
  37. learned a huge amount about programming style. Enough, in fact, to make 
  38. up for being forced to program Pascal on a Mac... :-)
  39. +-------------+------------------+---------------------------------+
  40. | Damien Neil | dpn2@po.cwru.edu | Case Western Reserve University |
  41. +-------------+------------------+---------------------------------+
  42.