search for books and compare prices
Tables of Contents for An Introduction to Scientific Computation and Programming
Chapter/Section Title
Page #
Page Count
1 What Is a Computation?
1
14
1.1 Computation as Transformation
1
3
1.2 Computation as Reaction to Events
4
2
1.3 Algorithms
6
6
1.4 From Algorithms to Software
12
1
1.5 Exercises
13
2
2 Invoking a Computation
15
20
2.1 Expressions and Commands
16
3
2.2 Changing State: Assignment
19
7
2.3 A Variety of Notations
26
1
2.4 Parsing
27
3
2.5 Exercises
30
5
3 Simple Types: Numbers, Text, Booleans
35
30
3.1 The Organization of Computer Memory
36
3
3.2 Text
39
7
3.3 Collections of Numbers and Plotting
46
7
3.4 Booleans: True or False
53
4
3.5 Logical Operators
57
2
3.6 Exercises
59
6
4 Collections and Indexing
65
22
4.1 Indexing
65
9
4.2 Matrices
74
5
4.3 Mixed Data Types
79
5
4.4 Exercises
84
3
5 Files and Scripts
87
26
5.1 Filenames
88
6
5.2 File Operators
94
2
5.3 Importing and Exporting Data
96
6
5.4 Scripts
102
4
5.5 Scripts as Computations
106
2
5.6 Exercises
108
2
5.7 Project: Time for a Cool Cup of Coffee
110
3
6 Functions
113
20
6.1 Computations without Effects
113
3
6.2 Creating Functions
116
6
6.3 Functions as Arguments
122
2
6.4 Wrapper Functions
124
2
6.5 Returning Functions as Values
126
1
6.6 Exercises
127
6
7 Conditionals
133
16
7.1 The if Statement
134
2
7.2 More Than Two Cases
136
1
7.3 Completeness and Exclusivity
137
4
7.4 Switch/Case
141
3
7.5 Exercises
144
2
7.6 Project: The Morse Code
146
3
8 Loops
149
46
8.1 For Loops
151
2
8.2 Accumulators
153
1
8.3 Nested Loops
154
2
8.4 Example: Optimal Matching with Nested Loops
156
3
8.5 Element-by-Element Operators
159
3
8.6 Outputs of Unknown Size
162
1
8.7 Loop Termination
163
1
8.8 Conditional Looping
164
2
8.9 Example: Measuring Information
166
6
8.10 Dimensions and Arrays
172
4
8.11 Exercises
176
8
8.12 Project: Cellular Automata
184
4
8.13 Project: The Mandelbrot Set
188
7
9 Scope
195
36
9.1 Environments and Scope
196
1
9.2 The Debugger
197
6
9.3 Shared Environments
203
3
9.4 Scoping of Functions
206
4
9.5 Pass by Reference
210
1
9.6 Warnings and Errors
211
5
9.7 Testing Functions
216
3
9.8 Optional and Default Arguments
219
3
9.9 Exercises
222
3
9.10 Project: Precision Graphics and the Electrocardiogram
225
6
10 Events
231
20
10.1 Activating Input Devices
232
6
10.2 Example: Recording the Times of Events
238
3
10.3 Example: Exploring the Mandelbrot Set
241
2
10.4 Inputs without Waiting
243
4
10.5 Exercises
247
4
11 Arranging Data: Searching and Databases
251
44
11.1 Datasets
253
2
11.2 Selecting Subsets from Tables
255
2
11.3 Combining Tables: Union and Intersection
257
1
11.4 Databases
258
11
11.5 Efficient Searching for Matches
269
8
11.6 Simultaneous Collection and Access of Data
277
4
11.7 Exercises
281
3
11.8 Project: A Bridge Database
284
7
11.9 Project: Random Generation of Text
291
4
12 Trees and Recursion
295
30
12.1 Simple Recursion
296
5
12.2 Multiway Recursion
301
2
12.3 Accumulators
303
2
12.4 Example: Optimal Matching (Recursive)
305
4
12.5 Trees as Data Structures
309
3
12.6 Processing Trees
312
1
12.7 Example: Huffman Encoding of Information
313
4
12.8 Exercises
317
3
12.9 Project: Clustering of Data
320
5
13 Sounds and Signals
325
30
13.1 Basics of Computer Sound
326
2
13.2 Perception and Generation of Sound
328
3
13.3 Synthesizing Complex Sounds
331
2
13.4 Transducing and Recording Sound
333
6
13.5 Aliasing and the Sampling Frequency
339
8
13.6 Exercises
347
3
13.7 Project: The Perception of Beats
350
2
13.8 Project: Changing the Speed of Sound
352
3
14 Images
355
22
14.1 Black-and-White Images
355
3
14.2 Color
358
2
14.3 Digital Sampling of Images
360
2
14.4 Sampling and Storing Images in Files
362
3
14.5 Manipulating and Synthesizing Images
365
3
14.6 Example: The Mona Lisa's Missing Blue
368
3
14.7 Exercises
371
1
14.8 Project: Landsat Images and False Color
372
5
15. Numbers and Precision
377
20
15.1 Types of Numbers
378
7
15.2 The Capacity of Floating Point Numbers
385
2
15.3 Numerical Error
387
4
15.4 Example: Global Positioning
391
3
15.5 Exercises
394
3
16 Mathematical Relationships with One Unknown
397
46
16.1 Representing Mathematical Relationships
399
3
16.2 Zeroing in on Solutions
402
6
16.3 Derivatives
408
4
16.4 Going to the Extremes: Optimization
412
11
16.5 Fitting
423
5
16.6 Interpolation
428
8
16.7 Exercises
436
7
17 Mathematical Relationships with Two or More Unknowns
443
60
17.1 Visualizing Functions of Two Variables
446
7
17.2 Notation for Functions of > or equal to 2 Variables
453
2
17.3 Geometry of Functions: The Gradient
455
4
17.4 Optimization Using the Gradient
459
7
17.5 Finding Solutions
466
1
17.6 Solutions to Systems of Linear Equations
467
5
17.7 A Geometric Interpretation of A . x = b
472
3
17.8 Least Squares Solutions
475
8
17.9 Solutions to Systems of Nonlinear Equations
483
8
17.10 Exercises
491
5
17.11 Project: Alignment of Images
496
7
A ASCII Characters
503
2
B Matrix Operations
505
4
C Binary Flat Files
509
4
D Program Index
513
4
E Data Files
517
2
F Solutions to Selected Exercises
519
16
Bibliography
535
2
Index
537