The University of Western Ontario
London, Canada
Department of
Computer Science
CS 2080 -- Computational Tools for Modelling Social Phenomena
Course Outline -- Winter 2011
(Semester Beginning January 2011)
Course Description
Agent-based modelling is a computational (rather than mathematical) way
of exploring the consequences of a formal model.
The intent of this course is to explore how agent-based
modelling tools are used to model social phenomena both through reading the
literature on the subject and through actually using these tools to
develop and experiment with models ourselves. Example behaviors that have
been modelled
this way include competition for resources, traffic jams, social
attraction, social group formation, market behaviors, rumor spreading,
and the spread of criminal behavior.
Prerequisites, Anti-requisites (if
any)
Course Work --- According to the Academic Calendar:
- registration in a Social Science module
Special Alternative Prerequisites for This Semester
- registration in a Science module and completion of Social Science
prerequisites for a Science degree. If coming in under these special
prerequisites, you will need to process a special permission form with
the Computer Science department's Academic Counsellor (sandra@csd.uwo.ca),
as this alternative is not on file with the registrars office.
Students are responsible for ensuring that they meet the prerequisite
requirements or have obtained appropriate special permission in the event
that they don't meet the formal requirements. Students not meeting
the requirements nor having the appropriate permission may be dropped
from the course as per Senate regulations.
Instructor
Robert E. Webber
Office: Room 384, Middlesex College
Office Hours: To be announced.
Phone: x86916 (prefer email, ignore phonemail)
E-Mail: webber@csd.uwo.ca (use 2080 in subject line to get best results from my spam filtering software) [note: confidential information such as marks should not be sent unencrypted; see prof regarding establishing usable encryption keys for exchanging confidential information]
Textbook, Lecture Notes
- Required textbook:
- Complex Adaptive Systems: An Introduction to Computational Models
of Social Live by John H. Miller and Scott E. Page, Princeton University
Press, 2007 (softcover was $37.45 when I bought it in 2007)
Course Website
ftp://ftp.csd.uwo.ca/pub/courses/webber/CS180/ and
http://www.csd.uwo.ca/courses/CS2080b are two different URLs for
the same course web site.
Announcements related to
the course are made on the course web pages. The assignments and
exams are marked under the assumption that students are familiar with the
material on the course web pages associated with the current semester.
Supplementary readings to the course textbook may also be posted on the
course web site.
Lecture Topics
-
- computational models in the social sciences, agent-based computational
models, NetLogo, standing ovation problem, Tiebot model for allocation of
public goods and services, emergent behavior, majority rule model,
Schilling's segregation model, beach model, city formation, adaptation,
prisoner's dilemma, organizational decision making, competiton and
cooperation, El Farol bar problem, spread of HIV, altruism, gender grouping
at cocktail parties, civil violence, spreading of rumors, student scattering
behavior, model of population genetics, small team formation, traffic jams,
voting behavior, and wealth distribution.
Class Schedule
Lectures: 3 hours (Tuesday 1:30 - 2:30 pm [TC 342], Friday 1:30 - 3:30 pm [KB K106])
Labs: 0 hours
TA Consulting Hours (to be
announced on course announcements page)
Computing Facilities
Each student will be given an account on the
Computer Science Department senior undergraduate computing facility, GAUL . In
accepting the GAUL account, a student agrees to abide by the department's Rules of Ethical Conduct .
Note: After-hours access to certain Computer Science lab
rooms is by student card. If a student card is lost, a replacement card will no
longer open these lab rooms, and the student must bring the new card to a member of the
Systems Group in Middlesex College Room 346.
Email Contact
We will occasionally need to send email messages to the whole
class, or to students individually. Email will be sent to your ITS email address (depending on which one comes with the class list). You
must make sure that you read your email on ITS on a frequent and regular basis, or have
it forwarded to an alternative email address if you prefer to read it there.
However, you should note that email at ITS (your UWO account)
and other email providers such as hotmail.com or yahoo.com may have quotas or limits on
the amount of space they can use. If you let your email accumulate there, your mailbox may
fill up and you may lose important email from your instructors. Losing email that
you have forwarded to an alternative email address is not an excuse for not knowing about
the information that was sent.
Student Evaluation
Note: there are no exams in this course.
Student assignments will be one of 5 types: critique of a reading,
description of a sample program, experiment with a sample program,
modification of a sample program, and program written from scratch.
Each type of assignment has its own maximum value. Each student is
required to do at least one assignment from each of three categories:
- critique of reading or description of sample program
(failure to hand in at least one assignment of this type would result in
a reduction of the course mark by 10 out of 100 after late penalties are
calculated)
- experiment with a sample program,
(failure to hand in at least one assignment of this type would result in
a reduction of the course mark by 15 out of 100 after late penalties are
calculated)
- modification of a sample program or a program written from scratch
(failure to hand in at least one assignment of this type would result in
a reduction of the course mark by 20 out of 100 after late penalties are
calculated)
Each student is expected to perform assignments at a steady pace throughout
the semester (as opposed to saving them all up til the end of the semester --
see late penalties). Each student is expected to do assignments with a
total maximum value between 100 and 125. Assignments are handed in as
printouts in class or at office hours.
- critique of a reading (maximum value for an assignment of this type
15 points): identification of
a thesis statement for the reading, discuss the argument the reading
presents for the thesis statement along with relevant vocabulary introduced
by the reading, key examples, and how it relates to the material covered
in class so far. possible readings include: a chapter of the textbook,
if handed in before that chapter is covered in class; an article referenced
in the bibliography of the textbook and available online; or an article
from the online journal JASSS (Journal of Artificial Societies and Social
Simulation). If there is another reading of interest to you, contact
prof regarding whether or not it would qualify for this assignment type.
Word count of the critique should be 750 words plus or minus at most 250
words (i.e., between 500 words and 1000 words with a preference toward the
middle of the range).
- description of a sample program (maximum value for an assignment of
this type 15 points): the NetLogo system comes with a number of sample
programs in the Social Science category. These programs include documentation
on the model being implemented and the source code in the NetLogo language
that implements it. A description should discuss how the code implements
the model description identifying specific variables and methods that
perform significant aspects of the task.
- experiment with a sample program (maximum value for an assignment of
this type 20 points): Many of the NetLogo sample programs in the Social
Science category are specifically
connected to a model discussed in a paper available online. Track down
the paper, read it, and perform an experiment on the associated model to
illustrate a point made in the paper (or a related point of specific
interest to you). Hand in a writeup of the experiment including
printouts of the results (usually screen shots) of running the experiment,
a short discussion of the concepts involved, and the significance of
what you found out from your experiment.
- modification of a sample program (maximum value for an assignment
of this type 20 points): take one of the sample programs in the Social
Science category, suggest a change that would be interesting to the model
that program implements, and implement the change. Handin a source listing
of the resulting program, printouts of a test run demonstrating the change,
and a discussion of how you went about implementing the change, how you
went about verifying that the change worked, and the significance of the
change.
- a program written from scratch (maximum value for an assignment of
this type is 30 points): write up a description of a social model that
you would like to create an nlogo program to implement. Drop by office
hours and discuss your model with me. If approved, implement the model
and hand in a source listing of the resulting program, printouts of test
runs demonstrating the model in action, a discussion of how you went about
implementing the model, and the significance of this particular
model's implementation.
As mentioned before, you should complete enough assignments so that their
maximum value totals between 100 and 125. Your course mark will be computed by
normalizing the score you got on each assignment handed in by the total
maximum value (for example, you your total score was 90 and the maximum
value of the assignments you handed in was 110, then you initial course
mark would be 90*100/110). If the maximum value of the assignments you handed
in total to less than 100, then your score will be normalized as if its maximum
values had totaled to 100 (i.e., if you got a score of 90 out of a maximum
of 95, then your normalized mark would be 90 * 100/100 and not 90 * 100/ 95).
If the maximum value of the assignments you handed in totals to more than 125,
then the most recent unrequired assignments will be ignored until the total
comes to less than or equal 125.
From this, late penalties and/or penalties for
failure to complete assignments of the specified type will applied.
As mentioned before, you should be doing assignments of the type described
above across the semester, which looks like:
- [1] week of Jan 3rd
- [2] week of Jan 10th
- [3] week of Jan 17th
- [4] week of Jan 24th
- [5] week of Jan 31st
- Feb 1: 30 point checkup -- see late penalties
- [6] week of Feb 7th
- [7] week of Feb 14th
- reading week -- week of Feb 21st
- [8] week of Feb 28th
- Mar 1: 60 point checkup -- see late penalties
- [9] week of Mar 7th
- [10] week of Mar 14th
- [11] week of Mar 21st
- [12] week of Mar 28th
- [13] week of Apr 4th (7th last day of classes)
- Apr 5: 100 point checkup -- see late penalties
On February 1st, you are expected to have handed in completed assignments with a
total maximum value of at least 30 points. If the maximum value of the
assignments handed in at that point total to less than 30 points, then 1/4th of
the number of points short of 30 will be subtracted from your final mark.
(for example, if you only handed in an assignment worth 20 points by
the end of the 1st of February, then 2.5 points late penalty would be
subtracted from your normalized course score. On March 1st, you are expected
to have
handed in completed assignments with maximum values that total to at least
60 points. If the maximum value of the assignments handed in at that point
total to less than 60, then 1/4th of the number of points short of 60 will be
subtracted from your final mark. On April 5th, you are expect to have
handed in completed assignments with maximum values that total to at
least 100 points. If the maximum value of the assignments handed in at that
point total to less than 100, then 1/4th of the number of points short of
100 will be subtracted from your final mark. All assignments to count
toward the course mark are to be handed in by the last class -- in the
event of major illness, etc., consult your Dean's office.
As usual, assignments and exams will be marked and returned as soon as
convenient.
As usual, final exam and final course marks will
not be made available until the department posts the final course marks
or the registrar's office makes marks available.
Exam / Essay / Test / Quiz Schedule
[NOTE: assignment due dates are tentative pending
departmental approval. If they are changed, there will be an announcement on the
course announcements page.]
- see discussion under student evaluation.
As per the Academic Calendar, students missing a final exam should
report this irregularity `immediately' to their Dean's office.
In this course, students seeking a makeup final exam are further
required to report that this is the case to their professor via
email within 3 days (72 hours) of the occurrence of the exam.
[Students in a coma for more than 3 days or with similar excuses should
seek an exemption through the Dean's office.]
The message must also include the name of the person at the Dean's office
who is handling the case. Also, the message must include a list
of all other exams the student is currently scheduled to take.
Students are expected to promptly make available to the Dean's
office whatever evidence they require to judge the situation and
be ready to take the makeup exam if the Dean's office approves
it.
Although the material covered on the makeup final exam will be the same as
the regular final exam, university regulations do not require that the format
be the same. Since the number of people taking the makeup will be fewer, it
is much more likely that the makeup will be heavily weighted toward essay-style
questions, if the original final exam was a written exam.
Note that university regulations do require taking proficiency in
English into account when assigning grades.
Assignment Schedule
- All assignments (homeworks and/or exams) will be available as soon
as possible.
- See discussion of late assignments under Student Evaluation.
Although there are many things that might happen to cause your assignment to
be late, most of them can be avoided simply by not waiting til the last minute
to do the assignment or hand it in (particularly given that multiple handins
are allowed, so you can always hand something in and then fix it up later if
time permits). So, for example, if the computer go down at 11:30pm, that isn't
really a reason for extending the midnight deadline. Make your plans accordingly.
Extensions: Extensions will be granted
only by the course instructor. If you have serious medical or compassionate grounds for an
extension, you should take supporting documentation to the office of the Dean of your
faculty, who will contact the instructor.
Ethical Conduct
All assignments and exams are individual assignments that are expected
to represent the work of the student handing them in and not the work of
others. Getting other people to help with your course work (other than
the usual clarifications provided by professor and/or TAs) lays the
groundwork for fraudulent misrepresentation of the work handed in which
is an academic offense. Acknowledging outside help does not lessen the
problem as there is no marking scheme for balancing the work between you
and others.
Assignments will be marked on both content and style.
Assignments that are judged to be the result of academic dishonesty will, for the
student's first offence, be given a mark of zero with an additional penalty equal to the
weight of the assignment also being applied. You are responsible for reading and
respecting the Computer Science Department's policy on Scholastic Offences
and Rules of Ethical Conduct.
Academic Accommodation for Medical
Illness
Keep in mind that unencrypted email is not a suitable media for
transmitting confidential or personal information, although it can be
used for setting up a meeting to discuss matters.
Note: for assignments cummulatively counting less than 5% of your mark,
you can ask the prof what ad hoc relieve he would offer. If you are
unsatisfied with that
or for situations larger than 5%, use the following official university
procedure:
- If you
are unable to meet a course requirement due to illness or other serious
circumstances, you must provide valid medical or other supporting documentation
to your Dean's office as soon as possible and contact your instructor
immediately. It is the student's
responsibility to make alternative arrangements with their instructor once the
accommodation has been approved and the instructor has been informed. In the
event of a missed final exam, a "Recommendation of Special
Examination" form must be obtained from the Dean's Office immediately. For
further information please see: http://www.uwo.ca/univsec/handbook/appeals/medical.pdf
- A
student requiring academic accommodation due to illness should use the Student
Medical Certificate when visiting an off-campus medical facility or request a
Record's Release Form (located in the Dean's Office) for visits to Student
Health Services. The form can be found here: https://studentservices.uwo.ca/secure/medical_document.pdf
Accessibility Statement
Keep in mind that unencrypted email is not a suitable media for
transmitting confidential or personal information, although it can be
used for setting up a meeting to discuss matters.
Please contact the course instructor if you require material in an
alternative format or if you require other arrangements to make this course
more accessible to you. You may also wish to contact Services for Students
with Disabilities (SSD) at 661-2111 x 82147 for any specific question
regarding an accommodation.