Cover image for An introduction to scientific computation and programming
Title:
An introduction to scientific computation and programming
Personal Author:
Publication Information:
Belmont, Calif. : Thomson-Brooks/Cole, 2004
ISBN:
9780534389130

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010049474 Q183.9 K36 2004 Open Access Book Book
Searching...
Searching...
30000010050759 Q183.9 K36 2004 Open Access Book Book
Searching...

On Order

Summary

Summary

This book provides students with the modern skills and concepts needed to be able to use the computer expressively in scientific work. The author takes an integrated approach by covering programming, important methods and techniques of scientific computation (graphics, the organization of data, data acquisition, numerical methods, etc.) and the organization of software. Balancing the best of the teach-a-package and teach-a-language approaches, the book teaches general-purpose language skills and concepts, and also takes advantage of existing package-like software so that realistic computations can be performed.


Table of Contents

1 What Is Computation?
Computation as Transformation
Computation as Reaction to Events
Algorithms
From Algorithms to Software
Exercises
2 Invoking A Computation
Expressions and Commands
Changing State: Assignment
A Variety of Notations
Parsing
Exercises
3 Simple Types: Numbers, Text, Booleans
The Organization of Computer Memory
Text
Collections of Numbers and Plotting
Booleans: True or False
Logical Operators: Boolean Operators with Boolean Inputs
Example: Measuring Information in Bits
Exercises
4 Numbers And Precision
The Precision of Computer Arithmetic
Example: Global Positioning
Exercises
5 Collections And Indexing
Indexing
Matrices
Mixed Data Types
Exercises
6 Files And Scripts
Filenames
File Operators
Importing and Exporting Data
Scripts
Scripts as Computations
Exercises
Project: Time for a Cool Cup of Coffee
7 Functions
Computations without Effects
Creating Functions
Functions as Arguments and Values
Exercises
8 Conditionals
The if Statement
More Than Two Cases
Completeness and Exclusivity
Switch/Case
Advanced: Parallelization of Conditional Operators
Exercises
Project: The Morse Code
9 LOOPS
For Loops
Accumulators
Nested Loops
Example: Optimal Matching with Nested Loops
Element-by-Element Operators
Outputs of Unknown Size
Loop Termination
Conditional Looping
Example: Measuring Information II
Dimensions and Arrays
Exercises
Project: Cellular Automata
Project: The Mandelbrot Set
10 Scope
Environments and Scope
The Debugger
Shared Environments
Scoping of Functions
Pass by Reference
Exercises
11 Events
Activating Input Devices
Example: Recording the Times of Events
Example: Exploring the Mandelbrot Set
Inputs without Waiting
Warnings and Errors
Testing Functions
Optional and Default Arguments
Exercises
12 Arranging Data: Searching And Databases
Datasets
Selecting Subsets from Lists
Efficient Searching for Matches
Combining Lists: Union and Intersection
Tables
Simultaneous Collection and Access of Data
Databases
Exercises
Project: A Bridge Database
13 Trees And Recursion
Simple Recursion
Multiway Recursion
Accumulators
Example: Optimal Matching (Recursive)
Trees as Data Structures
Processing Trees
Example: Huffman Encoding of Information
Exercises
Project: Clustering of Data
14 Sounds And Signals
Basics of Computer Sound
Perception and Generation of Sound
Synthesizing Complex Sounds
Transduction and Recording Sound
Aliasing and the Sampling Frequency
Exercises
Project: The Perception of Beats
Project: Speeding Up Sound
15 Images
Black-and-White Images
Color
Digital Sampling of Images
Sampling and Storing Images in Files
Manipulating and Synthesizing Images
Example: Mona Lisa's Missing Blue
Exercises
Project: Landsat Images and False-Color
16 Mathematical Relationships With One Unknown
Representing Mathematical Relationships
Zeroing in on Solutions
Derivatives
Going to the Extreme: Optimization
Fitting
Interpolation
Exercises
17 Mathematical Relationships With Two Or More Unknowns
Visualizing Functions of Two Variables
Geometry of Functions: The Gradient
Optimization Using the Gradient
Finding Solutions
Solutions to Systems of Linear Equations
Best Solutions to Linear Systems
Solutions to Systems of Nonlinear Equations
Exercises
18 From Equality To Similarity: Randomness And Variation
A Classification Problem
Describing Distributions
Processes and Distributions
Why the Gaussian is Important
Multiple Variables
Example: Handwritten Digit Recognition
Exercises
Project: Sums of Gaussians and Segmentation of Images
Appendices
Color Plates
ASCII Characters
Computations on Vectors and Matrices