TY - BOOK AU - Conery, John TI - Explorations in computing: an introduction to computers science SN - 9781439812624 (hb) U1 - 004 PY - 2011/// CY - Boca Raton PB - CRC Press KW - computer sciences N1 - 1 Introduction 1.1 Computation 1.2 The Limits of Computation 1.3 Algorithms 1.4 A Laboratory for Computational Experiments 2 The Ruby Workbench Introducing Ruby and the RubyLabs environment for computational experiments 2.1 Interactive Ruby 2.2 Numbers 2.3 Variables 2.4 Methods 2.5 RubyLabs 2.6 Summary 3 The Sieve of Eratosthenes An algorithm for finding prime numbers 3.1 The Sieve Algorithm 3.2 The mod Operator 3.3 Containers 3.4 Iterators . 3.5 Boolean Values and the delete-if Method 3.6 Exploring the Algorithm 3.7 The sieve Method 3.8 A Better Sieve 3.9 Experiments with the Sieve 3.10 Summary 4 A Journey of a Thousand Miies Iteration as a strategy for solving computational problem 4.1 Searching and Sorting 4.2 The Linear Search Algorithm 4.3 The Insertion Sort Algorithm 4.4 Scalability 4.5 ¨ Best Case, Worst case 4.6 Summary 5 Divide and Conquer A new strategy: breaking lar^e problems into smaller subproblems 5.1 Binary Search 5.2 Binary Search Experiments 5.3 Merge Sort 5.4 Merge Sort Experiments 5.5 ¨ Recursive Methods 5.6 Summary 6 When Words Coiiide Organizing data for more efficient problem solving 6.1 Word Lists 6.2 Hash Tables 6.3 The mod Function Again 6.4 Collisions 6.5 Hash Table Experiments 6.6 Summary 7 Bit by Bit Binary codes and algorithms for text compression and error detection 7.1 Binary Codes 7.2 Codes for Characters 7.3 Parity Bits 7.4 Huffman Trees 7.5 Huffman Codes 7.6 Summary 8 The War of the Words An introduction to computer architecture and assembly language programming 8.1 Hello, MARS 8.2 The Temperature on MARS 8.3 Corewar 8.4 Self-Referential Code 8.5 ¨ Clones 8.6 Summary 9 Now for Something Compieteiy Different An algorithm for generating random numbers 9.1 Pseudorandom Numbers 9.2 Numbers on Demand . 9.3 Games with Random Numbers 9.4 Random Shuffles 9.5 Tests of Randomness 9.6 Summary 10 Ask Dr. Ruby A program that understands English (or does it?) 10.1 Overview of ELIZA 10.2 Sentence Patterns . 10.3 Building Responses from Parts of Sentences 10.4 Substitutions 10.5 An Algorithm for Having a Conversation 10.6 ¨ Writing Scripts for ELIZA 10.7 ELIZA and the Hiring Test 10.8 Summary 11 The Music of the Spheres Computer simulation and the N-body problem 11.1 Running Around in Circles 11.2 The Force of Gravity 11.3 Force Vectors 11.4 N-Body Simulation of the Solar System 11.5 Summary 12 The Traveling Salesman A genetic algorithm for a computationally demanding problem 12.1 Maps and Tours 12.2 Exhaustive Search 12.3 Random Search 12.4 Point Mutations 12.5 The Genetic Algorithm 12.6 Crossovers 12.7 Summary ER -