Explorations in Computing: An Introduction to Computer Science / Edition 1

Explorations in Computing: An Introduction to Computer Science / Edition 1

5.0 1
by John S. Conery
     
 

Based on the author’s introductory course at the University of Oregon, Explorations in Computing: An Introduction to Computer Science focuses on the fundamental idea of computation and offers insight into how computation is used to solve a variety of interesting and important real-world problems. Taking an active learning approach, the text

See more details below

Overview

Based on the author’s introductory course at the University of Oregon, Explorations in Computing: An Introduction to Computer Science focuses on the fundamental idea of computation and offers insight into how computation is used to solve a variety of interesting and important real-world problems. Taking an active learning approach, the text encourages students to explore computing ideas by running programs and testing them on different inputs. It also features illustrations by Phil Foglio, winner of the 2009 and 2010 Hugo Award for Best Graphic Novel.

Classroom-Tested Material
The first four chapters introduce key concepts, such as algorithms and scalability, and hone practical lab skills for creating and using objects. In the remaining chapters, the author covers "divide and conquer" as a problem solving strategy, the role of data structures, issues related to encoding data, computer architecture, random numbers, challenges for natural language processing, computer simulation, and genetic algorithms. Through a series of interactive projects in each chapter, students can experiment with one or more algorithms that illustrate the main topic. Requiring no prior experience with programming, these projects show students how algorithms provide computational solutions to real-world problems.

Web Resource
The book’s website at www.cs.uoregon.edu/eic presents numerous ancillaries. The lab manual offers step-by-step instructions for installing Ruby and the RubyLabs gem with Windows XP, Mac OS X, and Linux. The manual includes tips for editing programs and running commands in a terminal emulator. The site also provides online documentation of all the modules in the RubyLabs gem. Once the gem is installed, the documentation can be read locally by a web browser.

After working through the in-depth examples in this textbook, students will gain a better overall understanding of what computer science is about and how computer scientists think about problems.

Read More

Product Details

ISBN-13:
9781439812624
Publisher:
Taylor & Francis
Publication date:
10/13/2010
Series:
Chapman & Hall/CRC Textbooks in Computing Series
Edition description:
New Edition
Pages:
390
Sales rank:
1,407,086
Product dimensions:
6.90(w) x 10.10(h) x 0.90(d)

Table of Contents

Introduction
Computation
The Limits of Computation
Algorithms
A Laboratory for Computational Experiments

The Ruby Workbench
Introducing Ruby and the RubyLabs environment for computational experiments
Interactive Ruby
Numbers
Variables
Methods
RubyLabs

The Sieve of Eratosthenes
An algorithm for finding prime numbers
The Sieve Algorithm
The mod Operator
Containers
Iterators
Boolean Values and the delete if Method
Exploring the Algorithm
The sieve Method
A Better Sieve
Experiments with the Sieve

A Journey of a Thousand Miles
Iteration as a strategy for solving computational problems
Searching and Sorting
The Linear Search Algorithm
The Insertion Sort Algorithm
Scalability
Best Case, Worst Case

Divide and Conquer
A new strategy: breaking large problems into smaller subproblems
Binary Search
Binary Search Experiments
Merge Sort
Merge Sort Experiments
Recursive Methods

When Words Collide
Organizing data for more efficient problem solving
Word Lists
Hash Tables
The mod Function Again
Collisions
Hash Table Experiments

Bit by Bit
Binary codes and algorithms for text compression and error correction
Binary Codes
Codes for Characters
Parity Bits
Huffman Trees
Huffman Codes

The War of the Words
An introduction to computer architecture and assembly language programming
Hello, MARS
The Temperature on MARS
Corewar
Self-Referential Code
Clones

Now for Something Completely Different
An algorithm for generating random numbers
Pseudorandom Numbers
Numbers on Demand
Games with Random Numbers
Random Shuffles
Tests of Randomness

Ask Dr. Ruby
A program that understands English (or does it?)
Overview of ELIZA
Sentence Patterns
Building Responses from Parts of Sentences
Substitutions
An Algorithm for Having a Conversation
Writing Scripts for ELIZA
ELIZA and the Turing Test

The Music of the Spheres
Computer simulation and the N-body problem
Running around in Circles
The Force of Gravity
Force Vectors
N-Body Simulation of the Solar System

The Traveling Salesman
A genetic algorithm for a computationally demanding problem
Maps and Tours
Exhaustive Search
Random Search
Point Mutations
The Genetic Algorithm
Crossovers

Appendix A: Answers to Selected Exercises
Appendix B: Ruby Reference

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >