Computational Modeling
Fall 2008

Syllabus

  • Professor: Allen Downey, allen.downey@olin.edu, Olin Center 359, x2558.

  • Class time: Tuesday and Friday, 10:00 to 11:50 am.

  • Textbook, Computational Modeling and Complexity Science, by Allen Downey. I will be handing out this book a chapter at a time, so you might want to get a three-ring binder.

  • Web page: The class web page is at http://whiteboard.olin.edu/cm. On campus, it can be abbreviated wb/cm.

  • Class mailing list: http://lists.olin.edu/mailman/listinfo/compmod

Description

The availability of cheap computation has created a new way of understanding the world. Along with experiment and theory, computational modeling provides new tools for analysis, explanation and prediction. This class looks at the history of this revolution and the technology that underlies it.

We will survey a range of literature, from the skeptical to the exuberant, and make a critical evaluation of this putative paradigm shift. We will read some works of popular non-fiction, like Wolfram's `A New Kind of Science' and Strogatz's `Sync,' and use them as a starting place to delve deeper.

Topics may include random graphs, analysis of algorithms, small world graphs, scale-free networks, cellular automata, Turing machines, self-organized criticality, long-tailed distributions, pink noise, fast Fourier transforms, agent-based models, emergence, stochastic modeling, probability, Monte Carlo simulation, Bayesian inference, and philosophy of science.

Students will learn the skills of computational modeling, with an emphasis on discrete and stochastic models, and apply them to problems in a range of fields including engineering and the natural and social sciences. We will try to answer the question, "If this is a new kind of science, where is the new kind of engineering?"

Computational Modeling is an intermediate-level class; basic programming ability, in any language, is a prerequisite.

Coursework

There will be a variety of coursework in this class, but the primary projects will be:

The wiki:
During the first few weeks of the semester, you will read chapters from a number of books, read and edit summaries written by other students, and write summaries and commentaries of your own.

Your book:
Over the course of the semester, you will work on a series of exercises and keep a record of your activities in the form of a book. At the end of the semester, I will send all of your books to a short-run printer and give you a printed and bound copy to keep.

There may be additional evaluative exercises, but we'll see how it goes.

Your work will be evaluated by me, and also by the other students in the class. That implies that part of the work for this class will be reading other students' work and providing constructive criticism as well as evaluation.

The total course load is intended to be 12 hours per week (including class time); the load should be spread evenly across the semester.

Communication

The easiest way to reach me is by email; I read my mail fairly often, even in the evening and on weekends. You are also welcome to call me at x2558 any time, or at home during normal waking hours.

If I am in my office and my door is open, you are welcome to come in and talk to me. If I can't meet with you, I will let you know, and schedule a meeting for later. When I know my schedule for the semester, I will make it available.

You are encouraged to communicate with the other members of the class using whatever means you choose, including the class mailing list. You can join the mailing list (and change your membership configuration) at http://lists.olin.edu/mailman/listinfo/compmod. It is appropriate to use this mailing list to discuss anything pertaining to the class, or to the topic of the class, broadly defined. For example, I will probably post messages about news items that pertain to computer science or technology and society.

Collaboration

As always, your actions in this class are bound by the Honor Code; in particular, the principle of integrity states, `Each member of the college community will accept responsibility for and represent accurately and completely oneself, one's work, and ones actions.'' When you submit course work for evaluation, you are representing that the work is entirely yours, unless you state otherwise. Representing someone else's work as your own is a serious violation of the Honor Code.

For most of the work in this course, I think it will be clear which kinds of collaboration are acceptable, but one of our tasks will be the collaborative development of the wiki. You will be asked to contribute material to the wiki, and also to evaluate and edit the contributions of other students. We will have a discussion about how to manage this kind of work in accordance with the Honor Code.

Topics

For a list of topics, see the table of contents of the book.