A semester with CSS

This last semester I gave both a graduate and undergraduate course in Computational Social Science (CSS). Both courses survey computational approaches such as system dynamics, social network analysis, machine learning, cellular automata, discrete event simulation, agent-based modeling, and microsimulation to study social phenomena with emphasis on complexity theory.

For the undergraduate class, we met twice a week. In the first class of each week I would outline the topic,  discuss a specific modeling approach and give a range of sample applications. While the second class of the week was devoted to hands on model development (I chose to use NetLogo for this), in order to cement what was discussed in the first class (a learning by doing if you like.). For example, one week we discussed cellular automata (CA) modeling, where in the first class, I outlined its evolution, its basic proprieties and applications (e.g. from simple voting models to that of urban growth). In the second class, the students then built a CA model from scratch.  For the graduate class, more emphasis was placed on theory, critiques of modeling and discussion of key texts.

In both classes, all the students needed to carry out a project where they develop a computational model that investigates a social science research question. This exercise is often their first model (especially for the undergraduates) that many students ever create. Below you can see some of this years models.