Basic Computing Skills for Programming Agent Based Models (ABMs).
This series of classes covers the basic computing skills required for implementing agent-based models (ABM) using Repast (and other similar ABM packages) in a linux/unix enviroment. The class is primarily for students who are intending to take CSCS 530, Computer Modeling of Complex Systems, in Winter 2007, but who have little or no computing programming background. The topics covered include:
-
basic linux/unix commands;
-
editing using emacs;
-
basic programming concepts and constructs, including variables, operators, flow-control, and output;
-
basic steps in the programming cycle, i.e., editing the program source file(s), compiling the programming, fixing compiler bugs, running the program, and fixing run-time bugs;
-
basic object-oriented programming concepts, including classes and inheritance, messages and methods, creating and destroying objects;
-
some basic classes of general usefulness for writing agent-based models, including Lists, Arrays, and random number generators.
The course will be taught using the Java language, and the Repast ABM library.
Grades: The point of this course is to give students a chance to get an introduction, with some help, to programming and working in the linux environment. I am assuming everyone is well-motivated to take this course, and will do the work without a need for me to use carrots and/or sticks. As a result there are two possible grades: A and C. If you come to class, make a good effort at all the homework programs, and ask questions if you are stuck, you will get an A. If you do only a little of the above, you will get a C. (In theory you could get an E, but that would mean doing none of the above...in which case we'd have to wonder why you enrolled in the course!!)
Space is limited, so please send mail to Rick Riolo (rlriolo@umich.edu if you would like to register. If the class is oversubscribed, first preference will go to students planning to enroll in CSCS 530 in Winter 2008 term.