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