Term Project Details and Guidelines

Overview

All students will complete an extensive research project. This project will be ongoing during the entire course. Expect to fail if you put off your work until the last week of class.

This section provides a brief summary of expectations for the term project. Be sure to see the details below. The Initial Proposal, Detailed Proposal, and Code are group work. The Initial Experimental Design and Paper are individual work.

A short proposal and a detailed proposal are due early in the course. The code is due one week before the last day of class. The paper is due on the last day of class. Pay careful attention to the due dates. Pay particular attention to the formatting checklist.

A successful project will demonstrate an ability to substantially modify and experiment with a simple agent-based model. (Undergraduates may add modest extensions to the model and do limited hypothesis testing. Graduate students should add substantial extensions to the model and do sophisticated hypothesis testing.)

Most students will implement their term project in NetLogo. Students are expected to work in groups of two or three. (I will assign groups early in the term.) Groups work together on the project proposal, outline, and code. However, each student works alone on a term paper and produces their own individual experiments with the group model. (Name each experiment to identify the group member it belongs to.)

Students must use version control software while developing their project code. (You will learn how to do this early in the course.) Each group will have its own folder an online class repository. The folder should contain an unchanged copy of the original model, which serves only a reference function. The folder should additionally contain a modified model, which should be the only code file that group members are working on. Again, both files should be committed to the repository, but the file containing the original code should never be changed in any way. Graduate students can consider running their simulation on AU's high performance computing facility, but this is not required or graded. More detailed instructions can be found below.

Basic Considerations

For your course project, you will modify and experiment with an agent-based simulation. Plan to spend at least 35 hours on this project, spread throughout the term. Make sure that your final paper contains all of the core components, listed below.

You will use NetLogo's BehaviorSpace (or some equivalent) to export data from your simulation, which you will analyze (e.g., in a spreadsheet). You will produce a research paper that uses the ODD framework to introduce your model and then presents your analysis of the results generated by your model. I expect that you will share your paper with the class. (Contact me if you have cogent objections to sharing your paper.)

Getting Started

Pick a topic from the list of possible topics below. Try to choose a model in an area that you find substantively interesting (e.g., environmental policy, social hierarchy, economic development, transmission of inequality, historical dynamics, market dynamics). Keep your project simple enough to finish in one term! Clear your choice of model with me.

Most students will make modest modifications to an existing NetLogo model. You will experiment with your chosen model to see how your modifications affect it.

The biggest problem students have with their projects is making them overly ambitious. Finding a project that is simple enough to be doable but complex enough to hold some interest is an art. You should not expect the result to be beautiful, any more than you would expect that of your first serious attempt to paint.

Note

Some students (permission required) may attempt to replicate a published study, without having access to supporting NetLogo code. In that case, you would ideally verify that your implementation produces the same results as the original. However, many replication projects prove very ambitious for one term. In such cases, I will be perfectly happy if you implement a subset of the model features.

Term Project: Initial Proposal

Turn in a project proposal based on the list of possible topics below. Each group develops one common initial proposal for the group project. (Each individual in the group should submit an identical file.)

This initial proposal is very limited in scope. It does the following:

  • specify a specific computational model to modify or extend and experiment with,
  • state your goals in working with this model, and
  • cite one or two papers relevant to your topic,
  • cite the model source code you plan to modify

This is an early-stage proposal. Nevertheless, be as specific about your goals as possible. (Deleting the adverbs and subjective adjectives from your proposal will help you make it more specific.) Indicate which of your goals you will attempt first, and which will be accomplished if time allows. Experiments are a required part of the project, so ideally you will indicate how you hope to experiment with your model.

Page Limits: 1-2 pages (including citations).

Formatting Details: Use the formatting checklist! In particular, put the project title, group number, all names, course number, and date at top. Use author-date citation references (not footnotes), and provide full citations (not just links) in a final References section. Citations should be complete (including access dates for URLs) and should be consistently formatted. The paper should be double-spaced, with 12 point serif font and one-inch margins. Submit in the PDF file format.

Term Project: Detailed Proposal

Page Limits: 4-7 pages (including citations and any code).

Formatting Details: Use the formatting checklist!

Turn in a detailed proposal for your Term Project. Each group works together to develop a single detailed project proposal. (Each individual in the group should submit an identical file.) Be as specific as possible about your goals.

The detailed proposal must follow the ODD protocol. Your detailed proposal should demonstrate that you understand the core concepts of the ODD protocol. (See chapters 3 & 4 of Railsback and Grimm.) Not all parts of the ODD protocol are relevant to all projects; indicate which parts do not apply to your project and why. In addition, you may find it useful to create a UML class box representation of each agent type. (You may also want to use a UML class diagram to show the relationship between your agents and the agents in the original model.) You may find it useful to use a UML activity diagram to characterize the simulation schedule.

In addition, your detailed proposal must clearly distinguish between the base model (the model you start with, taken from the literature or from a models library) and the modified model (which you will create by modifying the base model). Be sure to focus on how your proposed modifications will allow you to achieve your goals with the modified model—goals that would not be achievable with the base model.

The details section will be somewhat truncated for this proposal. Specifically, you are not expected at this point to give a full description of every procedure. However, you should try to specify the details of a baseline scenario and the deviations from it that you will consider. Ordinarily, you will include a table showing the initializations of the baseline scenario.

This detailed project proposal must reference a specific model that you will change, explain your goals in selecting and changing this model, and propose how you will modify the model the model in pursuit of these goals. Be very explicit about why these extensions to the model are needed in response to your research questions. This project proposal must explicitly cite the model underpinning your project and additionally discuss and cite one paper (at the very least) that is relevant to your project, beyond any paper presenting the model. Follow the formatting checklist for instructions on the formatting of citations and citation references.

The detailed proposal is not a contract. It is just a structured overview of what you hope to accomplish. (In particular, the structure is provided by the ODD protocol.) There are many reasons you might want to make changes as you work on the project. You might find an idea that sounded simple in fact proves infeasible. Or, you might discover a more interesting question as your get more familiar with your model. That said, the earlier you can finalize your project goals, the better.

Term Project: Initial Experimental Design

Each individual submits a unique experimental design. This is not group work.

Page Limits: 2-3 pages. Rely on the Experimental Design Outline for guidance.

Use the outline to help you plan your experiment (parameter sweep description and hypotheses). You are not expected to have run your experiment at this point, so you will not have any results or conclusions (or experiement date). Your discussion of your design should reflect your careful mastery of the required readings.

Formatting Details: Use the formatting checklist!

Term Project: Code

Group work
Each group will turn in a single program file, jointly produced. (Each individual in the group should submit an identical file.) Individuals will receive credit based on their contributions to the code.
Header

Each code file should include as comments a header with the following information.

  • Group members, course identifier, and date.
  • Attribution of the underlying model to the original creator.
  • A one paragraph summary of your key additions to the original model, along with a brief explanation of the purpose of these additions.
Programming Language
Most groups will work in NetLogo. (Talk to me if your group all know another language they would like to use. Sometimes I will consider this possibility.)
Formatting
Adopt a consistent and readable formatting style for your code.
Use of Subversion:

Each group will actively maintain their code in our Subversion repository. Use of collaborative version control is required. Each group member must work on a personal version-controlled working copy of the project code. Each group member must regularly commit changes to the repository copy, as will be described in class. (Active and ongoing contributions will count towards your participation grade; do not wait until the end of the semester to make your contributions!)

To reiterate: this is a required part of the course. Every group member must learn to use Subversion in order to commit contributions to our Subversion repository. There should be only one program file (in the repository) for each group, which all group members must contribute to on a regular basis.

Please note that svn log displays the contributions of each contributor, and Subversion provides many details about what these contributions are. So although there is a single code file for each group, each group member will receive a separate grade reflecting his or her contributions.

Code Submission:

Although the program file is available to me in the repository, each group member must upload that code file to Blackboard. The same file must be submitted by each group member. If a group has three members, then I will see three identical submissions on Blackboard, which are in turn identical to what I see in the repository.

Ideally your code submission will include all of the experiments for your papers. However, you may add experiments subsequent to your code submission. Just make sure you commit to our repository any experiments that you discuss in your papers.

Comments:

Make sure your code includes many detailed, helpful, explanatory comments. Each member should uniquely label his/her comments (with initials or last name). Do not add completely obvious comments that simply repeat what each line of code says. Do add comments that will be helpful to the reader of your code, especially conceptual comments that explain what the code is doing.

At the top of your code file should be a comment that lists the group members, the course, and the date. You should also fully attribute the original model and make it clear how you will indicate your extensions in the code.

Comments should not “spill out” to the edge. Format them nicely. Longer comments should go on their own line(s). A useful rule of thumb is that any line should not be more than 80 characters in length.

Procedures:

Each procedure should include a comment giving a pithy description of what it does and how. If your procedure just moves code from the original model (e.g., out of the go procedure), then include a comment to that effect. If it is an extension, then include a comment to that effect. Each procedure should include a comment specifying its context. (In NetLogo, this is who can run the procedure.)

Strive for modularity. Long procedures should be broken up into short, easily understood procedures.

Modifications:

Clearly attribute the code you borrowed. Clearly mark your modifications (initialed; with helpful comments). Ideally, you will be able to run the original model as a base case for your extended model, making for easy comparison of results.

Modifications can be destructive, elaborative, or cleansing. Destructive changes remove existing functionality so that the model is no longer able to do some things that the model was previously able to do. It is best to avoid destructive changes. Elaborative changes extend the model in a particular direction. Group members may disagree on the best direction for elaborative changes; involve me in this case. Cleansing changes include the addition of comments, refactoring of existing procedures for readability or efficiency, and improvements of the Interface. Interface improvement is generally a low priority. The other two cleansing changes are important: I would like to see you using the good coding practices you have learned in this course to produce fully commented, easy to read code.

Tests

Try to write a test procedure for each important model procedure. It is easiest to write tests for pure functions, so use these when possible. A good set of tests is required.

A test will usually confirm that some procedure is working correctly. You have written some some code that changes things somehow. You know something about the "state" of the model before you run this code. You expect something about how the "state" of the model should change when you run the code. So you write a test that helps demonstrate that your expectations are being met.

It is easiest to write tests for reporters, especially if they are pure functions. However, we commonly write tests that test whether our setup is correct and whether things are are correct at the end of each iteration. Typically, our setup procedure will end with a testSetup procedure. It is also nice to end our go procedure with a testIteration procedure.

GUI

I am not asking you to sink much energy into the model aesthetics (shapes, colors, etc.). However you may find it useful to use color or labels or shapes to distinguish agents by their attribute values or breed. Focus on making the model as useful to you as possible. Add visual features only when that helps you understand your model.

Ideally, you will separate the GUI considerations from the rest of your model, putting them in setupGUI and updateGUI procedures.

Freeze
Once the code is turned in, the model is frozen. There should be no more changes to the model or tests after submission. However, you can continue to add BehaviorSpace experiments. (If you do, please be sure to commit them.)

NetLogo Details

BehaviorSpace

Each member will add their own BehaviorSpace experiments to the single group code file. The model experiments should be individual. Each experiment should be clearly named, and the experiment’s name should clearly indicate who created it (e.g., by prepending initials, as in ai01, ai02, etc.) All of these experiments must be present in the single group code file in the repository.

While you are certainly permitted to collect data at every step, most students will find it useful to collect data only at the end of each run.

Pure functions
Remember that a pure function in NetLogo is a reporter (or a reporter task) that does not use or modify any global variables. It is easiest to write tests for pure functions.
Startup
Be sure to provide the user of your model with a simple way to set all parameters to your baseline values.
Documentation
Include appropriate model documentation in your Info tab. If the model you are modifying already includes such documentation, put your additions at the top, and refer freely to the original documentation (that will remain below yours).

Term Project: Paper

Each student must submit an individual research paper along with documentation of the experimental data (e.g., the .csv file produced). You may draw on the detailed proposal produced by your group, as long as you cite it, but all parts of this research paper are to be individual work. There are three key check lists before your submit your paper:

You will be graded on the quality of your writing, in addition to conformity with the checklists. Write your paper so that you expect that classmates who are not in your group could readily understand it. (Do not assume that they will look at your code!) Write your paper so that exact replication of your project should be possible for someone having access only to your paper (but not to your code).

Page Limits: 15-25 pages (including citations, figure, and tables). Undergrads should write about 15 pages. Graduate students and undergrads seeking honors credit should write about 20 pages. This length includes the title page and references, as well as all charts and tables.

I am rather flexible: I care most that you produce a thoughtful and carefully written paper that reflects your hard work. But as a rough “rubric”, your research paper should include the sections below. (Each section should start with a section header in a larger font. You may also number your sections; this is recommended but ungraded.)

Core Components

Title Page

The first page of your paper should be a title page. This includes

  • the title of your paper,
  • your name,
  • the date,
  • a course identifier (naming the course and the professor), and
  • an abstract of around 200 words, which should briefly state your goals and results.
Introduction:
Briefly describe your goals for this paper. (In terms of the ODD protocol, this is essentially the “purpose” section.) If you are modifying an existing model, but sure to be very specific about which models you modify and about the purpose of your modifications. You may combine your introduction and literature review, if you wish.
Literature Review:

The object of the literature review is to provide background and context for the model and its concerns. (See the Literature Review section for more detail.) You are not required to have an extensive literature review. However you should provide an in-depth discussion at least two journal articles related to your work.

If your work is a replication or extension of a published paper, one of these articles will usually be the article that originally presented the model. If there is no supporting publication, the "article" may be no more than an Info tab.

If you want to fit your literature review into your ODD framework, I suggest that any discussions of the literature come in the Overview section. You may use a subsection entitled e.g. Review of Some Related Literature.

Model Description:

Use the ODD protocol to guide your model description. (This is required and should be much more polished than the outline you submitted.) The ODD protocol specifies the sections that you need to have in the first part of your paper, and it suggests an order in which to put them. You need not adhere rigidly to the ODD protocol. For example, you will probably want to add a “limitations and future extensions” subsection to your Conclusion. In addition, you need to clearly distinguish between the original model and your extensions. (Focus on explicating important changes, and clearly state the reasoning behind them.)

The Railsback and Grimm book presents a number of models using the ODD protocol, and you can look at those for good examples of how to do this. For example, see the presentation of the Telemarketer model of chapter 13. Additionally, be sure you have done the required reading for the ODD protocol.

Ordinarily you will use a UML class diagram when discussing your agents (in your discussion of entities). Ordinarily you will use a UML activity diagram when discussing your simulation schedule (in your process overview). Recall our discussions of how to adapt these diagrams to various languages.

Do not assume your reader has looked at your code. This description should be understandable by anyone who has taken this course, not just your group members.

Baseline Parameterization

List all model parameters in a table, along with baseline values in this table. Be sure to explain the role of each parameters. Clearly indicate the focal parameters (i.e., the one's you will vary across scenarios; the treatment variables).

A baseline is just a convenient point of reference; which is often the original model before your changes. The baseline documentation will provide one value for each parameter. If you extend a model in a way that encompasses the old model, the baseline will usually be equivalent to the encompassed model.

Remember that not all globals are parameters. Some for example are variables used to store information as the model runs. A parameter remains constant during a simulation run.

NetLogo users usually set the baseline case in a startup procedure. (However, group members may each set up a different baseline case.) NetLogo users usually introduce GUI widgets (e.g., sliders or choosers) for each focal paramter.

Experimental Design

You need to explore your model systematically. Present at least one experimental design for your model. (Be sure to show clear understanding of our discussion of the design of experiments by using the approprite vocabulary when discussing your experiments. For example, clearly distinguish between ‘experiment’, ‘scenario’, and ‘replicate’.) Each experiment you design should test a hypothesis. Explicitly state each hypotheses. Explain the reasoning you used to develop each hypothesis. and be very clear about how you intend to test it. (This means that you will include a discussion of what you will measure and how you will measure it in your presentation of your hypotheses.)

Each group member must individually design and discuss experiments. The experiments are an individual activity, not a group activity. Be sure you have done the required reading for Design of Experiments. Be sure to attach (as an appendix) a filled in Experimental Design Outline form for each experiment, but your written description should be self contained and not depend on the presence of this appendix.

Results

Present your analysis of the results produced by your experimental design. Present appropriate summary statistics. (This is required.) Present helpful charts and tables. (This is required.) You may also want to present regression results. (This is required for graduate students.) Always specify the software you used to produce your tables, charts, or regression results.

Always provide at least a paragraph of discussion of each chart, table, or regression that you present. Do your results support or contradict your hypotheses? Can you explain why you see these results in your model?

Conclusion

Your conclusion should be a separate section of your paper. This is where you get to summarize what you have accomplished. Assess the model's capabilities and what you achieved with it. Be sure you restate your hypotheses and whether or not they appear to be supported by the model. Propose directions for future research.

In a short course like this one, you should try to implement only a small number of ideas, but your project should produce many ideas for future research. Your conclusion is a good place to describe things left undone that you would like to do. These are your directions for future research.

Citations

Put your citation details on a separate page, even if you have only two citations. (Do not use footnoted citation styles.) You should provide a complete citation for each citation reference in your paper. Sort citations by the last name of the first author. Be sure your citation formatting is consistent across citations. (You may use any consistent citation style, including APA or Chicago.)

Be sure to cite the model you are modifying. If you develop model jointly with others, you may also cite the modified model, listing all contributors.

Data Analysis Supplement
Separately submit a data analysis supplement. This may be no more than a spreadsheet that produces your charts and tables, or it may be a CSV file plus a separate file containing the code used to produce your charts and tables.

Additional Considerations:

Before turning it in, please check your paper against the formatting checklist for this course. Here are some additional considerations.

Back Up
You are expected to continually back up your work. Back up at least once per hour to a separate storage location, such as an external drive or a cloud service (such as Google Drive, Dropbox, or OneDrive). Lost work due to failure to back up does not excuse non-submission.
Honors or Graduate Credit
Papers for honors or graduate credit are expected to be more detailed and sophisticated, to include more interesting hypotheses, to develop more sophisticated hypotheses, to include a more thorough data analysis (generally this should include a simple regression analysis), and to display mastery of the “advanced” required readings. Graduate students are strongly encouraged to use LaTeX or Mathematica when writing their papers, but this is not required.
Figures and Tables

It is expected that your tables will include a table of baseline parameter values. You may also want a table specifying each scenario considered. You should include a table of descriptive statistics. Tables should minimize the use of vertical lines. See the examples at https://www.inf.ethz.ch/personal/markusp/teaching/guides/guide-tables.pdf

It is expected that your figures will include at least the following: a rough UML classifier diagram of the model agent types, a rough UML diagram of the model schedule, and a scatter plot for each correlation considered. Construct your figures carefully to be maximally communicative about your model and results.

Figures and tables should appear next to the related text in your paper, not relegated to the end of the paper. Be wise in your choice of presentations. Do not use tables when figures would be more helpful. Do not use 3D figures when 2D figures are less distracting. Do not use grouped histograms when line charts would be easier to read. And so on.

Experimental Design Outline

Carefully read this outline to plan your experimental design. You will discuss your design twice: once briefly before as you plan your experiments, and once in detail in your term paper.

Header
  • Name your experiment. (Use a name that is descriptive of this particular experiment.)
  • Date your experiment. (Use the date you ran it to generate the data used in your report.)
Research Question
State the general research question(s) addressed by this experiment. In this section you should also state and justify one or more specific hypotheses, which your experiment will test.
Model name and attribution
  • Name the model used to run this experiment (which is usually the name you assigned your modification). You may include a version number or other more specific information.
  • Attribute any borrowed code (which usually includes a citation of the author of the original version of the model).
Baseline Scenario
  • Define the baseline scenario (usually as a table of names, types, and values of each parameter). If you alread reported the baseline parameterization elsewhere in your report, just refer to it here.
  • Supplement with a table listing any important exogenous constants.
Treatment Table (i.e., parameter-sweep description)
  • list of parameter names varied by the experiment
  • table of value ranges for the experiment (state the values used for each parameter)
Number of Replicates (minimum: 5)
  • How many replicates will you run for each scenario?
  • Chose the number or replicates so that you end up doing at least 100 runs of your model.
  • Is there a particular reason for your choice? (If it is just the minimum required number, say that.)
Replicability
What steps are you taking to ensure replicability? (Be explicit about how you set a different seed for each replicate. Be explicit about the stopping condition for each run.)
Outcome measures
  • Which values produced as outputs by your experiment?
  • How do you collect these values (e.g., BehaviorSpace or custom data export)?
  • How do you use the values to measure outcomes? (E.g., do you need to scale them or combine them to produce your measurable outcomes, or will the raw exported data suffice?)
Data Analysis Tools and Methods
  • Specify the tools used to analyze your data (e.g., Excel spreadsheet or Stata)
  • Specify the methods used to analyzed your data (e.g., descriptive statistics or linear regression)
Results and Interpretation
This is where the bulk of your work lies. Present and discuss tables and charts (and possibly regressions). Work seriously to analyze the behavior of your model. Develop an analysis of your the data that will help you answer your research questions. Your discussion should be detailed and substantial.
Conclusion and Next Steps
  • Based on the results and interpretation provided in the previous section, what conclusions can you draw from your experiment?
  • Does your experiment help answer your research question? Explain.
  • Did this research suggest any further questions you would like to explore?

Possible Topics

You need to extend and experiment with an existing model. (Most students will not attempt an original model; instead you will replicate and extend an extant agent-based model.) In this section, I provide some suggestions. You can choose models not mentioned in this, but be sure to discuss them with me first. Most students should resist the temptation to implement a model from scratch: make sure you have access to NetLogo code for the model you want to extend.

Opinion Dynamics

models from the NetLogo Models Library, including:

Hales and Edmonds: EthnoCultural Tag model (ECT)
https://www.openabm.org/model/4744/version/1/view
Axelrod model of ethnocentrism, e.g.,
https://www.openabm.org/model/2942/version/2/view

Disease Dynamics

HIV model from the NetLogo Models Library
Possible extensions: add sex workers; add behavior change in response to prevalence.

Prisoner’s Dilemma

N-Person Iterated Prisoner’s Dilemma from the NetLogo Models Library
Possible extensions: combine with wealth distribution model; examine the effects of resource scarcity/abundance on the optimal strategy.
Evolution of cooperation, e.g.,
https://www.openabm.org/model/3887/version/2/view
Prisoner's Dilemma models in
http://jasss.soc.surrey.ac.uk/11/3/8.html You may wish to start with the PD N-Person Iterated in the NetLogo Models Library.

Supply Chain

Artificial Supply Chain model by Alvaro Gils:
http://modelingcommons.org/browse/one_model/3378

Literature Review

What Is a Literature Review?

An annotated bibliography briefly summarizes each article that you have reviewed. A literature review is different: in addition to summaries, it is a critical analysis. This critical analysis should show how the literature you review is inter-related and relates to your research question.

Step-by-step guide

For detailed guidance, see Galvan (2006). Here we limit discussion to some key points and add some course-relevant details.

Identify the literature that you will review:

Snowballing
Once you have one good article, work forward and backward from its references.
Online databases
Use relevant databases, including Google Scholar.

Analyze your articles

Once you have identified and located the articles for your review, you need to analyze them and organize them before you begin writing:

Overview the articles:
Skim each article to determine the general purpose and content. (Focus your reading here on the abstract, introduction and first few paragraphs, and the conclusion of each article.) Tip: as you skim the articles, you should record your notes (see blow).
Categorize each useful article
Classify by topic and subtopic, and chronologically within each subtopic.

Take notes:

Decide on the format in which you will take notes as you read the articles

  • word processor
  • text editor
  • outliner
  • concept mapping program
  • data base program (e.g. Access)
  • spreadsheet (e.g., Excel or Calc)
  • note cards (the "old-fashioned" way)
key concepts:
look for the key concepts in the literature
key terms:
look for differences in the way keys terms are defined (note these differences).
key statistics
look for numbers you may want to cite in the introduction to your review.
useful quotes

use a small number of quotes to illustrate key concepts, terms, and statistics

be sure to note the page number so you can provide a complete citation in your review.

emphases, strengths & weaknesses:
your review is not a mere summary of your articles, but rather a critical analysis that makes sense of the collection of articles that you are reviewing. Critique the research methods and arguments used in the studies, and distinguish between assertions of opinion and evidence-based research findings.
generalizations
try to find generalizations across articles that you can use to organize your review
lacunae
Identify gaps in the literature, and explore why these might exist
landmarks
Identify landmark studies, which lead to subsequent studies in the same area.

Summarize the literature in table or concept map format

Galvan (2006) recommends building tables as a key way to help you overview, organize, and summarize your findings, and suggests that including one or more of the tables that you create may be helpful in your literature review. If you do include tables as part of your review each must be accompanied by an analysis that summarizes, interprets and synthesizes the literature that you have charted in the table.

Examples of tables that may be relevant to your review:

  • Definitions of key terms and concepts.
  • Research methods
  • Summary of research results

Synthesize the literature prior to writing your review

Using the notes that you have taken and summary tables, develop an outline of your final review. The following are the key steps as outlined by Galvan (2006: 71-79)

Purpose and voice
Before beginning to write, clarify the purpose of your paper and your intended audience. Here, your literature review should provide a helpful overview of the topic you chose at a level appropriate to your target audience. In the process, you will demonstrate mastery of key works and concepts.
Note-taking strategy
You need to organize and coherently present your findings. A literature review is not series of annotations. It is a coherent narrative.
Outline
Create an outline of your argument, beginning with your thesis, and followed by an explanation and justification of your thesis. You may find mind mapping software helpful at this point.

Reorganize your notes according to the path of your argument

  • Within each topic, plan to discuss differences among studies.
  • Within each topic, plan to highlight areas needing more research.
  • For each key study, plan to discuss how it changes our understanding.
  • Plan to present conclusions and implications (by section and for the whole review)
  • Flesh out your outline with details from your analysis

Write the review

  • Identify the broad problem area
  • indicate why the topic being reviewed is important
  • Distinguish research findings from other types of information.
  • Indicate why landmark studies are considered important, and mention successful or failed replications.
  • Cite all relevant references.
  • Use subheadings, especially in long reviews.
  • Use transitions to help trace your argument.
  • Your conclusion should briefly retrace the path of your argument.
  • Suggest directions for additional research, being as specific as possible.

Selected Resources

Galvan, J. (2006). Writing literature reviews: a guide for students of the behavioral sciences (3rd ed.). Glendale, CA: Pyrczak Publishing.

Review of Literature: University of Wisconsin - Madison The Writing Center. https://writing.wisc.edu/Handbook/ReviewofLiterature.html

Write a Literature Review: University of California, Santa Cruz University Library. http://guides.library.ucsc.edu/write-a-literature-review

Information Fluency and Quantitative Analysis: Literature Review by Washington & Lee University http://info.wlu.edu/literature_review/literature_review.html

Mongan-Rallis, Helen (2014). Guidelines for writing a literature review http://www.duluth.umn.edu/~hrallis/guides/researching/litreview.html

Formatting Checklist

Title Page
The first page should begin with a title, identification of the author(s), any needed attributions (e.g., to classmates), course identification (by course number), and the date. Author identification is simply your name for individual work; for group work, it is your group number and all member names. Attribution is for anyone else who helped, and when code is involved cites the creators of any borrowed code. For group work, each member should submit the same document.
Experiments
When you report experimental results, carefully follow the experimental design outline.
Citation References
Use author-date citation references (not footnotes) in the text. Every citation reference in your text should have a corresponding citation in the References section. (Be sure to cite the original model and your data-analysis software.)
Citations
Provide full citations (not just links) in a final References section, which must be consistently formatted in the style of your choice. If your citation includes a URL, include an access date for that URL. Every citation in your References section should have at least one corresponding citation reference in the text.
Attribution
Avoid plagiarism: you must quote literal quotations and cite paraphrases. Also, be sure to acknowledge any classmates who worked with you or otherwise helped you.
Page Limits
The paper should be double-spaced with one-inch margins. Request permission if you are outside the page limits.
File Format
Submit in the PDF file format. (Do not submit propriety word processor formats. Almost all word processors can easily export documents in PDF format.)
Spelling, Grammar, and Polish

You are expected to spell check your document before submitting it. Also, please use a grammar checker if one is available. (Most word processors include some kind of grammar checker.) I recommend that periods be followed by two spaces, in accord with the 6th edition of the APA style guide, but this is not required.

I expect the paper to be well organized and polished. Try to avoid passive voice, run-on paragraphs, and any pretence to know things you do not (see [oppenheimer-2006-acp]). Avoid both colloquialism and pointlessly elevated diction. If you are not a native English speaker, ask an English speaker to read over your paper. Unless you are a skilled writer, you should bring a draft of your paper to the Writing Center.

A widespread example of an inappropriate attempt to elevate diction is using ‘impact’ instead of ‘affect’. Save ‘impact’ for describing meteors hitting the earth or other actual impacts.

Writing Practices
You are engaged in scientific writing. It should be well organized and as specific as possible. (Create a detailed outline before writing! Avoid generalities!) Limit the use of modifiers (i.e., adjectives and adverbs), and avoid subjective modifiers altogether. Make sure that you write in the active voice.
Figures and Tables
Figures should be numbered consecutively. Refer to figures by their numbers. Tables should be numbered consecutively. Refer to tables by their numbers. Each figure and table should include a helpful caption and enough notes so that a reader can readily understand it without repeatedly referring to the surrounding text.
Formatting Style

Use a consistent style throughout the paper. If you are using a word processing programming, you should achieve style consistency by actively using styles.

Resources:

Indentation
Indent paragraphs; you may except the first paragraph of a section. Do not indent section headings; set them apart by adopting a distinct style (e.g., a larger font or different color).
Fonts
Use a serif font such as Georgia, Times New Roman, or New Baskerville. (Note that the current default font in Microsoft applications is Calibri, which is not a serif font, and is therefore not suitable for a term paper.) Use a 12 point font in the body of the paper. (Use a smaller font for tables whenever needed.) Set any code in your paper in a distinct, monospaced font, such as Courier New or Andale Mono.
[klabunde.willekens-2016-ejp]Klabunde, Anna, and Frans Willekens. 2016. Decision-Making in Agent-Based Models of Migration: State of the Art and Challenges. European Journal of Population 32, 73--97.
[oppenheimer-2006-acp]Oppenheimer, Daniel M. 2006. Consequences of Erudite Vernacular Utilized Irrespective of Necessity: Problems with Using Long Words Needlessly. Applied Cognitive Psychology 20, 139--156.