Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Discovering computer science : interdisciplinary problems, principles, and Python programming
Havill J., Chapman & Hall/CRC, Boca Raton, FL, 2015. 750 pp. Type: Book (978-1-482254-14-3)
Date Reviewed: Feb 3 2016

Havill’s book introduces computer science in a very unique and effective way. The book discusses fundamental computer science concepts such as abstraction, repetition, condition, and recursion through real-world problems such as personal finance, population growth, DNA sequence, and earthquake analysis.

The book is designed for a CS 1 course for majors, a CS 0 course for nonmajors with omissions, or a basic computing course for natural or social sciences students. Traditional introductory computer science content is well covered, though in a different way compared to most other introductory books. Most other introductory CS books would arrange the topics either around features of programming such as objects, variables, repetitions, conditions, and functions, or around data structures or algorithms such as list, array, graph, search, and sorting. Havill’s book presents readers with the same content using topics of real-world problems as a road map. Here are the titles and contents of some sample chapters: “Growth and Decay” (chapter 4), where the concept of a computing model is introduced through the problem of population growth; “Text, Documents, and DNA” (chapter 6), where list processing is discussed through the problems of text analysis and DNA sequencing; and “Flatland” (chapter 9), where 2D data is studied through the problems of the game of life and digital images.

The author carefully selects real-world problems as examples to introduce key computing concepts. For each problem studied, the author provides ample details in fine language so students can follow the discussions easily. Plenty of “Reflections” are presented throughout the discussions that inspire students to think deeper and synthesize what they just learned. For example, chapter 6 contains 55 such reflections. Each section within a chapter ends with a collection of exercises. Each chapter provides a few programming projects with detailed descriptions so students and instructors can use them directly. For example, chapter 8 has five multipart projects, the entire description of which runs 11 pages of text. In summary, this is a beautifully written, high-quality textbook for introductory computer science courses.

The book is best suited for computer science majors, or students from natural sciences or social sciences. It requires a certain level of maturity with mathematics. With careful choices of omission by the instructor, students of other majors can definitely benefit from the book as well, as the author points out in the preface.

More reviews about this item: Amazon

Reviewer:  Xiannong Meng Review #: CR144144 (1604-0232)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
General (D.1.0 )
 
 
Python (D.3.2 ... )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Problems in programming
Vitek A., Tvrdy I., Reinhardt R., Mohar B. (ed), Martinec M., Dolenc T., Batagelj V. (ed), John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471930174)
Aug 1 1992
KNOs: KNowledge acquisition, dissemination, and manipulation Objects
Tsichritzis D., Fiume E., Gibbs S., Nierstrasz O. ACM Transactions on Information Systems 5(1): 96-112, 1987. Type: Article
Nov 1 1987
Programmer perceptions of productivity and programming tools
Hanson S. (ed), Rosinski R. Communications of the ACM 28(2): 180-189, 1985. Type: Article
Jul 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy