# Complex Systems Summer School 2015-Tutorials

### From Santa Fe Institute Events Wiki

CSSS participants come from a wide range of disciplines. Participants are encouraged to share their knowledge by organizing their own tutorials.

You can schedule your own tutorial here, they will be held in the ESL study hall. Please do not schedule during other CSSS Lectures.

try to use this template:

## Tutorial: Skilled action, complex systems science and the Free Energy Principle

Speaker: Jelle Bruineberg
Date & Time: June 11th, 20:00
Motivation and content: Quite some people seemed to be interested in the "Variational Approaches to Mind and Life" project that we are trying to get of the ground. Apart from this, some people were curious how philosophy relates to complex systems science. I would like to present my own work on skilled action and relate it to complex systems science. After this, I will sketch how the Free Energy Principle (the principle to be studied in the Variational Approaches to Mind and Life group) relates to this work. This is the point, where, I hope, the presentation part will stop and the brainstorm/discussion session will take over.
Prerequisite: Being open to a bit of philosophy :)
Slides: will follow
Paper: [1]

## Introduction to NetLogo

Speaker: Christine Harvey (ceharvey@mitre.org)
Date & Time: June 16th 7pm in Tutorial Room
Motivation and content: Basic introduction to NetLogo for new users/programmers. Quick overview of the screens, language and possibilities. And standard documentation practices for the model. Walkthrough editing a model.
Interested people:

## Tutorial: R, EDA, a bit of geo-mapping

Speaker: Brent Schneeman
Date & Time: Tuesday June 23, 7pm (1900)
Motivation and content: The "Great Circles" t-shirt design generated some interest in how it was done. I'll walk through the code showing how R can access the Google Maps API and generate great circle arcs. Along the way, we'll look at generating simple descriptive plots of a dataset that will likely resonate with you (because you heard Shalizi talk about kernel density estimates). If we're lucky, we'll be able to translate the arcs and the world map longitudinally. A teensy bit of github will also be shown. I do not claim to be any sort of expert in anything demo'ed, but bring your questions anyway.
Prerequisite: Minimal: none, but if you want to type along, install R and RStudio (and maybe git). Maximal: you've checked out the CSSS-geo code from github, OR you've clicked the little "Download ZIP" button (lower right hand side of the CSSS-geo page) and have decompressed into a folder.
Source Code: CSSS-geo
Interested:

• Christine
• Glenn
• Chris
• Song Binyang
• Jakub
• Alejandro
• Haitao Shang
• Jarrod Scott
• Nilton Cardoso
• Matt Ingram

## Python: A Crash Course

Speaker: Richard Barnes
Date & Time: June 17 @ 7pm
Motivation and content: This tutorial assumes some familiarity with programming and covers basic interaction with Python, pros and cons of using it as a language, and a summary of some of its useful packages. If there are particular things you'd like covered, or if you'd like to co-instruct, drop me a line (rbarnes@umn.edu). A few people have expressed interest on following up on this tutorial by teaching workshops on specific packages for networking, machine learning, and scientific computation.
Prerequisite: Have Python installed on your computer (Anaconda is an easy way to get this set up). Please have a code editor installed, SublimeText is an excellent choice.
Interested people:

• Kiki(no background at all)
• Glenn Magerman (no background, only R, Stata)
• María Pereda (no background in Python, but I like programming, R, Netlogo, Matlab, C, CUDA)
• Laurence (no Python, only R, C++, ..)
• Valery (no background in Pyton, only R and Netlogo)
• Song Binyang (know a little about Python)
• Tolga Oztan (some Python, mostly R)
• Jakub (No python, so far Java, Matlab)
• Anna(no background in Python, but would love to learn)
• Sola...(no background in Python. Proficient in STATA) <Ii> Jeroen de Wilde (no background)
• Alejandro(no background in Python. C and Matlab)
• Haitao Shang (no background in Python, only know MatLab)
• Jarrod Scott(a little background in Python, a little better with R)
• Nilton Cardoso (no background in Python, only R and other stat packages)
• Urs (very little background in Python, only Matlab)
• Matt Ingram (R, Stata, some Python)
• Matt O (R, Mathematica, Matlab)
• Jun (only C)
• Brent (very very little Python. R, Java, Scala (someday....))
• Laura (very little Python mostly R)

## Git: A Crash Course

Speaker: Richard Barnes
Date & Time: Monday the 22nd
Motivation and content: This course will cover the basic concepts of Git. It will walk you through creating a repository, committing changes to your code, and collaborating with others. If there are particular things you'd like covered, or if you'd like to co-instruct, drop me a line (rbarnes@umn.edu).
Prerequisite: Install SourceTree. Have a code editor, preferably SublimeText, installed.
Interested people:

• Kiki (no background at all)
• Glenn Magerman (no background)
• Valery (no background)
• Jakub (Used it once)
• Will (used a little)
• Tolga Oztan (used it once)
• Anna (no background in this)
• Jim Caton (no background)
• Alejandro (no background)
• Haitao Shang (no background)
• Jarrod Scott (some background)
• Nilton Cardoso (no backgroung)
• Urs (no background)
• Matt Ingram (no background)
• Laurence (some background)
• Laura (no background)
• Juan (used a little)

## Cloud Computing Introduction

Speaker: Christine Harvey (ceharvey@mitre.org)
Date & Time: TBD, targeting third or fourth week
Motivation and content: This will cover an introduction to cloud computing using Amazon Web Services. This will review setting up an AWS account, launching an instance, logging on to the remote computing resource, and we can try to do a little something else as well. Open to suggestions!
Prerequisite: Amazon account and a credit card (compute time should cost < \$1)
Interested people:

• Glenn Magerman
• Chris
• Valery
• Jakub
• Anna
• Alejandro
• Haitao Shang
• Nilton Cardoso
• Jae
• Matt Ingram
• Laurence

## Reproducible Research with iPython Notebooks

Speaker: Christine Harvey (ceharvey@mitre.org)
Date & Time: TBD, targeting third or fourth week
Motivation and content: iPython notebooks are a great way to keep track of your analysis and track data manipulations. Ideal for anyone working with data sets and creating visualizations along the way. More details to follow! Example: http://ipython.org/_static/sloangrant/9_home_fperez_prof_grants_1207-sloan-ipython_proposal_fig_ipython-notebook-specgram.png
Prerequisite: Python Install with iPython Notebooks (other packages to be listed). Easiest install is the Anaconda Install (http://continuum.io/downloads)
Interested people:

• Glenn Magerman
• Valery
• Song Binyang
• Tolga Oztan
• Anna
• Nilton Cardoso
• Matt Ingram
• Brent
• Jakub
• María Pereda
• Cobain
• Laura
• Ilaria

## Topological Data Analysis - Persistent homology

Speaker: Alice Patania
Date & Time: Sunday, June 21st, 7pm
Content:The tutorial will be a short introduction to topological data analysis and its applications to complex systems. I will try to illustrate the utility of these class of methods in several real world examples, and give some computational tools to apply them.
Motivation: Topological Data Analysis is sensitive to both large and small scale patterns that often fail to be detected by other analysis methods, such as principal component analysis, (PCA), multidimensional scaling, (MDS), and cluster analysis. PCA and MDS produce unstructured scatterplots and clustering methods produce distinct, unrelated groups. These methodologies sometimes obscure geometric features that topological methods can capture.
Prerequisite:
References:
Interested people:
1. Nilton
2. Jean-Gab
3. Jakub
4. Richard
5. María Pereda
6. Laura
7. Matt Ingram
8. Glenn Magerman
9. Ilaria
10. Andy
11. Chris
12. Andre

## NetworkX: Exploring Python's network library and what you can do with it

Speaker: Carolina Mattsson and possibly others (carromattsson@gmail.com)
Date & Time: Tuesday June 23 - 7:00pm
Motivation and content: We'll be having four (!) lectures on networks. Thankfully some of those giants on whose shoulders we stand have built excellent libraries in python, R, and C that make playing around with networks a whole lot easier. In this tutorial we'll be digging into python's network library - NetworkX - and some things it can be used for. Network libraries in other languages have similar functionality, so don't let the python scare you. Having this after the network lectures means we can directly incorporate things that Newman talks about. I'll most likely use iPython notebook as a teaching tool, but if you don't want to install we can work around. There are people other than me who also know NetworkX quite well, if that's you and you want to help, just let me know!
Prerequisites: Some Python knowledge - Richard's tutorial would be enough!
Interested co-instructors:
1. Carolina
2.
Interested people:
1. Jakub
2. Laura
3. Matt Ingram
4. Chris
5. Glenn

## Basic examples of dummy variable use in econometrics applied to some Prof. Wooldridge datasets

Speaker: Nilton Cardoso
Date & Time: Thu, Jun 25, 7:00 PM
Contents: Let´s go over some basic examples using Wooldridge´s datasets to illustrate the use of dummy varibales in econometrics.
Motivation: Dummy variables in econometric models can capture group/ categories effects and are very useful in estimating different patterns within the sample.
Prerequisite: Install R Studio (http://www.rstudio.com/products/rstudio/download/); selected csv data from Wooldridge data sets (http://www.cengage.com/aise/economics/wooldridge_3e_datasets/)
References: http://www.amazon.com/Jeffrey-M.-Wooldridge/e/B001IGLWNY
Interested people:
1. Alice
2. Sola

## Modeling With NetLogo

Speaker: Christine Harvey (ceharvey@mitre.org) and Keith Burghardt (keith@umd.edu)
Date & Time: 7:00PM, June 16
Motivation: NetLogo is a powerful tool for Agent-Based Models (ABM) due to its ease to code, simple-to-create visualization tools, and relatively fast computation capabilities. NetLogo is written in Java, which gives this modeling environment great portability at the expense of speed compared to C or Fortran.
Content: In this talk, I will be reviewing NetLogo for students with mild backgrounds in coding by describing the basic program environment, GUI interface, and ways to reduce performance issues through massive parallelization, and avoiding read/write race conditions that can crop up.