skip to main content
Skip header Section
Computer science Logo style. Vol. 3: advanced topicsNovember 1987
Publisher:
  • MIT Press
  • 55 Hayward St.
  • Cambridge
  • MA
  • United States
ISBN:978-0-262-58086-1
Published:17 November 1987
Pages:
374
Skip Bibliometrics Section
Bibliometrics
Contributors
  • University of California, Berkeley

Recommendations

Reviews

Wayne Charles Summers

Computer science Logo style: Volume 3: advanced topics is the most recent volume in a series of introductory computer science textbooks. This volume presents an introduction to many of the theoretical topics in computer science. Although the author suggests that the book may be used in high schools, it would be more appropriate in a university computer science survey course. Students using this text are expected to be proficient programmers in LOGO and would probably benefit from having taken a course using volumes 1 and 2. Each chapter concludes with a program listing in LOGO of the main theme of the chapter. The first chapter provides an introduction to automata theory, including a fairly standard discussion of finite-state and Turing machines. The chapter closes with an interesting proof of the halting theorem using LOGO. The program listing at the end of chapter 1 is an interpreter for a finite-state machine. Chapter 2 is an overview of some of the topics in discrete mathematics. It begins with a brief introduction to propositional logic, followed by several nice applications. Other topics covered in this chapter include combinatorics and math induction. This chapter concludes with several LOGO programs, which solve several of the problems discussed in the chapter. The third chapter begins with a brief discussion of the analysis of algorithms and uses several sorting algorithms to explain some of the concepts. Although the author's discussion of data structures and data abstraction is very abbreviated, it does include a nice comparison of the abstract data types array and list and their implementation in several different programming languages. Several of the examples in the chapter are solved using LOGO in the programs at the end of the chapter. Chapters 4 and 5 discuss the design and implementation of a programming language, using Pascal as an example. Several important concepts, including data types and parameter passing, are discussed in detail. Chapter 5 describes the creation of a simple Pascal compiler, written in LOGO, that translates Pascal code into LOGO code. This proves to be a very interesting problem because of the large differences that exist between these two languages. The author does a nice job of bringing some of the material from earlier chapters into play in chapter 5. A listing for the compiler is included at the end of chapter 5. The author attempts to pull everything together in chapter 6 on artificial intelligence. He does this using a LOGO program that solves algebra word problems written in English. This chapter allows the author to bring together the concepts of automata theory, data structures, and compiler writing and show how they can be applied when writing a natural language processing program. A listing of the program concludes the chapter. The book is well written but must be read fairly slowly. The program listings at the end of each chapter are helpful in reinforcing many of the concepts discussed. What is lacking, however, are chapter exercises. A textbook should contain problems for the students to attempt in order to further their knowledge of the material. Program disks are available for the text and would be very helpful to the students. The textbook does include a nice bibliography for each of the chapters, along with a listing of additional books everyone should read. Although this is not your typical computer science textbook, it should prove to be an excellent text for schools that are emphasizing programming in LOGO, especially if they are using the previous volumes in the series.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.