DESCRIPTION: This course will be a hands on class in the design, development, testing and validation of computer based simulations of complex socio-technical systems and programming parallel algorithms. It will introduce several styles of simulation including agent based and system dynamics. Examples of applications of these tools to various problems such as epidemiology, organizational adaptation, information diffusion, impact of new technology on groups, and so on, will be discussed. The course should be appropriate for graduate students in all areas.
PREREQUISITES: The prerequisite will be basic understanding of statistics - undergraduate level.
TEXT: Readings will be drawn from several texts and papers. Students can do programming in any language or using any of the platforms; however, existing tools are in C and C++.
METHOD OF EVALUATION: Grading will be based on a set of programming assignments, validation assignments, and a major project.
TOPICS TO BE COVERED: * common computational approaches such as multi-agent systems, general simulation and system dynamics * heuristic based optimization procedures including simulated annealing and genetic algorithms * representation schemes for complex systems (particularly, groups, organizations, tasks, networks and technology) * analysis techniques such as virtual experiments and response surface mapping, docking (model-to-model analysis) * validation and verification, and social Turing tests. * illustrative models will be drawn from recent publications in a wide variety of areas including distributed artificial intelligence, knowledge management, dynamic network analysis, computational organization theory, computational sociology, computational epidemiology, and computational economics.