This book is about data structures and algorithms, intermediate programming in Python, complexity science and the philosophy of science:
Data structures and algorithms:
A data structure is a collection that contains data elements organized in a way that supports particular operations. For example, a dictionary organizes key-value pairs in a way that provides fast mapping from keys to values, but mapping from values to keys is generally slower.
An algorithm is an mechanical process for performing a computation. Designing efficient programs often involves the co-evolution of data structures and the algorithms that use them. For example, the first few chapters are about graphs, a data structure (nested dictionaries) that is a good implementation of a graph, and several graph algorithms that use this data structure.
Python programming:
This book picks up where Think Python leaves off. I assume that you have read that book or have equivalent knowledge of Python. As always, I will try to emphasize fundmental ideas that apply to programming in many languages, but along the way you will learn some useful features that are specific to Python.
Computational modeling:
A model is a simplified description of a system that is useful for simulation or analysis. Computational models are designed to take advantage of cheap, fast computation.
Philosophy of science:
The models and results I will present raise a number of questions relevant to the philosophy of science, including the nature of scientific laws, theory choice, realism and instrumentalism, holism and reductionism, and Bayesian epistemology.
There are two kinds of computational models:
Continuous:
Many computational models compute discrete approximations of equations that are continuous in space and time. For example, to compute the trajectory of a planet, you could describe planetary motion using differential equations and then compute a numerical approximation of the position of the planet at discrete points in time.
The fields of numerical methods and scientific computing tend to focus on these kinds of models.
Discrete:
Discrete models include graphs, cellular automata, and agent-based models. They are often characterized by structure, rules and transitions rather than by equations. They tend to be more abstract than continuous models; in some cases there is no direct correspondence between the model and a physical system.
Complexity science is an interdisciplinary field—at the intersection of mathematics, computer science and physics—that focuses on these kinds of models.
And that’s what this book is about.
Author : Allen B. Downey
Publication Date : July 2008
View/Download Computational Modeling and Complexity Science
Blog Archive
-
▼
2010
(59)
-
▼
August
(39)
- Adaptive Object-Oriented Software: The Demeter Met...
- Building Skills in Object-Oriented Design - Step-b...
- Introduction to Object-Oriented Programming Using C++
- Java Au Naturel - Guide to Object Oriented Design,...
- Java: An Object First Approach
- Object-Oriented Programming And The Objective-C La...
- Object Oriented Analysis and Design - Course Notes
- Learning Object Oriented Programming with Delphi
- Seamless Object-Oriented Software Architecture - A...
- Objective-C 2.0 Essentials
- Object-Oriented System Development
- Object-Oriented Software Composition
- A Practical Introduction to Data Structures and Al...
- Algorithmic Problem Solving
- Computational Modeling and Complexity Science
- Algorithms
- Algorithms for Programmers
- Average Case Analysis of Algorithms on Sequences
- Art Gallery Theorems and Algorithms
- Art of Programming Contest
- Algorithms in the Real World: Lecture Notes
- Data Structures and Algorithms with Object-Oriente...
- Data Structures and Algorithms with Object-Oriente...
- Data Structures and Algorithms With Object-Oriente...
- Design and Analysis of Algorithms: Course Notes
- Design and Analysis of Computer Algorithms
- Efficient Algorithms for Sorting and Synchronization
- Foundations of Computer Science
- GNU libavl Online Book
- Practical Optimization: A Gentle Introduction
- Optimization Algorithms on Matrix Manifolds
- Object-oriented Programming with Ansi-C
- Notes for the Course of Data Structures
- Notes for the Course of Algorithms
- Notes for the Course of Advanced Algorithms
- Jeff Erickson's Algorithms Course Materials
- Introduction to Algorithms
- Problems on Algorithms, Second Edition
- Sorting and Searching Algorithms: A Cookbook
-
▼
August
(39)
Sunday, August 1, 2010
Computational Modeling and Complexity Science


Posted under :
Algorithms and Data Structures,
Computer Science
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment