Writing for Computer Science is an introduction to doing and describing re-
search. For the most part the book is a discussion of good writing style and
effective research strategies. Some of the material is accepted wisdom, some
is controversial, and some is my opinions. Although the book is brief, it is
designed to be comprehensive; some readers may be interested in exploring
topics further, but for most readers this book should be sufficient.
The first edition of this book was almost entirely about writing. This edi-
tion, partly in response to reader feedback and partly in response to issues that
arose in my own experiences as an advisor, researcher, and referee, is also about
research methods. Indeed, the two topics—writing about and doing research-
are not clearly separated. It is a small step from asking how do I write? to
asking what is it that I write about?
As previously, the guidance on writing focuses on research, but much of
the material is applicable to general technical and professional communication.
Likewise, the guidance on the practice of research has broader lessons. A prac-
titioner trying a new algorithm or explaining to colleagues why one solution is
preferable to another should be confident that the arguments are built on robust
foundations. And, while this edition has a stronger emphasis on research than
did the first, nothing has been deleted; there is additional material on research,
but the guidance on writing has not been taken away.
Since the first edition appeared, there have been many changes in the culture
and environment of research. The web has become universal, whereas, for
example, few papers were online. There are also more subtle changes. It now
seems to be rare that a spoken presentation is truly unprofessional; a decade ago
many talks were unendurably awful. The growth in the use of good tools for
presentations has been a key factor in this development, and the use of overhead
transparencies has become archaic.