Recent Changes - Search:

PmWiki

edit SideBar

HomePage

CSCS 530: Agent-Based Modeling of Complex (Adaptive) Systems
(Winter 2013)

Wed,Fri 1.00 - 2.30 pm
Rick Riolo (http://cscs.umich.edu/~rlr)
rlriolo at umich

Note location:
First class and Lab sessions will be in the CSCS computer lab, 120 W. Hall.
Some classes will meet in the CSCS commons, 317a West Hall.

Important note regarding registration:
The course is currently listed with a cap of 12 students. The final size will be in the 18-20 range. If you are interested in registering, please just get on the waitlist. We will be give priority in this order:

  • CSCS/IGERT students
  • CSCS undergraduate minors,
  • other graduate students
  • undergraduates (within undergrads, some priority to seniors)

with first-come-first serve within each category. In past years, everyone who has wanted to stay in the course has been able to, even when the waiting list starts out fairly large, as people sign up early but drop before the term starts, or drop after they find out how hard the course is going to be (! ;-)). So if you are interested, I recommend you get on the waitlist, come to the first class or two, and then we can see what shakes out. If you have questions, feel free to contact me.

Goals of CSCS 530

The purpose of this course is to introduce students to the basic concepts, tools and issues which arise when using computers to model complex (adaptive) systems (CAS). The emphasis will be on agent-based, bottom-up computer models. (We will only briefly look at other approaches.) The bulk of the course will involve "learning by example", i.e., students will:

  • read, discuss, evaluate a number of models from a variety of disciplines.
  • Modify and run experiments with existing models.
  • Design, implement, run, write-up results from their own models.

The course will cover all aspects of the modeling process itself, from model design through implementation to analyzing, documenting and communicating results. NOT focus on the approach/topics covered in typical IOE/OR courses, using DES, etc, to model queues, etc, and it will NOT cover "systems dynamics" approaches, which use equation-based approaches to model "stocks and flows".

The emphasis in CSCS 530 is on "Exploratory Models" of more generic complex (adaptive) systems and/or phenomena (vs. "predictive" models for specific situations), but we will cover issues relevant to both types of models, in particular, model verification and validation.

The course assumes no background in Complex Systems Studies (e.g., CSCS 501 is 'not a pre-requisite), but of course I do assume everyone taking CSCS530 is interested (no, fascinated) by complex (adaptive) systems of many (or all) kinds. A beginning knowledge of programming is assumed. The course will begin with a quick introduction to three approaches to writing ABMs: (1) Netlogo, a package with its own language (tho it is written in and users can extend it in java, (2) Mason, a moderately complicated system which uses java, and (3) writing an ABM in Python--"rolling your own" so to speak. The course will start with a very brief/rapid introduction to programming in those three languages, so students who know some other programming language and can learn them quickly will be able to pick up what they need.

If you need an introduction to programming in general, to working in the linux/unix environment, to programming in the Java/Repast, please consider this short (1 credit) course: CSCS 531 - Short Workshop Series: Basic Computing Skills for Programming Agent Based Models, offered in fall terms. You also can brush up on Java by going through the programs and assignments listed off the CSCS 531 web pages.

Classwork and Grades for CSCS 530:

0. CLass discussion                      25%     
   (An incentive to read and discuss!)
1. Short Project #1                      10%
1. Short Project #2                      15%
3. Short paper/Project Proposal          15%
2. Short Project #2                      15%  (Milestone toward term project completion)
4. Term project                          40%

Yes, it has not escaped my notice that it adds to more than 100%!

Project Due Dates -- all projects

NOTE -- the Syllabus and other pages are underconstruction for 2013
The course will be similar, but some things will change, depending on student backgrounds and interests.


something important to remember;

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it."

Brian Kernighan

Important links

]


Edit - History - Print - Recent Changes - Search
Page last modified on January 08, 2013, at 05:08 PM