Homepage for Econ 308
Agent-Based Computational Economics (ACE):
Growing Economies from the Bottom Up
- Last Updated: 16 October 2020
- Last Course Offering: Spring 2009
- Research Professor & Professor Emerita of Economics
- Courtesy Research Professor of Electrical & Computer Engineering
- Department of Economics
- Iowa State University
- Ames, Iowa 50011-1070
tesfatsi AT iastate.edu
Modern economies are complex open-ended dynamic systems that can sometimes go awry. How to get a handle on this complexity?
One approach is to model an economy computationally as a
"virtual world" populated by interacting "agents." These
agents can include people, social groupings, institutions,
and/or biological and physical entities.
The developer of the virtual world specifies the initial
states of the agents comprising the economy. One objective
might be to study current empirical conditions. Another objective
might be to study hypothetical conditions of interest in order
to see what happens. Once the initial agent states are set, the virtual world
runs forward in time driven by agent interactions, much like
a bacteria culture grows in a laboratory petri dish.
Econ 308 introduces students to this exciting new virtual-world
methodology for the study of economic systems. Tentatively
scheduled course topics include:
- decentralized market economies as
complex adaptive systems;
- development and use of computational
- learning and the embodied mind;
- evolution of norms;
- formation of economic trade networks;
- exploration of specific types of market processes (e.g. financial
markets, agricultural markets, energy markets, labor markets, and
automated Internet auctions);
- empirical validation issues.
- As indicated at the following site, agent-based modeling is now supporting scientific research
and technology for a wide variety of commercial applications:
50 Facts About Agent-Based Modeling
- Three credits. Graduate students can enroll in Econ 308 for non-major credit. Econ 308 is cross-listed
as an HCI (Human-Computer Interaction) course.
- Principles-level microeconomics (or instructor permission),
and a willingness to learn and apply simple programming tools. Previous
study of programming is desirable but not required. For
more info, see the
Econ 308 course syllabus
- Student grades will be based on:
- an in-class written midterm exam scheduled for Thursday March 12 (30 percent);
- assigned take-home and/or in-class exercises related to required readings (30 percent);
- general attendance and participation in class discussion(15 percent);
- a written course project report on some student-selected topic related to ACE,
due on the last day of class (25 percent).
- Please visit the
Midterm Exam Information Site
for more information about the midterm exam.
- Regarding take-home exercises, for some of these exercises students will be assigned to small exercise
teams. An attempt will be made to ensure that each team includes students
with background training in both economics and computer programming. These
exercise teams will be asked to work together on assigned exercises. For more
detailed information about course policy regarding exercise assignments, please
Exercise Policy Information Site.
- Students will also be encouraged (but not required) to work in self-selected teams
for their course projects. Project topic areas and scope can be
tailored to student backgrounds and interests as long as the relationship of
the project to Econ 308 course materials is clearly demonstrated.
For more detailed information about course projects, including suggested
project topics, please visit the
Course Project Information Site.
- David Batten, Discovering Artificial Economics: How Agents Learn and Economies
Evolve, Perseus Books, Westview Press, 2000, ISBN: 0-8133-9770-7.
- Note: Unfortunately this book is now out of print. Individual chapters
(text only, without figures) are linked at the Econ 308 syllabus. However, if you
are willing and able to handle a rather large download, the entire Batten book (figures included) in
pdf can be accessed at
Andy Clark, Being There: Putting Brain, Body, and World Back Together
Again, MIT Press, Paperback Edition, 1998, ISBN: 0-262-53156-9.
- Note: Andy Clark's entire book is a
delightful treat, covering controversial "embodied mind" issues with verve and offbeat
(but cogent) examples from everyday life.
- Matt Weisfeld, The Object-Oriented Thought Process, SAMS
Publishing (Division of Macmillan), Indianapolis, Indiana, Second Edition, 2003 (paperback).
- Note: This book is designed to help newcomers to object-oriented
programming (OOP) to learn guidelines for solid class design, to master the
major concepts of inheritance, composition, interfaces, and abstract classes,
and to create components to use in building more sophisticated systems. The
author motivates and illustrates his points by taking readers step by step
through concrete examples. Simple Java code segments are used to demonstrate
concept implementations, but prior study of Java is neither assumed nor
RepastJ: A Software Toolkit for Agent-Based Social Science Modeling
- Repast is a freely available agent-based toolkit that supports model development in a number
of different languages (Java, C++, C#, and Visual Basic). This site is a self-study guide for
Java-based Repast (RepastJ) for newcomers to agent-based modeling (ABM) in the social sciences who want to do original
ABM programming. The site includes pointers to RepastJ tutorials, demonstration software,
and various other forms of instructional materials to help get you started doing ABM with RepastJ.
Netlogo: An Agent-Based Toolkit
- Netlogo is a cross-platform multi-agent programmable modeling environment. In its original
form (Starlogo), Netlogo was specifically designed for K-12 students, and it has retained its emphasis
on ease of use at the cost of some modeling flexibility. Resources
available at this site include Netlogo tutorials, demonstration software, and
various other forms of instructional materials to help get you started doing ABM with Netlogo.
ACE/CAS Computational Laboratories and Demonstration Software
- The computational laboratories (CLs) accessible at this site include
both ACE CLs and general complex adaptive systems (CAS) CLs. The purpose
of this site is to facilitate the understanding of the ACE/CAS methodology by
permitting students to obtain hands-on experience running simple ACE/CAS
experiments under different parameter settings with no original programming
required and with rapid visual feedback of findings.
ACE/CAS General Software and Toolkits
- This site includes a wide variety of links to software, programming
languages, and programming toolkits currently in use for agent-based
If you have a disability and require accommodations, please contact the
instructor early in the semester so that your learning needs may be
appropriately met. You will need to provide documentation of your disability
to the Disability Resources (DR) office, located on the main floor of the
Student Services Building, Room 1076, 515-294-7220.