Computer Science: An Overview 12th Edition
This book presents an introductory survey of computer science. It explores the breadth of the subject while including enough depth to convey an honest appreciation for the topics involved.
We wrote this text for students of computer science as well as students from other disciplines. As for computer science students, most begin their studies with the illusion that computer science is programming, Web browsing, and Internet file sharing because that is essentially all they have seen. Yet computer science is much more than this. Beginning computer science students need exposure to the breadth of the subject in which they are planning to major. Providing this exposure is the theme of this book. It gives students an overview of computer science—a foundation from which they can appreciate the relevance and interrelationships of future courses in the field. This survey approach is, in fact, the model used for introductory courses in the natural sciences.
This broad background is also what students from other disciplines need if they are to relate to the technical society in which they live. A computer science course for this audience should provide a practical, realistic understanding of the entire field rather than merely an introduction to using the Internet or training in the use of some popular software packages. There is, of course, a proper place for that training, but this text is about educating.
While writing previous editions of this text, maintaining accessibility for nontechnical students was a major goal. The result was that the book has been used successfully in courses for students over a wide range of disciplines and educational levels, ranging from high school to graduate courses. This 12th edition is designed to continue that tradition.
New in the 12th Edition
The underlying theme during the development of this 12th edition has been incorporating an introduction to the Python programming language into key chapters. In the earliest chapters, these supplementary sections are labeled optional.
By Chapter 5, we replace the previous editions’ Pascal-like notation with Python and Python-flavored pseudocode.
This represents a significant change for a book that has historically striven to sidestep allegiance to any specific language. We make this change for several reasons. First, the text already contains quite a bit of code in various languages, including detailed pseudocode in several chapters. To the extent that readers are already absorbing a fair amount of syntax, it seems appropriate to retarget that syntax toward a language they may actually see in a subsequent course. More importantly, a growing number of instructors who use this text have made the determination that even in a breadth-first introduction to computing, it is difficult for students to master many of the topics in the absence of programming tools for exploration and experimentation.
But why Python? Choosing a language is always a contentious matter, with any choice bound to upset at least as many as it pleases. Python is an excellent middle ground, with:
• a clean, easily learned syntax,
• simple I/O primitives,
• data types and control structures that correspond closely to the pseudocode primitives used in earlier editions, and
• support for multiple programming paradigms.
It is a mature language with a vibrant development community and copious online resources for further study. Python remains one of the top 10 most commonly used languages in industry by some measures, and has seen a sharp increase in its usage for introductory computer science courses. It is particularly popular for introductory courses for non-majors, and has wide acceptance in other STEM fields such as physics and biology as the language of choice for computational science applications.
Nevertheless, the focus of the text remains on broad computer science concepts; the Python supplements are intended to give readers a deeper taste of programming than previous editions, but not to serve as a full-fledged introduction to programming. The Python topics covered are driven by the existing structure of the text. Thus, Chapter 1 touches on Python syntax for representing data—integers, floats, ASCII and Unicode strings, etc. Chapter 2 touches on Python operations that closely mirror the machine primitives discussed throughout the rest of the chapter. Conditionals, loops, and functions are introduced in Chapter 5, at the time that those constructs are needed to devise a sufficiently complete pseudocode for describing algorithms. In short, Python constructs are used to reinforce computer science concepts rather than to hijack the conversation. In addition to the Python content, virtually every chapter has seen revisions, updates, and corrections from the previous editions.
|Download Ebook||Read Now||File Type||Upload Date|
|April 12, 2019|
Do you like this book? Please share with your friends, let's read it !! :)How to Read and Open File Type for PC ?