Library Hours
Monday to Friday: 9 a.m. to 9 p.m.
Saturday: 9 a.m. to 5 p.m.
Sunday: 1 p.m. to 9 p.m.
Naper Blvd. 1 p.m. to 5 p.m.
     
Limit search to available items
Results Page:  Previous Next
Author Riley, David D., 1951-

Title Computational thinking for the modern problem solver / David D. Riley and Kenny A. Hunt. [O'Reilly electronic resource]

Imprint Boca Raton, FL : CRC Press, ©2014.
QR Code
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.)
Patron reviews: add a review
Click for more information
EBOOK
No one has rated this material

You can...
Also...
- Find similar reads
- Add a review
- Sign-up for Newsletter
- Suggest a purchase
- Can't find what you want?
More Information