Chapter 0 Preface0.1 Why I wrote this bookThis book is inspired by boredom and fascination: boredom with the usual presentation of data structures and algorithms, and fascination with complex systems. The problem with data structures is that they are often taught without a motivating context; the problem with complexity science is that it is usually not taught at all. In 2005 I developed a new class at Olin College where students read about topics in complexity, implement experiments in Python, and learn about algorithms and data structures. I wrote the first draft of this book when I taught the class again in 2008. For the third offering, in 2011, I prepared the book for publication and invited the students to submit their work, in the form of case studies, for inclusion in the book. I recruited 9 professors at Olin to serve as a program committee and choose the reports that were ready for publication. The case studies that met the standard are included in this book. For the next edition, we invite additional submissions from readers (see Appendix A). 0.2 Suggestions for teachersThis book is intended as a scaffold for an intermediate-level college class in Python programming and algorithms. My class uses the following structure:
An outline of the course and my notes are available at https://sites.google.com/site/compmodolin. 0.3 Suggestions for autodidactsIn 2009-10 I was a Visiting Scientist at Google, working in their Cambridge office. One of the things that impressed me about the software engineers I worked with was their broad intellectual curiosity and drive to expand their knowledge and skills. I hope this book helps people like them explore a set of topics and ideas they might not encounter otherwise, practice programming skills in Python, and learn more about data structures and algorithms (or review material that might have been less engaging the first time around). Some features of this book intended for autodidacts are:
This book will continue to be a work in progress. You can read about ongoing developments at http://www.facebook.com/thinkcomplexity.
Allen B. Downey Professor of Computer Science Olin College of Engineering Needham, MA Contributor ListIf you have a suggestion or correction, please send email to downey@allendowney.com. If I make a change based on your feedback, I will add you to the contributor list (unless you ask to be omitted). If you include at least part of the sentence the error appears in, that makes it easy for me to search. Page and section numbers are fine, too, but not quite as easy to work with. Thanks!
|
Like this book?
Are you using one of our books in a class?We'd like to know about it. Please consider filling out this short survey.
|