Description |
1 online resource (xv, 379 pages) : illustrations |
Series |
Chapman & Hall/CRC textbooks in computing |
|
Chapman & Hall/CRC textbooks in computing.
|
Bibliography |
Includes bibliographical references. |
Summary |
Annotation The authors begin by asking the question, 'What is it that we do and know as computer scientists that is most valuable to the non-computer scientist?' Consistent with the spirit of Jeanette Wing's seminal CACM article that introduced the concept of computational thinking, this class-tested textbook presents concepts and techniques from computer science to a broader audience. It demonstrates the ways that computer science concepts are applicable in other fields through material that is both accessible and relevant to non-computer science majors. |
Contents |
Machine generated contents note: 1.1.Computers, Computers Everywhere -- 1.2.Computer, Computer Science, And Computational Thinking -- 1.3. From Abacus To Machine -- 1.4. The First Software -- 1.5. What Makes It A Modern Computer? -- 1.6. The First Modern Computer -- 1.7. Moore's Law -- 1.8. Summary -- 1.9. When Will You Ever Use This Stuff? -- References -- Terminology -- Exercises -- 2.1. Information And Data -- 2.2. Converting Information Into Data -- 2.3. Data Capacity -- 2.4. Data Types And Data Encoding -- 2.4.1. Numbers -- 2.4.1.1. Numeral Systems -- 2.4.1.2. Positional Numeral System -- 2.4.1.3. Integers As Binary Bit Strings -- 2.4.1.4. Real Numbers As Binary Bit Strings -- 2.4.1.5. Precision As A Source Of Error -- 2.4.1.6. Underflow And Overflow As Sources Of Error -- 2.4.2. Text -- 2.4.3. Colors -- 2.4.4. Pictures -- 2.4.5. Sound -- 2.5. Data Compression -- 2.5.1. Run-Length Encoding -- 2.6. Summary -- Reference -- Terminology -- Exercises -- 3.1. What Is Logic? -- 3.2. Boolean Logic. |
|
Note continued: 3.2.1. Writing Well-Formed Propositions -- 3.2.2. Evaluating Propositions -- 3.2.2.1. Conjunction (And) -- 3.2.2.2. Disjunction (Or) -- 3.2.2.3. Implication (Implies) -- 3.2.2.4. Equivalence (E) -- 3.2.2.5. Logical Negation (Not) -- 3.2.2.6.Compound Propositions -- 3.2.2.7. Logical Equivalence -- 3.2.2.8. Tautologies And Contradictions -- 3.3. Applications Of Propositional Logic -- 3.3.1. Search Queries -- 3.3.1.1. Conjunction In Search Queries -- 3.3.1.2. Disjunction In Search Queries -- 3.3.1.3. Negation In Search Queries -- 3.3.2. Digital Logic -- 3.3.3. Image Compositing -- 3.3.4. Database Queries -- 3.3.5. Software Requirements -- Terminology -- Exercises -- 4.1. Problem Definition -- 4.2. Logical Reasoning -- 4.3. Decomposition: Software Design -- 4.4. Decomposition: Other Uses -- 4.5. Abstraction: Class Diagrams -- 4.6. Abstraction: Use Case Diagrams -- 4.7. Summary -- 4.8. When Will You Ever Use This Stuff? -- References -- Terminology -- Exercises -- 5.1. Algorithms. |
|
Note continued: 5.2. Software And Programming Languages -- 5.3. Actions -- 5.3.1. Name Binding -- 5.3.1.1. Proper Naming -- 5.3.1.2. State -- 5.3.2. Selection -- 5.3.2.1. One-Way Selection -- 5.3.2.2. Two-Way Selection -- 5.3.2.3. Multiway Selection -- 5.3.3. Repetition -- 5.3.3.1. Infinite Loops -- 5.3.4. Modularization -- 5.3.4.1. Module Flexibility -- Terminology -- Exercises -- 6.1. Activity Diagrams -- 6.2. Selection In Activity Diagrams -- 6.3. Repetition In Activity Diagrams -- 6.4. Control Abstraction In Activity Diagrams -- 6.5. States And State Diagrams -- 6.6. Including Behavior In State Diagrams -- 6.7. Providing More Detail In State Diagrams -- 6.8. Summary -- 6.9. When Will I Ever Use This Stuff? -- Terminology -- Exercises -- 7.1. Names -- 7.2. Lists -- 7.2.1. Arrays -- 7.2.1.1. Storage -- 7.2.1.2. Accessing Array Elements -- 7.2.1.3. Deleting Array Elements -- 7.2.1.4. Inserting Array Elements -- 7.2.1.5. Array Summary -- 7.2.2. Linking -- 7.2.2.1. Storage. |
|
Note continued: 7.2.2.2. Accessing Linked List Elements -- 7.2.2.3. Deleting Linked List Elements -- 7.2.2.4. Inserting Linked List Elements -- 7.2.2.5. Linked List Summary -- 7.3. Graphs -- 7.3.1. Terminology And Properties -- 7.3.2. Storage -- 7.4. Hierarchies -- 7.4.1.Organizational Chart -- 7.4.2. Family Tree -- 7.4.3. Biology -- 7.4.4. Linguistics -- 7.4.5. Trees -- References -- Terminology -- Exercises -- 8.1. Von Neumann Architecture -- 8.2. Spreadsheets -- 8.2.1. Spreadsheet Structure -- 8.2.2. Formulas/expressions -- 8.2.2.1. Numbers -- 8.2.2.2. Operators -- 8.2.2.3. Cell References -- 8.2.2.4. Functions -- 8.3. Text Processing -- 8.3.1. String Basics -- 8.3.2. String Operations -- 8.3.2.1. Indexing -- 8.3.2.2. Length -- 8.3.2.3. Concatenation -- 8.3.2.4. Naming -- 8.3.2.5. Substring -- 8.3.2.6. Searching -- 8.3.2.7. Case Study: Processing E-Mail Addresses -- 8.3.2.8. Case Study: Processing Dates -- 8.4. Patterns -- 8.4.1. How To Write A Pattern. |
|
Note continued: 8.4.1.1. Case Study: Hugs And Kisses Pattern -- 8.4.1.2. Case Study: MPAA Rating Pattern -- 8.4.1.3. Case Study: Social Security Numbers -- 8.4.2. Repetition Rules -- 8.4.3. Character Class Rules -- 8.4.4. Case Study: DNA Sequencing -- 8.4.5. Case Study: Web Searches And Enron Legal Documents -- Reference -- Terminology -- Exercises -- 9.1."Computer Errors" Usually Aren't -- 9.2. Software Correctness -- 9.3. Verification -- 9.4. Software Testing -- 9.5. White Box Testing -- 9.6. Black Box Testing With Equivalence Partitioning -- 9.7. Boundary Value Analysis -- 9.8. When Will You Ever Use This Stuff? -- Reference -- Terminology -- Exercises -- 10.1. How Is Capacity Measured In Computers? -- 10.2. An Estimate Of The Physical Limitations -- 10.3. Benchmarks -- 10.4. Counting The Performance -- 10.5. Impractical Algorithms -- 10.6. Impossible Algorithms -- 10.7. Metaphysical Limitations -- 10.8. When Will You Ever Use This Stuff? -- References -- Terminology -- Exercises. |
|
Note continued: 11.1. Parallelism Or Concurrency? -- 11.2. Scheduling -- 11.3. Sorting Networks -- 11.4. Measuring Concurrency's Effect -- 11.5. Challenges Of Concurrency -- 11.6. When Will You Ever Use This Stuff? -- References -- Terminology -- Exercises -- 12.1. What Is Security? -- 12.2. Foundations -- 12.3.Common Forms Of Cybercrime -- 12.4. How To Secure? Step 1: Authenticate -- 12.5. How To Secure? Step 2: Authorization -- 12.6. All A Matter Of Risk -- 12.7.A Few Good Ideas -- 12.7.1. Encryption -- 12.7.2. Firewalls (Including Spam Filters) -- 12.7.3. Antivirus Software -- 12.7.4. Software Update -- 12.7.5. Backups -- 12.7.6. Log Files -- 12.8. Good Strategies -- 12.8.1. Secure The Weakest Link -- 12.8.2. Reduce The Attack Surface -- 12.8.3. Defend Deeply -- 12.8.4.Compartmentalize -- 12.8.5. Trust Reluctantly -- 12.8.6. Use Open Software -- 12.9. When Will You Ever Use This Stuff? -- Reference -- Terminology -- Exercises. |
Subject |
Computational intelligence.
|
|
Logic, Symbolic and mathematical.
|
|
Rhetoric -- Mathematics.
|
|
Intelligence informatique. |
|
Logique symbolique et mathématique. |
|
Rhétorique -- Mathématiques. |
|
Computational intelligence |
|
Logic, Symbolic and mathematical |
Added Author |
Hunt, Kenny A.
|
Other Form: |
Print version: Riley, David D., 1951- Computational thinking for the modern problem solver. Boca Raton, FL : CRC Press, ©2014 (DLC) 2014453810 |
ISBN |
1466587792 (electronic bk.) |
|
9781466587793 (electronic bk.) |
|