CSSS 2010 Santa Fe-Student Notes

From Santa Fe Institute Events Wiki

CSSS Santa Fe 2010

(Supplementary material, suggested readings, tutorials, and papers contributed by the participants of CSSS 2010.)

staying in touch

For those linked in to LinkedIn, there seems to be a group that unites all CSSS alumni Andreas

computer programming related


  • Computational Modeling and Complexity Science - An excellent, free (though not-quite-finished) PDF guide to the concepts and programming techniques needed to develop models of complex systems, from graphs and small-world networks to cellular automata and agent-based models. Uses Python, which I'd highly recommend for beginner and experienced programmers alike: it's great to read, easy to maintain, and makes coding fun again.

Presupposes some basic working Python knowledge, which is provided by a second of the author's free ebooks, Think Python.

-- Daniel Jones

  • On that note, here's a note from my blog entry: My most recommended link for this trip - Greg Wilson's awesome Software carpentry course from UToronto ´is available freely online. As the man himself says:
Computers are as important to modern science as telescopes and test tubes. Unfortunately, most scientists are never taught how to use them effectively. After a generic first-year programming course, most scientists have to figure out for themselves how to build, validate, maintain, and share complex programs. This is about as fair as teaching someone arithmetic and then expecting them to figure out calculus on their own, and about as likely to succeed.

His course is also based around python, but aimed at general purpose scientific computing and covers a lot fo the fiddly bits that are commonly missed - not jsut numerical stability, but testing, maintaining versions, sharing your results without pain etc. -- Dan MacKinlay


  • Google's Graph framework is out and has some interesting notes about the problems of large network data:
Many practical computing problems concern large graphs. Standard examples include the Web graph and various so- cial networks. The scale of these graphs—in some cases bil- lions of vertices, trillions of edges—poses challenges to their efficient processing. In this paper we present a computa- tional model suitable for this task. Programs are expressed as a sequence of iterations, in each of which a vertex can receive messages sent in the previous iteration, send mes- sages to other vertices, and modify its own state and that of its outgoing edges or mutate graph topology. This vertex- centric approach is flexible enough to express a broad set of algorithms. The model has been designed for efficient, scal- able and fault-tolerant implementation on clusters of thousands of commodity computers, and its implied synchronicity makes reasoning about programs easier. Distribution- related details are hidden behind an abstract API. The result is a framework for processing large graphs that is expressive and easy to program


I've had some requests for R Tutorials, so here are a few things that I made for a Biostatistics class I TA'd:

-- Julie Granka