CSC 107 - Explorations in Agent-Based Modeling

Centenary College of Louisiana
Wright 110
MWF 10-11 - Spring 2012

Instructor: Dr. Mark Goadrich

Contact Info
104 Wright Building
(318) 869-5194

Overview | Syllabus | Labs | Projects | Exams | Grading

Course Details


The Perfect Swarm
by Len Fisher, 2009
Complexity: A Guided Tour
by Melanie Mitchell, 2009
Networks, Crowds and Markets
by David Easley, Jon Kleinberg, 2010
Turtles, Termites, and Traffic Jams
by Mitchel Resnick, 1997


Northwestern University
StarLogo TNG


Ever wonder how birds can fly in formation without a leader? How traffic jams occur even without an accident? How neighborhoods can become segregated even with tolerant people? How ants coordinate and communicate optimal foraging? CSC 107 explores how computers and mathematics can be used to model these complex phenomena in the world through the simple behavior of agents and their interactions over time. We will examine the mathematical properties that emerge from these agent interactions and discover some underlying mechanisms common across many fields.


Centenary assures students with disabilities equal opportunity to reach the same level of achievement as other students. Strict confidentiality will be maintained on students with disabilities. Services for students with disabilities are available through the Counseling Center, located on the ground floor of Rotary Residence Hall, phone (318) 869-5424.

Honor Code

All students are bound by the Honor System. The Honor System is applicable to all academic work. See the Centenary College Handbook for the complete Honor Code. All code you write and turn in for a grade is understood to be pledged. You may discuss topics with other students and tutors, but all code you write must be your own, and you must be able to explain to me how it works. In this course, it is a violation of the honor code to look at code from previous semesters or in other students' directories.


Extensions and rescheduling for labs, projects, exams and quizzes are only given when circumstances beyond your control (e.g. being sick, choir or sports travel) prevent you from completing a project on time. You must notify me either by email or phone of your circumstances well in advance of the due date. No extensions are given for requests made within three days of the due date.

Quizzes and Participation

You are encouraged to attend class and participate in discussions every day. Sporadically throughout the semester, there will be short quizzes covering material from the previous class. These quizzes will serve as records of your attendance, and in total they will comprise 5% of your final grade. Active participation in class discussions will comprise another 5% of your final grade. This will be awarded for answering questions, asking questions, presenting material, etc.

You will be expected to sign up for a Twitter account and use it regularly to post status updates about the class and your progress in labs and projects with the #csc107 hashtag.


This is a tentative list of topics and readings, subject to change. I will fill in the dates as we move through the topics.
  1. Overview (Mitchell 1, Fischer 1, Resnick 1, Kleinberg 1) - Jan 9-11
  2. Wisdom of crowds (Fisher 5) - Jan 13-20 (notes)
  3. Voting behavior (Fisher 6, Kleinberg 23) - Jan 23-27
  4. Cellular Automata - Game of Life (Mitchell 10) - Jan 30 - Feb 3
  5. Forest Fires (Resnick p103) - Feb 6-8 (code)
  6. Termites (Resnick p75)
  7. Segregation (Resnick p81, Kleinberg 4) (code, Final code)
  8. Population, Fibonacci (Mitchell 2) Logistic Model and Timeseries Applet (code)
  9. Predator-Prey (Mitchell 2) (code)
  10. Game theory, IPD (Mitchell 14, Kleinberg 6) Repeated Strategy Website, Triangle Plots
  11. Auctions (Kleinberg 9)
  12. Networks and Power Laws (Fischer 7, Mitchell 15,17, Kleinberg)


Much of your experience with programming in this course will be through weekly labs and homeworks, which will comprise 35% of your final grade.

You may discuss concepts and ideas with your classmates, but the code you turn in must be your own. You will be graded not only on correctness, but also technique, documentation and evaluation of your solution. Further details on the grading standards and handin instructions for each lab and homework will be given when they are assigned.


You will have one final project in this course for a total of 20% of your final grade. More details concerning the project can be found on the Project.

This project will be due and presented during the final exam period for this class.

You may work with a partner on this project.


There will be three in-class exams, each worth 12% of your final grade.


Your final grade for this course will be based on the Labs, Projects, Quizzes, Exams and Participation described above.
Grading Scale
Exam 112%
Exam 212%
Exam 312%

© Mark Goadrich, Centenary College of Louisiana