syllabus -- css 605 -- fall 2010

7
Computational Social Science 605 (3:3:0) Fall 2010 Semester Handout #1 - SYLLABUS George Mason University Innovation Hall, Room 320 Thursdays, 4:30-7:10pm Object-Oriented Modeling in Social Science Maksim Tsvetovat, Ph.D. Asst. Professor of Computational Social Science [email protected] Tel. (703) 993–1405 Welcome to CSS 605! This is a course about discovery and invention in the social sciences, so be prepared to learn in a way that may be unlike any previous social science course you may have taken. We hope you will learn from this course as much as we have learned in envisioning, designing, developing, and implementing it for you. This syllabus covers the main features of CSS 605—or “attributes” and “methods”, as you shall soon learn to view and understand these characteristics in the “object paradigm”—while additional information is contained in separate handouts that will be distributed as the course develops. This Syllabus is Handout #1 and covers course description, assumptions, learning objectives, grading guidelines, material to be covered, and some initial references. Welcome aboard! Description: This graduate course presents and applies concepts and principles from the object-based modeling (OOM) paradigm, specifically applied to social science domains. Emphasis is on the Unified Modeling Language (UML; see OMG 2005) as a tool for modeling the structure and operation of complex adaptive social systems and processes, and using Java as a programming language for implementing such models. Prerequisites or co-requisites: CSS 600 Introduction to Computational Social Science, or permission of instructor. This is also a core requirement for candidates in the computational social science Ph.D. program, and an elective course for the CSS Certificate. This course assumes basic foundations in computing and some programming language (e.g., BASIC, Fortran, or SAS code). Neither knowledge of object-oriented programming

Upload: maksim-tsvetovat

Post on 10-Apr-2015

326 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Syllabus -- CSS 605 -- Fall 2010

Computational Social Science 605 (3:3:0) Fall 2010 SemesterHandout #1 - SYLLABUS

George Mason University Innovation Hall, Room 320 Thursdays, 4:30-7:10pm

Object-Oriented Modeling in Social Science

Maksim Tsvetovat, Ph.D.Asst. Professor of Computational Social

[email protected]. (703) 993–1405

Welcome to CSS 605! This is a course about discovery and invention in the social sciences, so be prepared to learn in a way that may be unlike any previous social science course you may have taken. We hope you will learn from this course as much as we have learned in envisioning, designing, developing, and implementing it for you.

This syllabus covers the main features of CSS 605—or “attributes” and “methods”, as you shall soon learn to view and understand these characteristics in the “object paradigm”—while additional information is contained in separate handouts that will be distributed as the course develops. This Syllabus is Handout #1 and covers course description, assumptions, learning objectives, grading guidelines, material to be covered, and some initial references. Welcome aboard!

Description: This graduate course presents and applies concepts and principles from the object-based modeling (OOM) paradigm, specifically applied to social science domains. Emphasis is on the Unified Modeling Language (UML; see OMG 2005) as a tool for modeling the structure and operation of complex adaptive social systems and processes, and using Java as a programming language for implementing such models.

Prerequisites or co-requisites: CSS 600 Introduction to Computational Social Science, or permission of instructor. This is also a core requirement for candidates in the computational social science Ph.D. program, and an elective course for the CSS Certificate.

This course assumes basic foundations in computing and some programming language (e.g., BASIC, Fortran, or SAS code). Neither knowledge of object-oriented programming

Page 2: Syllabus -- CSS 605 -- Fall 2010

2

(OOP) or advanced mathematics are required. A sample of specific desirable programming skills is explained in Barker (2003: 4). Basic computing skills include understanding simple data types (integer, floating point, string, etc.); variables and their scope (including the notion of global data); control flow (IF-THEN-ELSE statements, FOR/DO/WHILE loops, etc.); what arrays are and how to use them; the notion of a function/subroutine/subprogram: how to pass data in and get results back out (Barker 2003: 4). These programming assumptions will be discussed the first week.

On the first day of class, you will be given a pre-test that will place your knowledge of major programming concepts. The goal is to both understand your abilities and to tailor the course to be neither “over-the-head” nor too easy for all.

Speaking of “too easy”... Don’t count on it :-)

Learning Objectives and Grading

The main learning objectives are as follows:

1. Learn to think about social dynamics primarily (fundamentally) in terms of “objects” (as opposed to variables, the traditional paradigm);

2. Learn to describe and model social objects in terms of their characteristic properties (“attributes”) and behaviors (“methods”), and to represent these using UML notation;

3. Learn Java as a formal programming language with which to simulate social phenomena; and

4. Use your skills to develop an interesting model of a simple polity and participate in a final contest

Given these objectives, a student earns an A if s/he 1’-understands and can reason in terms of the object-oriented (OO) paradigm in a social science context (e.g., anthropology, economics, political science, sociology, or other social science context or interdisciplinary area such as regional systems, human ecology, social network analysis, international relations, war and peace, social dynamics, …, space exploration and colonization);2’-can describe significant (nontrivial) social phenomena in terms of objects constituted by attributes and operations, and represent such phenomena using UML; 3’- can formalize/instantiate/implement the social phenomenon/system/process of interest in basic Java code, and

4’- can use these skills in a practical context, as demonstrated by the final project.

The final grade will be calculated on the basis of homework assignments (40%), class project (40%) and class presentations (20%). Attendance and active class participation are expected.

Page 3: Syllabus -- CSS 605 -- Fall 2010

3

You can submit assignments up to 24 hours late with no penalty, and 10% penalty for each subsequent day.

Final Project

This will be your crowning achievement and your main grade contribution, and the source of your headaches for the next 15 weeks.

We, as a collective, will undertake building an ambitious model of the world political system, one country at a time.

During the course of the semester, we will build from the ground-up a model of a simple polity (SimPol), with governance, resources, and simple manner of relating to its neighbours. As one of your assignments you will need to demonstrate that a polity you have implemented is a viable state on its own.

After the states have become viable by themselves, it will be your goal to think about and implement the foreign policy of your state, directed to neighbors near and far, including economic cooperation, simple attempts at diplomacy and wars. You can design any strategy you want - from world domination to total neutrality, from gregarious trading to isolation.

As the end of semester gets closer, we will provide a simulation framework that will integrate all of our simulated states into a single world-system. At the final presentations for the course, we will put all of our simulated states together, and watch in amazement as they battle to the death - or build a peaceful and harmonious world society.

What happens at the final battle is up to you.

You may work as individuals or in small groups (3 people max.). For groups, you will both receive the same grade. Also, feel free to share information about your strategies to the other groups (strategic lying is par for the course, naturally).

The grades will not depend on whether your agent takes over the world, but rather on the quality of implementation and your understanding of the modeling paradigms, as well as on the realism of your strategies.

Facebook

In leu of having a formal class website

Schedule of Study: Calendar, Topics, Assignments

(subject to change depending on our progress in the course)

Week 1 (Aug. 30) Introduction, modeling approaches in the social sciences: statistical, mathematical, and computational (CC). Learn the motivation for OOM in the social sciences, or what distinguishes it from other modeling approaches, and some initial achievements. Overview of the course; “walk through” the syllabus.

Page 4: Syllabus -- CSS 605 -- Fall 2010

4

Programming ability pre-test.

Read or review the following if they are unfamiliar: Axelrod (1997), Gilbert & Troitzch (1999: chs. 1–2), Simon (1965, 1996: ch. 1), Taber & Timpone (1996).

Brush up on any prior programming experience, even if not necessarily in an object-oriented language.

PART I: OBJECT CONCEPTS, UNIFIED MODELING LANGUAGE (UML), ILLUSTRATED IN JAVA

Week 2 Abstraction and modeling; Introduction to Java syntax (JB). Compare OO abstraction and modeling with comparable procedures in more traditional (variable-based) modeling (Gilbert & Troitzch 1999: 15; Taber & Timpone 1996: 14) (CC). Understand similarities and differences.

A practical session in Java - Hello World

Please bring a thumb-drive for downloading software

Reading due: Barker (2003: chapters 1 and 2).

Week 3 Objects; Classes; Attributes; Object Instantiation; Object References (JB). These are the foundations of OOM necessary for successful Java programming.

Reading due: Barker (2003: chapter 3). Study also Handout #3 (OOM of a Simple Polity), to be used as a running example of OOM in a social domain.

Week 4 Object Interactions; Method Signatures; Message Passing (JB).

Reading due: Barker (2003: chapter 4). Review Handout #3 in connection to object interactions and message passing.

Week 5 Relationships Between Objects: Associations, Links, Aggregation; Object Collaboration (JB).

Reading due: Barker (2003: chapter 5)

Week 6 Inheritance; Constructors (JB).Reading due: Handout/*.

Week 7 Collections of Objects; Polymorphism (JB).

Page 5: Syllabus -- CSS 605 -- Fall 2010

5

Reading due: Barker (2003: chapter 6). Distribute “Problem Statement To Be Rendered In UML: A Country With Provinces, A Committee, An Election, An Economic Market, …”, between now and 3/21/05, for discussion on Week 11 (4/4/05).

Week 8 Abstract Classes; Interfaces; Static Attributes/Methods; Utility Classes (JB).Reading due: Barker (2003: chapter 7).

Week 9 Miscellaneous Java topics (JB).Reading due: Barker (2003: chapters 13, 14).

PART II: OBJECT MODELING

Week 11 The Object Modeling Process; Advanced UML Considerations (JB). Group modeling exercise in class, plus homework assignment to do in groups. Problem Statement for group exercise to be distributed earlier (after Week 7).

Reading due: Barker (2003: chapter 10).

Week 12 Practical session - integrating agents into the simulation framework

Week 13 Common Social Science Design Patterns in OOM. (CC)Recommended reading: Lau (2001: chapter 2).

Week 14 Thanksgiving - NO CLASS

Week 15 Practical session - tuning the simulated world-system;

Week 16 Final Battle and presentations

Final Write-ups for class project due on ... class day during finals week ...

Required Textbooks and Readings

The following textbooks are required and available at the University Bookstore or online: Barker (2003), Lau (2001).

Additional recommended readings are listed in the References below and in handouts distributed in class. Handout #2 is a bibliography of classic and recent publications in Computational Social Science, which contains entries in OOM. The Center for Social Complexity and its affiliated faculty aim to maintain an extensive bibliographic archive of publications in OOM and agent-based social science. Reading suggestions and

Page 6: Syllabus -- CSS 605 -- Fall 2010

6

additional bibliographic information are always welcome and encouraged, including foreign publications.

Page 7: Syllabus -- CSS 605 -- Fall 2010

7

References1

Axelrod, Robert. 2003. Advancing the Art of Simulation in the Social Sciences. Japanese Journal for Management Information Systems 12 (3). An earlier version of this paper also appeared in Complexity 3(2) 1997: 193–199.

Cioffi-Revilla, Claudio, Sean Paus, Sean Luke, James L. Olds, and Jason Thomas. 2004. Mnemonic Structure and Sociality: A Computational Agent-Based Simulation Model. Proceedings of the Agent 2004 Conference on Social Dynamics: Interaction, Reflexivity and Emergence, David Sallach and Charles Macal, eds., Argonne National Lab and University of Chicago, 7–9 October 2004.

Barker, Jacquie. 2003. Beginning Java Objects: From Concepts to Code. APress.Gilbert, Nigel, and Klaus Troitzsch, eds. 1999. Simulation for the Social Scientist.

Buckingham and Philadelphia: Open University Press.Gulyás, László. 2002. On the transition to agent-based modeling: Implementation

strategies from variables to agents. Social Science Computer Review 20 (4):389-399.

Lau, Yun-Tung. 2001. The Art of Objects: Object-Oriented Design and Architecture. Boston: Addison-Wesley.

Luke, Sean, Claudio Cioffi-Revilla, Liviu Panait, and Keith Sullivan. 2005. MASON: A Java Multi-Agent Simulation Environment. Simulation: Transactions of the Society for Modeling and Simulation International 81: in press.

Macy, Michael W., and Robert Willer. 2002. From factors to actors: Computational sociology and agent-based modeling. Annual Review of Sociology 28:143-66.

OMG Object Modeling Group. 2005. www.omg.com Scott, Kendall. 2004. Fast Track UML 2.0. New York: Apress Springer-Verlag.Simon, Herbert A. 1965. The architecture of complexity. General Systems 10:63-64.Simon, Herbert A. 1996. The Sciences of the Artificial. 3rd ed. Cambridge, MA: MIT

Press.Taber, Charles S., and Richard J. Timpone. 1996. Computational Modeling. Edited by M.

S. Lewis-Beck. Vol. 07-113, Sage University Papers, Quantitative Applications in the Social Sciences. Thousand Oaks, London and New Dehli: Sage Publications.

Weisfeld, Matt. 2004. The Object-Oriented Thought Process. Second ed. Indianapolis, IN: Developer's Library.

1 A more extensive list of references is contained in Handout #2 – An Annotated Bibliography of CSS.