One of the best aspects of the computational modeling, Python, and open psych/neuroscience communities is the strong committment to developing and sharing content, tools, and knowledge to benefit trainees and other community members!

The goals of this course (as outlined in the syllabus) were:

  • Understand the following: what are computational models, why use computational models, when to use computational models, and how models are fit to data

  • Survey selected topics on social behavior through readings, discussions, and labs (e.g., Jupyter Notebook tutorials using Python)

  • Learn how to write code for data science using the Python programming language and Jupyter Notebooks

  • Fit mathematical models to data and evaluate their performance

  • Interpret the results of social behavioral experiments

  • Gain a richer understanding of how computational modeling advances psychological science and neuroscience

How to Contribute

While I tried to incorporate a diverse curriculum to introduce undergraduate students to the basics of modeling in the context of social behavior, there is still so much I left out (and still much unknown in this growing field). That being said, I would absolutely love to improve and expand the content included in this Jupyter Book to utility beyond this course, especially with your help!

Here are some ways you can help me accomplish this goal!

Submitting New Content

All new content should meet the goals listed above. To add new pages to the Jupyter Book, please complete the following steps:

  • Fork the repository

  • Create a new branch from master and begin making your edits

  • Once your edits are complete, submit a pull request to request a review of your additions/edits

The pull request should list how the new content (1) enhances the course materials and (2) meets the relevant goals. Relevant resources or readings should also be included (if applicable).

If you add new files, please adhere to the following file naming heuristic:

  • docs/Module-**-**_TutorialName.ipynb

  • docs/Module-**-**

Please also remember to add any new pages as an entry in the table of contents docs/_toc.yml, so that they are built into the Jupyter Book.

This website is hosted on GitHub and built using Jupyter Book, which creates a Jekyll website from Markdown and Jupyter Notebooks. The continuous integration workflow for building the Jupyter Book can be found here. This workflow runs (1) when a new pull request is submitted to check compatibility with the master branch and (2) any time a new change is merged to the master branch. The latter run rebuilds the Jupyter Book with the updated content.

Refer to this page for comprehensive tips on contributing to projects on GitHub.

Building the Jupyter Book Locally

Developers can build the book locally for testing. This can be accomplished by creating the Anaconda environment gu-psyc-347-jb from this YAML file locally, and then running the following commands if using MacOS or Linux (assuming that you have forked/cloned the repository):

cd gu-psyc-347
conda activate gu-psyc-347-jb
jupyter nbextension enable --py widgetsnbextension
jupyter-book build docs

Note that if you are using Windows, then you might need to run a slightly different set of commands:

cd gu-psyc-347
conda activate gu-psyc-347-jb
jupyter nbextension enable --py widgetsnbextension
runjb docs

Contributor Code of Conduct

As part of the open science community, all course contributors must promote and advocate inclusivity through a welcoming environment, giving voice to underrepresented and marginalized people, and creating means and tools in building up a healthy community. Understanding this assertion, this Code of Conduct is the expression of these values, and intends to foster a space of kindness, cooperation and empathy within this particular project and the community itself.


We as members, students, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.


This course also aims to create a welcoming environment in which the members from any diverse background can interact in positive and affirming ways. Anyone who contributes to these course materials should adhere to the following throughout our interactions:

  • Using welcoming and inclusive language

  • Demonstrating empathy and kindness toward other people

  • Being respectful of differing opinions, viewpoints, and experiences

  • Giving and gracefully accepting constructive feedback

  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience

  • Focusing on what is best not just for us as individuals, but for the overall community

Examples of unacceptable behaviour include:

  • Offensive comments related to gender, gender identity and expression, sexual orientation, disability, mental illness, neuro(a)typicality, physical appearance, pregnancy status, veteran status, political affiliation, marital status, body size, age, race, national origin, ethnic origin, nationality, immigration status, language, religion or lack thereof, or other identity marker. This includes anti-Indigenous/Nativeness and anti-Blackness.

  • Unwelcome comments regarding a person’s lifestyle choices and practices, including those related to food, health, parenting, relationships, drugs, and employment.

  • Deliberate misgendering, using inappropriate pronouns, or use of rejected names.

  • Gratuitous or off-topic sexual images or behavior in spaces where they’re not appropriate.

  • Physical contact and simulated physical contact without consent or after a request to stop.

  • Threats of violence.

  • Incitement of violence towards any individual or group, including encouraging a person to commit suicide or to engage in self-harm.

  • Deliberate intimidation.

  • Stalking or following - online or in the physical world.

  • Harassing photography or recording, including logging online activity for harassment purposes.

  • Sustained disruption of discussion.

  • Unwelcome sexual attention.

  • Patterns of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others.

  • Continued one-on-one communication after requests to cease.

  • Deliberate “outing” of any aspect of a person’s identity without their consent except as necessary to protect vulnerable people from intentional abuse.

  • Publication of non-harassing private communication, such as a physical or email address, without their explicit permission.

  • Jokes that resemble the above still count as harassment even if meant satirically or ironically.

  • Trolling, insulting or derogatory comments, and personal or political attacks.

If you have questions or concerns about these issues please contact Shawn Rhoads and share your opinions and suggestions.


Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to Shawn Rhoads or any other course maintainers responsible for enforcement. All complaints will be reviewed and investigated promptly and fairly.

Course maintainers are obligated to respect the privacy and security of the reporter of any incident. In order to protect volunteers from abuse and burnout, we reserve the right to reject any report we believe to have been made in bad faith. Reports intended to silence legitimate criticism may be deleted without response.

Enforcement Guidelines

Course maintainers will follow these guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

1. Correction

Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome.

Consequence: A private, written warning from course maintainers, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

2. Warning

Community Impact: A violation through a single incident or series of actions.

Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction withthose enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces (e.g., GitHub), learning spaces (e.g., class) as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

3. Temporary Ban

Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

Consequence: A temporary ban from any sort of interaction or public communication with the users and contributors for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

4. Permanent Ban

Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

Consequence: A permanent ban from any sort of public interaction within the community.


This Code of Conduct is adapted from the Contributor Covenant, version 2.0.

Community Impact Guidelines were inspired by Mozilla’s code of conduct enforcement ladder.

For answers to common questions about this code of conduct, see the FAQ. Translations are available here.