CSCS 530: Computer Modeling of Complex Systems -- Winter 2008
Wed,Fri 1.00 - 2.30 pm
Rick Riolo (http://cscs.umich.edu/~rlr)
rlriolo at umich edu
Note location:
The first class will meet in the CSCS commons, 317a West Hall.
Lab sessions will be in the CSCS computer lab, 321 W. Hall.
Important note regarding registration:
The course is currently listed with a cap of 12 students. The final course size will be in the 15-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
- 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 exisiting 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).
A beginning knowledge of programming is assumed. The course will be taught using Repast and the Java
programming language. The course will start with a brief/rapid introduction to programming in Java,
so students who know some other programming language and can learn Java 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 enviroment, 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 that course's web pages.
Classwork and Grades for CSCS 530:
0. CLass discussion 20%
(An incentive to read and discuss!)
1. Short Project #1 15%
2. Short Project #2 15%
3. Short paper. 15% (related to term project)
4. Term project 35%
Project Due Dates -- all projects
Important links
"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