Cantitate/Preț
Produs

A Balanced Introduction to Computer Science

Autor David Reed
en Limba Engleză Paperback – 31 aug 2010
"A Balanced Introduction to Computer Science, 3/e" is ideal for Introduction to Computing and the Web courses in departments of Math and Computer Science.
This thoughtfully written text uses the Internet as a central theme, studying its history, technology, and current use. Experimental problems use Web-based tools, enabling students to learn programming fundamentals by developing their own interactive Web pages with HTML and JavaScript. Integrating breadth-based and depth-based chapters, Reed covers a broad range of topics balanced with programming depth in a hands-on, tutorial style.
Citește tot Restrânge

Preț: 97141 lei

Preț vechi: 118464 lei
-18% Nou

Puncte Express: 1457

Preț estimativ în valută:
18597 19330$ 15419£

Carte indisponibilă temporar

Doresc să fiu notificat când acest titlu va fi disponibil:

Preluare comenzi: 021 569.72.76

Specificații

ISBN-13: 9780132166751
ISBN-10: 0132166755
Pagini: 398
Dimensiuni: 203 x 251 x 15 mm
Greutate: 0.68 kg
Ediția:3
Editura: Prentice Hall
Locul publicării:Upper Saddle River, United States

Descriere

A Balanced Introduction to Computer Science, 3/e is ideal for Introduction to Computing and the Web courses in departments of Math and Computer Science.

This thoughtfully written text uses the Internet as a central theme, studying its history, technology, and current use. Experimental problems use Web-based tools, enabling students to learn programming fundamentals by developing their own interactive Web pages with HTML and JavaScript. Integrating breadth-based and depth-based chapters, Reed covers a broad range of topics balanced with programming depth in a hands-on, tutorial style.

Cuprins

Contents
Preface xv
1 Computer Basics 1
What Is a Computer? 1
Hardware 3
Central Processing Unit (CPU) 4
Memory 6
Input/Output Devices (I/O) 8
Software 9
Operating Systems 10
Internet and the Web 12
Web Browsers and Servers 13
Web Addresses 14
Accessing Local Pages 15
Looking Ahead... 15
Chapter Summary 16
Review Questions 17
References 18

2 HTML and Web Pages 19
HTML Basics 20
HTML Tags 20
HTML Elements 21
Document Formatting 22
Text Spacing 22
Headings and Alignment 23
Font Formatting 25
Hypertext and Multimedia 27
Hyperlinks 27
Images 28
Lists 30
Formatting Lists 32
Tables 33
Table Borders 33
Table Alignment 34
Making Pages Publicly Viewable 36
Looking Ahead... 37
Chapter Summary 38
Supplemental Material and Exercises 39

3 The Internet and the Web 43
History of the Internet 44
ARPANet 44
Growth and Privatization 45
How the Internet Works 48
Distributed Network 48
Packet Switching 49
Internet Protocols: TCP/IP 50
Domain Names 50
History of the Web 52
Hypertext and the Web 52
Mainstream Adoption of the Web 53
Web Growth 54
How the Web Works 55
HTML 55
Web Protocol: HTTP 55
Caching 56
Looking Ahead... 56
Chapter Summary 57
Review Questions 58
Endnotes 59
References 59

4 JavaScript and Dynamic Web Pages 61
Dynamic Web Pages 62
HTML Event Handlers 62
The onclickEvent Handler 65
Interaction via Buttons 66
Input Buttons 66
Dynamic Text within a Page 69
Alert Windows 69
The innerHTMLAttribute 70
Example: Quotations Page 73
Looking Ahead... 75
Chapter Summary 75
Supplemental Material and Exercises 76

5 JavaScript and User Interaction 79
User Input via Text Boxes 79
The Text Box Element 80
Example: Form Letter Page 82
JavaScript Variables 83
Variables for Reusing Values 84
Example: Fill-in-the-Blank Story 85
Variables for Temporary Values 86
Web Pages That Compute 88
JavaScript Numbers and Expressions 88
Number Representation 90
Text Boxes and parseFloat91
Example: Grade Calculation 94
Programming Errors and Debugging 94
Looking Ahead... 95
Chapter Summary 95
Supplemental Material and Exercises 96

6 The History of Computers 100
Generation 0: Mechanical Computers (1642—1945) 101
Programmable Devices 102
Electromagnetic Relays 104
Generation 1: Vacuum Tubes (1945—1954) 105
Computing and World War II 106
The von Neumann Architecture 108
Generation 2: Transistors (1954—1963) 109
High-Level Programming Languages 110
Generation 3: Integrated Circuits (1963—1973) 110
Large Scale Integration 111
Computing for Businesses 111
Generation 4: VLSI (1973—1985) 112
The Personal Computer Revolution 112
Object-Oriented Programming 114
Generation 5: Parallel Processing & Networking (1985—????) 114
Looking Ahead... 115
Chapter Summary 115
Review Questions 116
Endnotes 118
References 118

7 Functions and Randomness 119
Predefined JavaScript Functions 119
Math Functions 120
Raising Numbers to a Power 123
Generating Random Numbers 123
Simple User-Defined Functions 125
Functions That Simplify 128
Randomness in a Page 129
Example: Simulated Dice 129
Example: Random Slide Show 130
Example: Random Banner Ads 131
Looking Ahead ... 133
Chapter Summary 133
Supplemental Material and Exercises 134

8 Algorithms and Programming Languages 136
Algorithms 137
Algorithms in the Real World 137
Designing and Analyzing Algorithms 138
An Alternative Algorithm 140
Algorithm Analysis 141
Big-Oh Notation 142
Algorithm Example: Searching a List 142
Sequential Search 142
Binary Search 143
Algorithm Analysis 144
Algorithm Example: Approximating a Square Root 144
Algorithm Analysis 146
Algorithms and Programming 146
Machine Languages 146
High-Level Languages 147
Program Translation 148
Interpreters and Compilers 150
Looking Ahead... 151
Chapter Summary 151
Review Questions 152
References 153

9 Abstraction and Libraries 155
The Structure of Functions 156
Local Variables 157
Functions with Inputs 159
Multiple Inputs 161
Functions That Return Values 162
Function Libraries 163
The random.jsLibrary 165
Looking Ahead ... 168
Chapter Summary 168
Supplemental Material and Exercises 169

10 Computer Science as a Discipline 174
Computer “Science” 175
Artificial Science 176
Computer Science Themes 176
Hardware 177
Software 177
Theory 178
Subfields of Computer Science 179
Algorithms and Data Structures 179
Architecture 182
Operating Systems and Networks 183
Software Engineering 185
Artificial Intelligence and Robotics 187
Bioinformatics 188
The Ethics of Computing 189
Looking Ahead... 190
Chapter Summary 191
Review Questions 192
Endnotes 193
References 194

11 Conditional Execution 195
If Statements 195
Boolean Tests 196
Nested If Statements 199
Cascading If-Else Statements 200
Example: Dice Simulations 201
Counters 201
Boolean Expressions 204
Example: Slot Machine 206
Looking Ahead... 209
Chapter Summary 209
Supplemental Material and Exercises 210

12 Data Representation 216
Analog vs. Digital 216
Binary Numbers 218
Representing Integers 219
Representing Real Numbers 220
Representing Characters and Strings 222
Representing Other Types of Data 223
Sounds 223
Images 225
Movies 227
How Computers Distinguish among Data Types 228
Looking Ahead... 229
Chapter Summary 230
Review Questions 230
References 232

13 Conditional Repetition 233
While Loops 234
Avoiding Redundancy 236
Example: Lottery Combinations 238
Counter-Driven Loops 240
Variables and Repetition 243
Example: Generating Hailstone Sequences 246
Looking Ahead... 247
Chapter Summary 248
Supplemental Material and Exercises 248

14 Inside the Computer–The von Neumann Architecture 253
CPU Subunits and Datapath 253
CPU Subunits 254
CPU Datapath Cycles 255
Datapath Simulator 255
CPU and Main Memory 257
Transferring Data to and from Main Memory 257
Datapath with Memory Simulator 258
Stored-Program Computer 260
Machine Languages 260
Control Unit 262
Stored-Program Computer Simulator 263
The Role of Input/Output Devices 267
Machine vs. Assembly Languages 268
Looking Ahead... 269
Chapter Summary 270
Review Questions 271
References 272

15 JavaScript Strings 273
Strings as Objects 273
Properties and Methods 274
Common String-Manipulation Methods 276
String Concatenation 277
Searching Strings 278
General Searches 279
String Manipulations and Repetition 280
Example: Recognizing Palindromes 282
Example: Substitution Ciphers 282
Encoding Messages 283
Decoding Messages 286
Looking Ahead... 287
Chapter Summary 288
Supplemental Material and Exercises 288

16 Inside the Computer–Transistors and Integrated Circuits 293
Electricity and Switches 294
Electricity Basics 294
Switches 294
Transistors 295
Transistors as Switches 296
From Transistors to Gates 297
Gates and Binary Logic 298
From Gates to Complex Circuits 300
Example: Designing Memory Circuitry 302
From Circuits to Microchips 303
The Integrated Circuit 303
Manufacturing Integrated Circuits 304
Packaging Microchips 305
Looking Ahead... 307
Chapter Summary 307
Review Questions 308
References 310

17 JavaScript Arrays 311
Arrays as Objects 312
Accessing Items in an Array 312
Assigning Items in an Array 313
From Strings to Arrays 315
The splitMethod for Strings 315
Example: Generating Acronyms 316
Arrays of Numbers 318
Example: Maintaining Dice Statistics (Approach 1) 321
Example: Maintaining Dice Statistics (Approach 2) 323
Example: ASCII Animations 324
Looking Ahead... 325
Chapter Summary 327
Supplemental Material and Exercises 328

18 Computers and Society 335
Positive Impact of Technology 335
Computers and Programs for Everyday Tasks 336
The Internet and Web as Information Sources 338
The Internet and Web as Communications Media 341
The Internet and Web for Commerce 342
Potential Dangers of Technology 344
Reliance on Complex Systems 344
Information Overload 345
Privacy and Security 346
The Digital Divide 347
Looking Beyond... 348
Chapter Summary 349
Review Questions 349
Endnotes 350
References 351

Appendix A: Browser Basics 352
Appendix B: Common Text Editors 358
Appendix C: HTML Reference 363
Appendix D: JavaScript Reference 366
Appendix E: random.jsLibrary 373
Appendix F: time.jsLibrary 374
Appendix G: arrays.jsLibrary 376
Index
Trademark Information
Photo Credits

Recenzii

“The textbook [Reed] explains a concept, shows the code, then give a pictorial example to reinforce that point. An excellent example is in chapter four when talking about ONMOUSEOVER and ONMOUSEOUT.” — Dr. Jenna Miley, Bainbridge College

“The thing that struck me [about Reed] was how the examples are presented followed by adding functionality, basically anticipating questions that a reader would have after doing the examples.” — Lionel Craddock, Bluefield State College

“The examples are illuminating and effective.” — Lionel Craddock, Bluefield State College

“This text [Reed] offers very clear explanations of difficult topics.” — Ralph Hooper, University of Alabama

“Reed’s examples are relevant and fun; his language is clear and concise, and his use of the language is accessible to non-majors.” — Arnold D. Miles, Georgetown University

“The programming is presented in a well-organized manner; it builds smoothly.” — Arnold D. Miles, Georgetown University

Notă biografică

David Reed is an Associate Professor and Chair of the Department of Computer Science at Creighton University in Omaha, Nebraska. He received his M.S. and Ph.D. in computer science from Duke University in 1992, and subsequently taught and conducted research at Duke University and Dickinson College before joining the Creighton faculty in 2000. His primary interests are in artificial intelligence, programming languages, and computer science education, where he has published extensively on topics such as apprentice-based learning, Web-based programming, and innovative instructional methods in introductory computer science. He is a member of the Liberal Arts Computer Science Consortium and the Chief Reader for the Advanced Placement® Computer Science Exam since 2004.

Caracteristici

 
Illustrations and Web-based tools illuminate key points and support active learning.
 
Review questions end each of the computer science breadth chapters.
 
Incremental exercises build upon one another; eventually new programs for solving interesting and engaging problems are created.
 
“Common errors to avoid...” identify and discuss common errors and points of confusion.
 
• “Designer secrets...” provide problem-solving and program design advice in special sections.
 
• Nine laboratory assignments supplement the text, corresponding to each programming depth chapter.
 
Supplements Include:
  • Power Point Lecture Slides
  • Figures
  • Labs
  • Solutions
 
Author Website: www.dave-reed.com/book
 
 

Caracteristici noi

  • HTML and JavaScript code throughout the book has been revised to match the latest HTML5 draft standard.
  • The programming depth chapters have been reorganized to take advantage of changes to HTML5. In particular, Chapters 4 and 5 introduce event-driven pages earlier, using buttons, text boxes, and page divisions for controlling images and text within a page. Chapter 7 focuses on functions and abstraction, using randomness as a common thread through numerous examples.
  • In addition to incremental exercises, each programming depth chapter has at least one larger, motivational application that demonstrates programming concepts in a setting familiar to students. These include interacting help buttons (Chapter 4), online form letters (Chapter 5), rotating banner ads (Chapter 7), embedded countdown clocks (Chapter 9), a slot machine simulation (Chapter 11), dice simulations (Chapter 13), text encryption (Chapter 15), and ASCII animations (Chapter 17).
  • New material has been added throughout the book on recent developments and important technologies, such as multi-core processors and operating systems (Chapter 1), cascading style sheets (Chapter 2), HTML5 standards (Chapter 3), wireless networking (Chapter 6), parallel processing (Chapter 10), digital media (Chapter 12), and social networking (Chapter 18).
  • Statistics on the Internet/Web and computer specifications have been updated to match the current state of technology.