Syllabus: PSY 607 Data Science Methods for Psychology
Spring 2026: Wednesday 10:00am – 11:50pm in Straub 257
Welcome to our seminar! The goal of this course is to introduce you to concepts and workflows that are commonplace in “data science” more generally but are less formally discussed in Psychology. Even in the age of generative AI, it is critical to understand how analysis code is working and being deployed in service of your questions and for troubleshooting issues. The best way to learn these skills is to dive in with hands-on interactivity with practical tools you can use in your own research
We will cover topics that highlight different kinds of methods data scientists use to organize and make sense of their data. Unlike more traditional seminars, this course will consist of a series of weekly student-led tutorials and “mini-hackathons”. Though the techniques taught in the class could be applied in many other computing languages (e.g., Python, Matlab, Julia), this course will be taught using R with RStudio. As such, this course should be well suited for students of all psychology sub-disciplines hoping to expand their understanding of R beyond basic statistical procedures to include the skills discussed above, as well as more general coding and programming skills. The best way to learn these principles is to dive in deeply with hands on interactivity with practical tools you can employ in your own studies.
Where possible, I will encourage people to work with real datasets to elucidate the underlying constructs. However, it should be made clear that this is not intended to be a statistics course and we will not be going into detail about topics more pertinent to a formal statistical modeling course.
Assignments & Grading
You grade will be a weighted average of the following criteria:
50% – Tutorial presentation and hackathon leader
30% – Weekly hackathon submissions
20% – Attendance and participation
Tutorial presentation & hackathon leader
Your primary assignment for the course will be to work with me to lead a tutorial written in Quarto and design a hackathon project that highlights the topic of that week. This will involve selecting topics to focus on, writing a reproducible tutorial, and designing “mini-hack” project that your classmates will be asked to complete. I will collaborate with you in this process to ensure we are covering the most important topics, but you will be responsible for the final product.
The hackathon projects should focus on highlighting various aspects of the weekly topic as much as possible and require a *moderate* amount of work to complete (not too much, not too little). Your tutorial will be given at the beginning of class and will help to set up what your hackathon project you designed will be.
These presentations should last between 45 minutes and an hour but can go longer if there are questions. You have flexibility over how you present your tutorial. Some people walk through their tutorials line by line in RStudio. Others like to present with a power point presentation (in addition to the Quarto tutorial) to make the presentation more traditional and practice soft skills. This is fine too!
Note: You will need to discuss with me the idea for your hackathon project no later than end of the day on the Monday prior to your presentation. This is just to ensure that I think your project is on track and feasible so everything runs as smoothly as possible the day you present. Moreover, I am hoping to work with you on the project directly too, so that the presentations are appropriately comprehensive.
Hackathon submissions
Your assignment each week will be to participate in the hackathon for the weekly project. Additionally you will be required to submit this work on Canvas in the form of BOTH an Quarto document (.qmd file) that that I can use to reproduce your results and its corresponding formatted HTML file (.html) that was ‘knit’ from RStudio. This is so I can see both the ‘raw’ code and the finished analysis.
You will be evaluated on your completeness of the project and informative documentation of your code (but not on the ‘beauty’ or formatting of the code itself). If you are the presenter/leader, you are not required to turn in an assignment that week.
You must submit your hackathon work to me by Tuesday night of the following week. Late work will be docked 10% per day late.
Classroom Expectations
Because of the hackathon style of the course, it is required that you bring your laptop and charger to every class.
Unless there are special circumstances that you discuss with me prior to class, you are expected to be on time and stay the whole class.
As always, you are expected to treat your peers, instructor, and everyone else with respect. Although you are expected to produce you own work, it is understandable some parts of your code may have originated elsewhere and that is fine. However, if there is any indication that you are simply blindly copying and pasting bits and pieces of other’s work (including generative AI; see below) without an earnest effort to produce original work, may be grounds for academic misconduct.
Absences
If you are going to be absent for any reason, please notify me ASAP. You will still be responsible for submitting you hackathon project for that week. You will also be expected to stay for the entire class unless you have a valid reason that you have notified me about prior to class.
Use of generative AI
Perhaps the biggest elephant in the room for this course is the existence of generative AI and whether or not I allow folks to use it. Here is the bottom line: I encourage folks to use whatever tools necessary for them to understand the tools they are using and to help them in their work. That might mean prompting a AI agent for help at certain points. What that does not mean is using these tool to complete the mini-hackathon problems in full.
I cannot and will not be carefully policing the use of genAI for submissions of assignments. That said, if you are simply going to be using Claude, GPT, or Gemini to be doing all of your work for you, save yourself the time and take a different course.
This course is an opportunity for you to challenge yourself on the ‘under the hood’ knowledge of what these tools are doing, being able to articulate their logic, and challenge yourself to think of ways to use them creatively. You are in grad school to develop expertise in service of expanding the frontiers of knowledge, and I hope you are taking that responsibility seriously.
If you would like to read my more personal take on this issue, you can read this Substack post about this topic that I wrote last September.
Schedule
| Week/Date | Topic | Presenters |
|---|---|---|
| 1 – April 1 | Intro & logistics | Rob |
| 2 – April 8 | General programming in R | America |
| 3 – April 15 | Function writing (no class) | (no class) |
| 4 – April 22 | Data wrangling | Gretchen |
| 5 – April 29 | Data visualization | Ally |
| 6 – May 6 | Text processing | Izzy |
| 7 – May 13 | Machine learning | Fatemeh & Kayla |
| 8 – May 20 | Network analysis | Nathán |
| 9 – May 27 | Web Scraping | Shijing |
| 10 – June 3 | Package Creation | Ryan |