Computer science : an interdisciplinary approach
Author(s)
Bibliographic Information
Computer science : an interdisciplinary approach
Addison-Wesley, c2017
Available at 2 libraries
  Aomori
  Iwate
  Miyagi
  Akita
  Yamagata
  Fukushima
  Ibaraki
  Tochigi
  Gunma
  Saitama
  Chiba
  Tokyo
  Kanagawa
  Niigata
  Toyama
  Ishikawa
  Fukui
  Yamanashi
  Nagano
  Gifu
  Shizuoka
  Aichi
  Mie
  Shiga
  Kyoto
  Osaka
  Hyogo
  Nara
  Wakayama
  Tottori
  Shimane
  Okayama
  Hiroshima
  Yamaguchi
  Tokushima
  Kagawa
  Ehime
  Kochi
  Fukuoka
  Saga
  Nagasaki
  Kumamoto
  Oita
  Miyazaki
  Kagoshima
  Okinawa
  Korea
  China
  Thailand
  United Kingdom
  Germany
  Switzerland
  France
  Belgium
  Netherlands
  Sweden
  Norway
  United States of America
Note
Includes index
Description and Table of Contents
Description
Named a Notable Book in the 21st Annual Best of Computing list by the ACM!
Robert Sedgewick and Kevin Wayne's Computer Science: An Interdisciplinary Approach is the ideal modern introduction to computer science with Java programming for both students and professionals. Taking a broad, applications-based approach, Sedgewick and Wayne teach through important examples from science, mathematics, engineering, finance, and commercial computing.
The book demystifies computation, explains its intellectual underpinnings, and covers the essential elements of programming and computational problem solving in today's environments. The authors begin by introducing basic programming elements such as variables, conditionals, loops, arrays, and I/O. Next, they turn to functions, introducing key modular programming concepts, including components and reuse. They present a modern introduction to object-oriented programming, covering current programming paradigms and approaches to data abstraction.
Building on this foundation, Sedgewick and Wayne widen their focus to the broader discipline of computer science. They introduce classical sorting and searching algorithms, fundamental data structures and their application, and scientific techniques for assessing an implementation's performance. Using abstract models, readers learn to answer basic questions about computation, gaining insight for practical application. Finally, the authors show how machine architecture links the theory of computing to real computers, and to the field's history and evolution.
For each concept, the authors present all the information readers need to build confidence, together with examples that solve intriguing problems. Each chapter contains question-and-answer sections, self-study drills, and challenging problems that demand creative solutions.
Companion web site (introcs.cs.princeton.edu/java) contains
Extensive supplementary information, including suggested approaches to programming assignments, checklists, and FAQs
Graphics and sound libraries
Links to program code and test data
Solutions to selected exercises
Chapter summaries
Detailed instructions for installing a Java programming environment
Detailed problem sets and projects
Companion 20-part series of video lectures is available at informit.com/title/9780134493831
Table of Contents
Preface xiii
Chapter 1: Elements of Programming 1
1.1 Your First Program 2
1.2 Built-in Types of Data 14
1.3 Conditionals and Loops 50
1.4 Arrays 90
1.5 Input and Output 126
1.6 Case Study: Random Web Surfer 170
Chapter 2: Functions and Modules 191
2.1 Defining Functions 192
2.2 Libraries and Clients 226
2.3 Recursion 262
2.4 Case Study: Percolation 300
Chapter 3: Object-Oriented Programming 329
3.1 Using Data Types 330
3.2 Creating Data Types 382
3.3 Designing Data Types 428
3.4 Case Study: N-Body Simulation 478
Chapter 4: Algorithms and Data Structures 493
4.1 Performance 494
4.2 Sorting and Searching 532
4.3 Stacks and Queues 566
4.4 Symbol Tables 624
4.5 Case Study: Small-World Phenomenon 670
Chapter 5: Theory of Computing 715
5.1 Formal Languages 718
5.2 Turing Machines 766
5.3 Universality 786
5.4 Computability 806
5.5 Intractability 822
Chapter 6: A Computing Machine 873
6.1 Representing Information 874
6.2 TOY Machine 906
6.3 Machine-Language Programming 930
6.4 TOY Virtual Machine 958
Chapter 7: Building a Computing Device 985
7.1 Boolean Logic 986
7.2 Basic Circuit Model 1002
7.3 Combinational Circuits 1012
7.4 Sequential Circuits 1048
7.5 Digital Devices 1070
Context 1093
Glossary 1097
Index 1107
APIs 1139
by "Nielsen BookData"