home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / programm / 3171 < prev    next >
Encoding:
Text File  |  1992-11-17  |  1.9 KB  |  39 lines

  1. Newsgroups: comp.programming
  2. Path: sparky!uunet!destroyer!cs.ubc.ca!uw-beaver!pattis
  3. From: pattis@cs.washington.edu (Richard Pattis)
  4. Subject: Re: first-year programming languages
  5. Message-ID: <1992Nov17.195700.25124@beaver.cs.washington.edu>
  6. Sender: news@beaver.cs.washington.edu (USENET News System)
  7. Organization: Computer Science & Engineering, U. of Washington, Seattle
  8. References: <aelman.721693402@Xenon.Stanford.EDU> <dnebing-141192140340@m64-143.bgsu.edu> <1992Nov17.174847.9437@nastar.uucp>
  9. Distribution: na
  10. Date: Tue, 17 Nov 92 19:57:00 GMT
  11. Lines: 26
  12.  
  13. Because no one has mentioned it ....
  14.  
  15. A good final project in CS1 is to have the students write a simple machine
  16. emulator.  Nothing burns in the mechanics of the fetch/execute like actually
  17. making them write the code that implements it. Such a program (along with a
  18. simpler loader) uses most of the intereresting language features taught in CS1.
  19. One could provide a simulator and ask the students to upgrade it with various
  20. tracing modes - including using a terminal screen to show the state of the
  21. computation via registers, etc.
  22.  
  23. In CS2, it is possible to explore writing simple asmblers,  in the context
  24. of learning different association table implementations (arrays, linked
  25. lists, trees, hash tables) to store name -> location bindings.
  26.  
  27. Certainly CS majors need to understand machines at various levels of
  28. abstraction. Good curricula can be implemented top-down as well as bottom-up.
  29. Each has its own strengths and difficulties, but students can arrive at the
  30. same destination through different paths, so long as their guides are familiar
  31. with the terrain.
  32.  
  33. Rich Pattis
  34. -- 
  35. ------------------------------------------------------------------------------
  36.   Richard E. Pattis                     "Programming languages are like
  37.   Department of Computer Science         pizzas - they come in only "too"
  38.     and Engineering                      sizes: too big and too small."
  39.