Theory and Practice for Science, Mathematics, and Engineering
Roman E. Maeder
Extended Table of Contents
- Preface
- About this Book
-
Overview of Contents - Comments on Exercises - Electronic Resources - Notation and Terminology - Colophon
- 1 From Problems to Programs
-
From Problems to Programs - Computers - Programming Languages - Computer Science
- 2 Mathematica's Programming Language
-
Arithmetic and Logic - Definitions -Simple Program Structures - Structure of Expressions - Help with Problems - Exercises
- 3 Iteration and Recursion
-
The Greatest Common Divisor - The 3x+1 Problem - Advanced Topic: Loop Invariants - Application: Differential Equations - Exercises
- 4 Structure of Programs
-
Complex Parametric Lines -
The First Package -
Optional Arguments -
A Template Package -
Exercises
- 5 Abstract Data Types
-
Definition of Abstract Data Types -
Example: Modular Numbers -
Design of Abstract Data Types -
Exercises
- 6 Algorithms for Searching and Sorting
-
Searching Ordered Data -
Sorting Data -
Binary Trees -
Exercises
- 7 Complexity of Algorithms
-
Complexity of Computations -
Example: Computing the n-th Fibonacci Number -
Special Topic: Dynamic Programming -
Long-Integer Arithmetic and Fast Multiplication -
Exercises
- 8 Operations on Vectors and Matrices
-
Vectors and Matrices -
Inner and Outer Products -
Linear Algebra -
Programs with Arrays -
Application: Aggregation -
Exercises
- 9 List Processing and Recursion
-
Symbolic Expressions and Lists -
List Processing -
Exercises
- 10 Rule-Based Programming
-
Pattern Matching -
Rules and Term Rewriting -
Simplification Rules and Normal Forms -
Application: Trigonometric Simplifications -
Exercises
- 11 Functions
-
A Notation for Functions (lambda Calculus) -
Functions as Values -
Example: Simulation of Shift Registers -
Exercises
- 12 Theory of Computation
-
Computable Functions -
Models of Computation -
Turing Machines -
Recursive Functions Are Turing Computable -
Exercises
- 13 Databases
-
Database Design -
Relational Databases -
Data Entry and Queries -
Commercial Databases -
Exercises
- 14 Object-Oriented Programming
-
Introduction -
Example: Bank Accounts -
Principles of Object-Oriented Programming -
Application: Collections -
Exercises
- Appendix A Further Reading
- A Guide to the Literature - References
- Appendix B More Information About Mathematica
-
Computations You Can Do with Mathematica -
The Code for the Illustrations in this Book -
Mathematica's Evaluation Method -
Syntax of Operators
- Index
Rev. 1.0, REM, © 2000 Roman E. Maeder