I am making available via the link below a package containing an implementation of the classic Sugarscape model as described in Growing Artificial Societies (Epstein and Axtell, 1996). The package contains extensive documentation, including a significant README, commented source code, the original thesis, and a concise conference paper. A majority of the rules described in GAS are implemented. The package may be useful for teaching, class projects and possibly research projects via various extensions or improvements suggested in the Sugarscape README. The current package contains all MASON 12 classes and required .jar libraries. The README_SUGARSCAPE.txt file has a section with bunch of concrete suggestions regarding projects along with time estimates -- I've pasted that section below. One major and one minor one might be the right level for a year's effort and I would take the upper time bound as a starting point for them. Growing Artificial Societies is probably the best single source as far as I'm concerned for this area. If you think it would be helpful, I could make a presentation at some point to your students regarding my implementation and computational social science things in general. I made it to state and international science fairs as a high school student so I have some idea of advanced high school student mindsets. For what it's worth, I also work for MITRE and we're always on the look out for high school and college interns. ---------------------------------------------------------------------- [8] FUTURE RESEARCH,STUDENT PROJECTS Here are some things that could and should be done to improve or explore this implementation or advance research in general. I estimate time required based on a Bachelor's degree, general Java competence, and focused effort (i.e. several hours a day). 0. Refactor Sugarscape.java. It is unnecessarily large. Maybe Agent.java as well. [1-2 weeks] 1. Implement Chapter 5, Disease Processes. [1-3 weeks] 2. Implement Social Network statistics and visualization. MASON has an adjunct module that would probably be good place to use. [2-4 weeks] 3. Implement Foresight, Credit (GAS, p. 129-135). [2-4 weeks] 4. Implement Ringworld (GAS, p. 170-176). [1-3 weeks] 5. Explore in much greater depth differences between the original Sugarscape source code, ASCAPE, and MASON Sugarscape. Account for all simulation outcome differences between the original Sugarscape and MASON Sugarscape. [1-3 months] 6. Generalize the use of JFreeChart to any state value or combination of values. [1-3 months] 7. Generalize the number of resources and welfare estimate to N. [1-2 months] 8. Implement the Combat rule (GAS, p. 82-92). [2-4 weeks] 9. Explore the differences in simulation outcomes between different scheduling metaphors. [1-3 months] o see a draft of the latest MASON Sugarscape paper for a description of these 10. Implement fractal dimension measurement support to try to detect differences in state variable changes when source code or parameters are changed. This should help understand how emergent features are linked to source code and parameters in a novel and perhaps very useful way. See: http://citeseer.ist.psu.edu/jr00fast.html [2-4 weeks]