HONR 300/CMSC 491
Project and Paper Guidelines

Prof. Marie desJardins
February 25, 2016

NetLogo Project

For this assignment, you will create or extend a model of some complex system. This system may be either something that is observed in the physical world (like a biological or social system), or an abstract mathematical model (such as a fractal or a cellular automaton like the Game of Life).

In accordance with the weights selected by the student vote at the beginning of the semester, the NetLogo project counts for 19.25% of your course grade.

Milestones and Deadlines:
Thu 4/7NetLogo project due
Tue 4/12, Tue 4/18NetLogo project presentations

HONR 300: Choose an existing NetLogo model from the Models Library, or from the Community Models on the NetLogo website. Extend this model to include at least one additional aspect of the real-world phenomenon, or to introduce at least one interesting variant of the abstract/mathematical system if your model is not a real-world system. (As always, you are welcome to do the CMSC 491 assignment and develop your model from scratch. Also, if you wish to connect this assignment to your term paper, you can either choose an appropriate NetLogo model if one exists, or develop a model from scratch.)

CMSC 491: Create a NetLogo model from scratch. The complex system that you choose for this project must be different than the system you will model for your final paper. They can be related (e.g., you may decide to model a global weather system for this model, and to develop an independent model of hurricane formation for your final paper), but should be written separately and the "code base" (procedures) should not overlap.

HONR 300 and CMSC 491: Write a report that discusses how your model behaves, and how well it appears to reflect the phenomenon it purports to model. I expect this report will be around 2 pages for the HONR 300 students and perhaps 3-4 pages for the CMSC 491 students. You may have a desire to go into more detail, or to include more graphics/results, and that's fine too.

Your report should be a well organized and structured document that provides thoughtful answers to the following questions:

You don't need to -- and probably shouldn't -- answer these questions in this order, but the answers to all of the questions should be readily discerned from your report.

You should also submit your model (the .nlogo file) through the Blackboard "NetLogo Project" assignment. The model should include documentation in the form of comments within the model (in the "Procedures" tab) and an overview of the model in the "Information" tab.

IMPORTANT NOTE: If you extend/modify an existing model, or incorporate any code or ideas from an existing model, you must clearly indicate which parts of the model are your new contributions and which parts are existing. If the model is entirely your own, then you can just say that once at the top of the Information and Procedures tab without having to mark each code block separately.

Presentation: Each student will give a 5-minute demonstration of their model to the class. This presentation should include a brief description of what real-world system is being modeled, the main elements of the system, the forms of complexity it exhibits, and the main behaviors of the system. This presentation counts for 30% of your "Presentations" grade (which is 6.5% of your overall grade; so the project presentation is worth 1.95% of your final grade for the class).

Term Paper/Project

For the term paper, you will identify a real-world complex system and explore it in more depth, analyzing the sources of complexity that exist in the system and the nature of the resulting system behavior.

The term paper/project counts for 16% of your course grade. That grade is further broken down by the individual deliverables, as shown in the table below.

Milestones and Deadlines:
Tue 3/22Topic paragraph due5% of project grade
Tue 4/5Annotated bibliography due5%
Thu 4/14Outline and model design (CMSC 491) due5%
Thu 4/28Paper draft due5%
Thu 5/5Peer reviews due5%
Thu 5/5, Tue 5/10, Thu 5/12Presentations70% of Presentations grade (i.e., 4.55% of overall course grade)
Mon 5/14Final paper and model (CMSC 491) due75% of project grade

HONR 300 and CMSC 491: Investigate the real-world system that you have identified by performing a thorough literature survey of scientific investigations of that system. You will probably also find that you need to locate and read more background material on specific course topics. For example, if you choose climate change and global weather as your complex system, then you will obviously need to gather information from meteorological books and journals, but you may also want to look into existing computational weather models, as well as reading in more depth on chaos theory and how it relates to weather prediction.

CMSC 491 only: Create a computational model of the real-world system you have chosen to investigate. (This model may be in NetLogo, or it could be a standalone model in the language of your choice -- anything from Python to Matlab.) The model should be designed and implemented by you, from scratch. You must obtain explicit permission from Dr. desJardins if you wish to incorporate existing model fragments or methods. This model should not overlap with your NetLogo Project model, although it may be on a related topic, as discussed earlier.

Milestones: I have broken up the paper into a series of milestones that are due on particular dates. The purpose of these milestone assignments is threefold: first, to make sure that you distribute the time for the assigment over the next two and a half months (instead of doing everything at the end); second, to give me several opportunities to provide input and feedback on your paper/project plans; and third, to provide more opportunities to polish your writing skills.

This should go without saying, but all of the milestones (like every assignment submitted for the class) should adhere to the class academic honesty policy. All writing that you submit should be your own, other than clearly delineated quotes with proper references. (Heavy use of quotes very often reflects a lack of independent thinking, so you should use quotes judiciously and only when you need to capture exactly what another author said.) I prefer it if you use parenthetical references of the form "(Author Year)" - e.g., "(Smith & Jones 2005)" or "(Park et al. 1942)" (for more than two authors). In general, you do not need to include page numbers in your references (although you do need page numbers in the bibliography for articles and the like) -- they just clutter up the reference and are not standard in computer science publications.

Please refer back to my Writing Tips document and try to avoid my pet peeves (in citations as well as in your writing in general)!

Topic paragraph: On Tuesday 3/22 (when we return from spring break; note this is also the day of the midterm!), you must turn in a short summary of your intended topic: that is, what complex system you plan to study, and what are some of the reasons why you think this will make an interesting system to investigate. The topic paragraph is just meant to be a single short paragraph, but of course, you can always feel free to write more if the muse inspires you. Topic paragraphs should be submitted by email, in plain text (not as an attachment).

Annotated bibliography: Once you have chosen your complex system to study, you'll need to start researching sources of information about that system. You must submit an annotated bibliography on Tuesday 4/5 (two weeks after the topic paragraph). This should be a list of at least five solid sources with information about your system, with short (1-3 sentence) annotations about the type of information that the source includes.

By solid source, I mean a book; peer-reviewed technical article in an academic journal; newspaper or magazine article in an "establishment" publication (i.e., a professional print publication, not an online blog or open-source website); or professional organization website (such as the American Medical Association or the American Meteorological Society). (It's fine to access these sources online, in the library electronic collections, Google Books, or wherever you are able to find them.) Beyond the five required "solid" sources, you may have as many additional sources as you like, as long as they are reasonably authoritative (wikipedia articles are OK with me; Yahoo! Answers is not!).

Your bibliography should be neatly and consistently formatted, single-spaced (with blank lines between sources) using MLA style or another neat, compact formatting. (A page describing MLA style can be found at http://www.aresearchguide.com/12biblio.html.) Annotations should be italicized, indented paragraphs immediately following the citations. (To be honest, I really don't care a lot about specifics of formatting -- such as whether you underline or italicize names of books and articles -- but I've noticed that a lot of high school teachers seem to teach students to create very ugly, hard-to-read, double-spaced bibliographies with a lot of extraneous material. So keep it professional and keep it simple.)

Outline and model design: By Thursday 4/14 (a week and a half after the annotated bibliography is due), you should have learned enough about your system to have some initial thoughts about the agents, interactions, environment, sources of complexity, etc. You should also have started to think about what is interesting and relevant about your system for this class, and how you want to organize your paper. You must turn in a one- to two-page outline that shows your intended organization and main topics. Please stick to no more than two levels (top-level sections and subordinate ideas within the levels). I don't care whether you use short phrases or full sentences in the outline -- whatever will help you organize your thoughts and prepare to write the final paper.

At this time, CMSC students must also turn in a short (less than one page) description of the key elements that you plan to include in your implemented model. This requirement is mostly to make sure that you've thought through the main "moving parts" of your system and how you will model them, either in NetLogo or some other programming language/environment. (Feel free to turn this document in earlier if you want to start implementing earlier and would like feedback.)

Draft paper: You must submit a complete draft of your paper on Thursday 4/28 (two weeks after the outline is due). I will emphasize it again: this should be a complete draft of your paper. It should be polished enough -- and you should feel confident enough about the contents, organization, and grammar -- that you feel that it could be a final draft. That means that you should have finished a rough draft at least a week before this time, so that you have time to revisit and revise it, polishing it into a solid paper. You should not just write something and then turn it in; the draft should be the result of your own writing and rewriting process.

Since this is a fairly long paper, it should be organized into sections the way that a scientific paper would be, with section titles (and subsections if appropriate) that help the reader to follow the flow of the paper and identify the main sections. CMSC students should include a section that describes their model and the ways in which it is -- or is not -- faithful to the real-world system. You may also want to include some screenshots or results (data tables, graphs), but this is not a requirement.

The paper should include a bibliography (you don't need the annotations for this bibliography, though). It should include only the sources that you actually used, which means you may end up dropping some sources that weren't that useful and adding new ones. I still expect that there will be at least five solid sources, and will be somewhat surprised if I don't see more -- but I don't have a specific target nubmer that I'm looking for. (Some of you will find a few really authoritative sources, plus maybe a few supplementary articles; others will need to cover a lot of ground to get a good understanding of your system.)

This first submitted draft should be turned in as a hardcopy, and you must bring three copies to class: one for me, and two that will be distributed to other students for peer review. Please include your email address in the header of your paper, since peer reviews will be sent by email. I strongly prefer 1.5- or double-spaced drafts so that I have room to write comments. (My handwriting isn't that good even when I have plenty of space, so believe me, you don't want to try to read my comments written between single-spaced lines!) If you want to save paper, feel free to print double-sided and/or provide single-spaced versions for the peer reviews. As always, each copy should be stapled together!

Peer reviews: You will be given two other students' papers to review and comment on, using a review form that I will provide. The peer review is counted as part of your project grade, so you should take this step seriously. (Besides, you'd probably like to get constructive, thorough, and useful reviews from your peers, and it's always good to do unto others as you would have them do unto you!) You should email your review to the other students by the deadline (Thursday 5/5, one week after the drafts are submitted), and cc me on the messages. I will also hand back your graded drafts, with general comments, by Thursday 5/9.

Final research paper: The final paper is due at the beginning of the exam slot (Thursday 5/12 at 8:00am), when we will also have student presentations. The final paper should incorporate the feedback that you receive from the peer reviews and from me. I prefer that the final paper be single-spaced to save paper.

Project Presentations: In the last two regular classes (Thursday 5/5 and Tuesday 5/10) and during the final exam slot (Thursday 5/12, 8:00-10:00), students will give 10-minute presentations on their research paper (and, for CMSC students, their implemented model). More details about the expectations for these presentations will be distributed separately.