Advice on the Writing Projects for Chapter 10
- See the chapter on generative grammars in [De2].
Lindenmeyer systems are a special kind of generative grammar.
- Most textbooks on programming
languages should discuss this, as well as books on the specific
languages mentioned. The call number for programming languages is QA 76.7.
As usual, you can find Web sites with this information using a search
engine (such as Metacrawler). We turned up this
one, with a search for the three keywords "backus," "naur," and
"java."
- One book on computer
network protocols that discusses finite state machines is [Ho3].
- There are several textbooks on automata theory and finite-state
machines of all kinds that cover topics such as this. Try [Br1],
[Co], [DeDe],
[HoUl],
or [LePa],
for example. These are also good sources for supplementing the material in
this chapter. This subject in general (including grammars and formal
languages, Turing machines, computability, and computational complexity)
is usually called "the theory of computation," and, again, there are
numerous books with essentially this title. Amazon.com shows over 100
books in the Theory
of Computing subject. See [Si] for
a fairly recent and readable one that takes you from the beginning to a
fairly advanced level. Two other recent texts in this area are [Sa2]
and [Ta].
- There are entire books on the subject of cellular
automata (see [PrDu],
for instance). The Game
of Life was invented by the British mathematician John H. Conway, and
was the subject of several articles in Martin Gardner's Scientific American column during the 1970s.
Three of them are collected in [Ga2],
which also mentions other books and articles. See also [BeCo],
which covers lots of solitaire and two-person games, as well as Life.
- See standard references on automata theory, such as those mentioned
in Writing Project 4. A Web
search for the phrase "pushdown automata" should prove useful, too.
- See standard references on automata theory, such as those mentioned
in Writing Project 4. A Web
search for the phrase "linear bounded automata" should prove useful,
too.
- Turing's first article is [Tu2],
and it is actually quite readable. Keep in mind as you read it that real
computers had not yet been invented! You should be able to find
demonstration applets
of Turing machines on the Web; we liked this one.
- See standard references on automata theory, such as those mentioned
in Writing Project 4. A Web
search for the phrase "universal Turing machine" should prove useful,
too.
- This actually opens up the door to most of the important modern-day
research in theoretical computer science. For an elementary, nontechnical
account, see [Gr2].
See the references given in Writing Project 4 for more details. The big
question is whether deterministic Turing machines can compute functions as
efficiently as nondeterministic ones. You should definitely consult [GaJo],
the classic work in this area. A Web
search for the phrase "nondeterministic Turing machine" should prove
useful, too.
- See the references given for Writing Project 10.
- See standard references on automata theory, such as those mentioned
in Writing Project 4.
- Searching under "lambda calculus" or "recursive function theory"
in your library should turn up a place to start. We found some useful
information when searching
the Web for the phrase "lambda calculus."
- See standard references on automata theory, such as those mentioned
in Writing Project 4.
- See standard references on automata theory, such as those mentioned
in Writing Project 4.
Return to
main Writing Project page.
Last modified: December 28, 1998.