Recently, computer simulations have become an important tool in philosophy of science, epistemology, and value theory. In particular, simulations have been used to address two central philosophical topics: (1) the optimal "social structure(s)" of scientific communities, (2) the emergence of signaling, social norms, and morality. The course is divided into two halves, which are respectively dedicated to those two topics.
The course is "practice-based" in the following sense. In addition to discussing contemporary philosophical papers, students will learn how to construct and analyze the types of models that are employed regularly in philosophical debates. To this end, students will learn how to program in NetLogo, a programming language designed for the construction of agent-based models. No previous programming experience is required.
The course has three central goals. First, in the beginning of the semester, students will learn the types of questions that ABMs are used to address, how ABMs differ from models in classical economics and mathematical biology, and the difficulties in interpreting and validating ABMs. Second, by the end of the semester, students should be able to explain the central philosophical questions that are being addressed with ABMs and to identify new questions that have not yet been asked. Finally, students will learn to implement an ABM in NetLogo that addresses one such new question.
The central requirement is to design and implement an ABM with the purpose of answering some question about either the social structure of scientific communities or the evolution of norms or morality. Students will write a final paper that (i) describes the question that model is intended to answer and (ii) the results they obtained from computer simulations of said model. Each student must submit a detailed proposal (about three pages) of his or her final project after two months. Further details about the final project can be found here.
There will also be programming assignments due every week for the first six weeks of the course. One cannot learn to program without practicing regularly. The weekly assignments are designed to help you practice the skills and employ the concepts taught in class.
Below is a table indicating readings and assignments that are due each class. If you are a registered student in the class, then you can download the readings from the link in the "Course Files" section above. The following abbreviation is employed throughout the course schedule:
Date | Topic | Readings | Programming Concepts | Assignment |
---|---|---|---|---|
16/4 |
Intro to ABMs
Lecture 1 Slides |
Railsback and Grimm. Chapter 1 | NetLogo Interface | NetLogo Tutorial 1 (In-Class) |
23/4 | ABMs vs. Population Models
Lecture 2 Slides |
Morality. Chapters 1 & 2.
Reading Questions 1 |
Data Types | NetLogo Tutorial 1 & 3 |
30/4 | Evolution of Cooperation: Repeated Prisoners and Dilemmas Network Models
Lecture 3 Slides |
Morality. Chapter 3. Pages 53-83. | If-then Statements and Loops | Problem Set 1 |
7/5 | Cooperation: Replicator Dynamics and More Network Models
Lecture 4 Slides |
Morality. Chapter 3. Pages 83-101. | Procedures and Reporters, Writing Pseudo-code | Problem Set 2 |
14/5 |
Evolution of Trust
Lecture 5 Slides |
Morality. Chapter 4. Pages 101-131. | World Commands, Patches, Agents, Links, and Agentsets | Problem Set 3 |
21/5 | No Class: Holiday | None | None | None |
28/5 |
Multi-player Games
Lecture 6 Slides |
Morality. Pages 238-250. | World Commands, Patches, Agents, Links, and Agentsets |
Problem Set 4
Additional Code: Stag Hunt Code |
4/6 |
Aims and Limits of ABMs
Discussion Questions |
Morality. Chapter 8.
Epstein, "Why Model?" |
Recursion and NetLogo Extensions |
Problem Set 5
Additional Code: Network Formation 1 Network Formation 2 |
11/6 |
The "Social Structure" of Science
Multi-player Games
Lecture 8 Slides |
Kitcher. "The Division of Cognitive Labor" | Running Simulations: Plotting and Behaviorspace |
Problem Set 6
Additional Code: Generate Subsets Turtles of Hanoi |
18/6 |
Priority Rule
Discussion Questions |
Strevens. "The Role of the Priority Rule in Science" | Randomization and Debugging | Work on Final Project Proposal |
25/6 | Methodological Diversity I
Lecture 10 Slides |
Weisberg and Muldoon. "Epistemic Landscapes and the Division of Cognitive Labor" | None | Work on Final Project Proposal |
2/7 | Methodological Diversity II
Lecture 11 Slides |
Zollman. "The Epistemic Benefits of Transient Diversity" | None | Final Project Proposal |
9/7 | Communication
Lecture 12 Slides |
Mayo-Wilson. "The Reliability of Testimonial Norms in Scientific Communities" | None | Work on Final Project |
27/9 | Final Project Due |