Data tutorial assignment sheet

This assignment is worth 25 points.

In order to apply what you’ve learned about the internet as a rich source of psychology data, your midterm assignment will be to construct a simple, step-by-step tutorial to present to our class on how to use one software package to download data from the internet, and some of the things you can do with that data once you have it in hand. What makes this a tutorial is that your document will include both code and explanations of what the code does. These tutorials will also live on the syllabus website and can be accessed after the class ends so you can conduct psychology research online on your own. You can find examples in the Resources section of this document.

Note about coding: Students often feel nervous about coding because it can feel radically different from the skills required in other courses. However, psychology research is increasingly only possible with some coding knowledge, which is why it is included in this course. If you don’t know how to code, or don’t feel confident in your coding skills, that is okay. You will not be graded on your ability to code in this course, but rather, your ability to construct a tutorial. I am available to help with all coding questions/struggles. We will also devote some time in class to basic coding principles and troubleshooting strategies.

Data tutorial assignment points breakdown

  • Rough draft with pseudocode: 5 points, due 10/6
  • Data tutorial: 10 points, due 10/17
  • Presentation: 5 points, in class on 10/17
  • Reflection: 5 points, due 10/17

Getting started

First, decide whether you want to work alone or with a partner. You may choose your partner or have me pair you with another student who is also interested in working with a partner. If you complete it with a partner, you will do the entire assignment together, as a unit (i.e., joint submissions, joint presentation), except for the reflection.

Then, decide on the software package you’d like to use. In essence, you will become an “expert” on this package, and will teach the rest of the class how to use it during your presentation. You have two options:

  • Use a pre-approved software package: In the Resources section at the bottom of this page is a list of pre-approved software packages, along with resources for using those packages. Send me your top three choices and I will do my best to assign you one of your top three (while making sure everyone in the class is working with different packages).
    • If you would like to use the rvest or beautifulsoup packages you must also specify a website you would like to work with.
  • Find a software package on your own: You may use a different package than the ones listed; just send it to me for approval. Remember that the package has to allow you to scrape/access data from the internet.

Rough draft with pseudocode

5 points, due by end of day on October 6th

As a first step in this assignment, you will hand in an outline/rough draft of your tutorial, with pseudocode. Pseudocode is a term used to describe something in between code and a regular description of what you’re doing. It’s a good first step when coding. Your rough draft should adhere to the following:

  • It must be in the correct type of document (R Markdown for R, Jupyter Notebook for Python)
  • It should describe, step by step, what you’re planning to demonstrate with your tutorial
  • Your pseudocode will include examples of functions you may use
  • You will include coding questions for me or things you are struggling to figure out, if any

I will provide you with feedback on your rough draft to ensure you are headed in the correct direction. I will also answer any questions that you include.

Data tutorial

10 points, due by class time on October 17th

This is the crux of the assignment. Your tutorial should take 5-10 minutes to complete. It should demonstrate how to use one software package to download data from the internet, and describe some examples of ways the data can hypothetically be used to answer psychological questions. You’ll likely be basing your tutorial on existing tutorials/documentation you find online; many of these tutorials are not user-friendly, especially for new coders, so it’s your job to become an expert and teach the class in a way you think makes sense. The tutorial should include a mix of code and plain text, and it should be self-contained and self-explanatory. Below, you can find some examples of submissions that would receive different grades:

  • A 10-point tutorial is in the correct type of document (R Markdown for R, Jupyter Notebook for Python) and has the steps of the tutorial clearly laid out. The tutorial has a clear flow/arc that mixes plain-text instructions/descriptions with code that demonstrates the tutorial concepts. The tutorial builds on itself, and each chunk of code is clearly explained. The tutorial includes some examples of how the package can hypothetically be used to do psychology research. The tutorial can be understood on its own, simply by reading it and running the code.
  • A 7-point tutorial is in the correct type of document and is the correct length. The narrative of the tutorial is not clear at times. It relies too heavily on either plain-text or code, and does not mix them together smoothly and evenly. Some code chunks aren’t clearly explained, or some plain-text descriptions are not demonstrated with code. The tutorial doesn’t provide any examples of how the package can be used to conduct psychology research. The tutorial occasionally doesn’t make sense without external explanation.
  • A 4-point tutorial isn’t easily accessible and/or doesn’t take 5-10 minutes to complete. The tutorial does not build on itself and is difficult to follow. It would not necessarily be useful to someone hoping to learn how to access this type of data. Code is not clearly explained and/or does not run correctly.

Presentation

5 points, in class on October 17th

In class, you will walk your peers through the tutorial you’ve created, explaining it as you go. The purpose of this part of the assignment is to give you experience teaching others about coding, while also providing your peers the ability to work with a wide variety of software packages. Remember that this is a presentation; don’t merely read what you’ve written, but explain it and clarify it if people are confused. Go slowly, and check in with the rest of the class (who are temporarily your students) as you guide them through the tutorial.

Reflection

5 points, due by class time on October 17th

Along with your tutorial, you should submit a brief (250-500 words) reflection on your experience completing this assignment. If you worked with a partner, you should each submit your own reflection. You will receive a point for adequately addressing each of the following:

  • What was your coding experience prior to this assignment, and how did you feel about coding?
  • How did you feel as you completed this assignment, and what are some examples of things that made you feel that way?
  • What were aspects of coding during this assignment that came easily to you, or that you understood right away?
  • What were aspects of coding during this assignment that you found challenging or that your struggled to understand?
  • Describe an “aha” moment during this assignment, where something that you had been struggling with finally began to make sense.

Resources

Examples

On our class server (R or Python), you can find examples of rough drafts and final drafts of this assignment under midterm_tutorials/examples. You can also find the coding practice we do in class in the coding_practice folder.

Pre-approved data sources

Decide whether you want to use a software package from R or from Python. For each package, I’ve included a link to the package’s documentation and tutorials. You’ll likely find these useful when building your own tutorial.